Isishwankathelo
I-DNS API ibonelela ngolawulo olupheleleyo lweendawo ze-DNS kunye neerecords. Zonke iindawo zibekwe kwi-VPS.org's iiseva zegama eligunyazisiweyo ngokwenza ngokuzenzekelayo i-BIND9 zone file generation kunye nokubekwa.
Igama leseva
ns1.vps.org (38.248.6.195) - Umphathi ophambili one-DNSSEC inline-signature
ns2.vps.org (38.248.6.196) - I-slave yesibini
ns3.vps.org (38.248.6.197) - I-slave yesibini
Iimpawu eziphambili
Ukwenziwa kunye nokubekwa ngokuzenzekelayo kweefayili zendawo ye-BIND9
Iindawo zokudlulisa nge-TSIG yobubhali (ukuphindaphinda komphathi-umkhonzi)
Inkxaso kuzo zonke iintlobo ezinkulu ze-DNS (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA)
Igama lethambeka lokucoca ulwelo kunye nochazo lwendawo olusekelwe kwi-UUID
Iindlela ezifakelweyo zolawulo lwerekhodi ekhethekileyo yendawo
Uqinisekiso
Zonke izicelo ze-DNS API zifuna ubungqina be-Bearer token. Yenza i-API tokens kwi-dashboard ye-akhawunti yakho kwi /account/developers/ ngezimvumelwano ezilandelayo:
dns:list - Bonisa imimandla ye-DNS kunye neerekhodi
dns:create - Dala iziqithi ezintsha kunye neerecords
dns:update - Tshintsha imimandla esele ikhona kunye neerekhodi
dns:delete - Cima imimandla neengxelo
dns:* - Ufikelelo olupheleleyo lolawulo lwe-DNS
Umzekelo
Authorization: Bearer vps_abc123def456...
Ebalulekileyo: I-API tokens iboniswe kuphela kabini ngexesha lokudala. Gcina ngokukhuselekileyo. Ukuba ulahlekelwa yi-token, kufuneka udale enye entsha.
Dwelisa Zonke iiNdawo zeDNS
Fumana uluhlu olushicilelweyo lwazo zonke iindawo ze DNS ezikhoyo kumsebenzisi oqinisekisiweyo. Inkxaso yokucoca ngegama lethambeka.
IiParamitha zoMbuzo
Iparamitha
Uhlobo
Kufuneka
Inkcazelo
domain
string
Akukho nanye
Filter zones by exact domain name (e.g., example.com)
Isicelo somzekelo
curl -X GET "https://admin.vps.org/api/v1/dns-zones/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
& Khuphela
import requests
url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.get(url, headers=headers)
print(response.json())
& Khuphela
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
headers: {'Authorization': 'Bearer YOUR_API_TOKEN'}
});
const zones = await response.json();
console.log(zones);
& Khuphela
Impendulo yoMzekelo
[
{
"uuid": "abc123-def456-ghi789",
"domain": "example.com",
"created_at": "2024-01-15T10:30:00Z",
"record_count": 12
},
{
"uuid": "xyz789-uvw456-rst123",
"domain": "myapp.io",
"created_at": "2024-06-20T14:15:00Z",
"record_count": 8
}
]
IiNdawo zeMpendulo
Iindawo
Uhlobo
Inkcazelo
uuid
string
Unique zone identifier (used in API requests)
domain
string
Domain name for this DNS zone
created_at
datetime
Zone creation timestamp (ISO 8601 format)
record_count
integer
Total number of DNS records in this zone
Iikhowudi zeMeko yokuphendula
200
Successfully retrieved DNS zones list
401
Unauthorized - Invalid or missing API token
403
Forbidden - Token lacks dns:list permission
Fumana Iinkcukacha Zommandla we DNS
Fumana ulwazi oluthe kratya malunga nommandla okhankanyiweyo we DNS, kuquka zonke izingeniso.
Iiparameter zeNdlela
Iparamitha
Uhlobo
Kufuneka
Inkcazelo
uuid
string
Ewe
Unique zone identifier
Impendulo yoMzekelo
{
"uuid": "abc123-def456-ghi789",
"domain": "example.com",
"created_at": "2024-01-15T10:30:00Z",
"record_count": 5,
"records": [
{
"uuid": "rec-001",
"record_type": "A",
"name": "@",
"value": "192.0.2.1",
"ttl": 3600,
"priority": null,
"created_at": "2024-01-15T10:30:00Z"
},
{
"uuid": "rec-002",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2024-01-15T10:32:00Z"
}
]
}
Iikhowudi zeMeko yokuphendula
200
Successfully retrieved zone details
404
Zone not found or not owned by user
Yenza i DNS
Yenza indawo entsha ye DNS yethambeka. Indawo izakubekwa ngokuzenzekelayo kumamkeli wegama angama-VPS.org.
Cela iiParamitha zoMzimba
Iparamitha
Uhlobo
Kufuneka
Inkcazelo
domain
string
Ewe
Domain name (e.g., example.com)
Isicelo somzekelo
curl -X POST "https://admin.vps.org/api/v1/dns-zones/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "newdomain.com"}'
& Khuphela
import requests
url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
data = {"domain": "newdomain.com"}
response = requests.post(url, headers=headers, json=data)
print(response.json())
& Khuphela
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({domain: 'newdomain.com'})
});
const zone = await response.json();
console.log(zone);
& Khuphela
Impendulo yoMzekelo
{
"uuid": "new-zone-uuid",
"domain": "newdomain.com",
"created_at": "2026-01-18T16:45:00Z",
"record_count": 0,
"records": []
}
Iikhowudi zeMeko yokuphendula
201
DNS zone created successfully
400
Bad Request - Invalid domain name or zone already exists
403
Forbidden - Token lacks dns:create permission
Cima i DNS
Cima ngokusisigxina ummandla we DNS kunye nazo zonke iirekhodi ezidityanisiweyo. Esi senzo asikwazi ukubuyiselwa.
Iiparameter zeNdlela
Iparamitha
Uhlobo
Kufuneka
Inkcazelo
uuid
string
Ewe
Unique zone identifier
Iikhowudi zeMeko yokuphendula
204
Zone deleted successfully (no response body)
403
Forbidden - Token lacks dns:delete permission
404
Zone not found
Uluhlu lweeRekodi ze DNS kwiZiko
Fumana zonke iirekhodi ze DNS zendawo ekhankanyiweyo (umendo obekwe ngokulandelelana).
Iiparameter zeNdlela
Iparamitha
Uhlobo
Kufuneka
Inkcazelo
uuid
string
Ewe
Zone UUID
Isicelo somzekelo
curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Impendulo yoMzekelo
[
{
"uuid": "rec-001",
"record_type": "A",
"name": "@",
"value": "192.0.2.1",
"ttl": 3600,
"priority": null,
"created_at": "2024-01-15T10:30:00Z"
},
{
"uuid": "rec-002",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2024-01-15T10:32:00Z"
}
]
Yenza i DNS Record kwi Zonke
Yongeza i-record entsha ye-DNS kummandla okhankanyiweyo (umendo obekwe ngokulandelelana).
Cela iiParamitha zoMzimba
Iparamitha
Uhlobo
Kufuneka
Inkcazelo
record_type
string
Ewe
Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name
string
Ewe
Record name (@ for root, subdomain, or FQDN)
value
string
Ewe
Record value (IP address, hostname, text)
ttl
integer
No
Time to live in seconds (default: 3600)
priority
integer
For MX/SRV
Priority (required for MX and SRV records)
Isicelo somzekelo
curl -X POST "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"record_type": "A",
"name": "www",
"value": "192.0.2.1",
"ttl": 3600
}'
& Khuphela
import requests
url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
data = {
"record_type": "A",
"name": "www",
"value": "192.0.2.1",
"ttl": 3600
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
& Khuphela
Iikhowudi zeMeko yokuphendula
201
DNS record created successfully
400
Bad Request - Invalid parameters or validation error (e.g., MX record missing priority)
Iifayile ze- DNS
Imisebenzi epheleleyo ye-CRUD kwi-DNS ebhalisiweyo nganye usebenzisa i-UUID yoshicilelo.
Imisebenzi Efumanekayo
GET /api/v1/dns-records/{uuid}/ - Retrieve record details
PUT /api/v1/dns-records/{uuid}/ - Full update (all fields required)
PATCH /api/v1/dns-records/{uuid}/ - Partial update (only changed fields)
DELETE /api/v1/dns-records/{uuid}/ - Delete record
Iiparamitha Zombuzo (ukufumana /api/v1/dns-records/)
Parameter
Uhlobo
Inkcazelo
zone
string
Filter records by zone UUID
record_type
string
Filter by record type (A, AAAA, MX, etc.)
Umzekelo: Hlaziya i TTL ye Record
curl -X PATCH "https://admin.vps.org/api/v1/dns-records/{rec-uuid}/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ttl": 1800}'
Supported DNS Record Types
Uhlobo
Purpose
Example Value
Priority Required
A
Maps domain to IPv4 address
192.0.2.1
Akukho nanye
AAAA
Maps domain to IPv6 address
2001:0db8::1
Akukho nanye
CNAME
Creates alias to another domain
example.com
Akukho nanye
MX
Mail server for domain
mail.example.com
Ewe
TXT
Text record (SPF, DKIM, verification)
v=spf1 include:_spf.google.com ~all
Akukho nanye
NS
Nameserver delegation
ns1.example.com
Akukho nanye
SRV
Service location record
10 5060 sip.example.com
Ewe
CAA
Certificate authority authorization
0 issue "letsencrypt.org"
Akukho nanye
Iinkqubo ezilungileyo
Uqwalaselo lwe TTL
Ukwenza (ozinzileyo): 3600- 86400 imizuzwana (1- 24 iiyure)
Phambi kokungatshintshi: 300- 600 imizuzwana (5- 10 imizuzwana) - Nciphisa i TTL phambi kotshintsho olucwangcisiweyo
Uphuhliso: 300-1800 imizuzwana (5-30 imizuzwana) uvavanyo olukhawulezayo
Iipateni Eziqhelekileyo
Igama lethambeka lengcambu (@): Sebenzisa i-A/AAAA iirekhodi, hayi i-CNAME
Ithambeka elingaphantsi le www: Isebenzisa i-CNAME ebonisa ingcambu okanye i-A ye-record ehlukileyo
I-imeyile (MX): Soloko ufaka ukuqala kuqala, inani eliphantsi = ukuqala kuqala okuphezulu
CNAME: Ayikwazi ukuqhubeka nokusebenza nezinye iintlobo zerekhodi ngegama elifanayo
Ukhuseleko
Ii-CAA Records: Chaza ukuba zeziphi i-CAs ezikwaziyo ukunikezela ngesiqinisekiso
SPF/DKIM/DMARC: Qwalasela ubungqina be-imeyili ukuthintela ukudubula
Iinkqubo zolawulo Khangela iirekhodi ze-DNS ngeveki, susa izingeniso ezingasebenziyo
Imposiso Yophatho
Imposiso eqhelekileyo
Ikhowudi yeSimo
Imposiso
I-Solver
400
Igama lethambeka elingasebenziyo
Qinisekisa ukuba indawo ilandela i-DNS isebenzisa imithetho yokufaka amagama
400
I-MX record ifuna ukuqala kuqala
& Iinketho priority indawo ye-MX ne-SRV
401
I-API token engasebenziyo
Khangela ifomati ye-token (imele iqale nge vps_)
403
Iimvume ezilahlekileyo
Dala i-token entsha ene-required dns:* Iimvume
404
I-zone/i-record ayifumanekanga
Qinisekisa i-UUID kwaye uqiniseke ukuba umthombo uyinxalenye ye-akhawunti yakho
Umzekelo Wempendulo Yemposiso
{
"detail": "MX records require a priority value",
"error_code": "validation_error",
"field": "priority"
}
Uvavanyo lwe DNS Iinguqu
Qinisekisa Unikezelo Lwerekhodi
# Query A record
dig example.com A
# Query specific nameserver
dig @ns1.vps.org example.com
# Query MX records
dig example.com MX
# Check all records
dig example.com ANY
Ukusebenzisa Izixhobo Zonxibelelwano
whatsmydns.net: Check global DNS propagation
dnschecker.org: Multi-location DNS lookup
mxtoolbox.com: Email-related DNS testing