Oorsig
The DNS API provides full management of DNS zones and records. All zones are hosted on VPS.org's authoritative nameservers with automatic BIND9 zone file generation and deployment.
Name bediener Infrastruktuur
ns1.vps.org (38.248.6.195) - Primêre meester met DnsC inline- signing
ns2.vps.org (38.248.6.196) - Sekondêre slaaf
ns3.vps.org (38.248.6.197) - Sekondêre slaaf
Sleutelbronne
Outomatiese BinD9 sone lêer geslag en ontplooiing
Zone oordragte via TSIG geldigheidsverklaring (meester- slaaf replisering)
Ondersteuning vir al die groot DNS - platetipes (' n AA, AAAA, CNAME, MX, TXT, NS, SRV, CAA)
Domeinnaam filtrering en UUID-gebaseerde sone- identifikasie
Geneste roetes vir sone-spesifieke rekordbestuur
Verifikasie
Alle Dns API versoeke vereis Beer-bewys geldigheidsverklaring. Genereer API seins van jou rekening paneelbord na /account/developers/ met die volgende regte:
dns:list - Bekyk DNS-sones en verslae
dns:create - Skep nuwe tydsones en rekords
dns:update - Verander bestaande sones en rekords
dns:delete - Uitvee die areas en rekords
dns:* - Aol Oombliklike Boodskapper KliÃ"ntComment
Voorbeeld
Authorization: Bearer vps_abc123def456...
Belangrik: As jy 'n teken verloor, moet jy 'n nuwe een voortbring.
Lys alle DNS-sones
Onttrek 'n lys van alle Dns sones wat deur die verifieerde gebruiker besit word. Ondersteune filtrering van domein naam.
Navraagparameters
Parameter
Tipe
Vereis
Beskrywing
domain
string
Nee
Filter zones by exact domain name (e.g., example.com)
Voorbeeldversoek
curl -X GET "https://admin.vps.org/api/v1/dns-zones/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
KopiÃ"er na hierdie gids
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())
KopiÃ"er na hierdie gids
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);
KopiÃ"er na hierdie gids
Voorbeeldantwoord
[
{
"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
}
]
Antwoordvelde
Veld
Tipe
Beskrywing
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
Reaksiestatuskodes
200
Successfully retrieved DNS zones list
401
Unauthorized - Invalid or missing API token
403
Forbidden - Token lacks dns:list permission
Kry DNS-sonebesonderhede
Onttrek breedvoerige inligting oor'n spesifieke DNS - sone, insluitende al die verslae.
Padparameters
Parameter
Tipe
Vereis
Beskrywing
uuid
string
Ja
Unique zone identifier
Voorbeeldantwoord
{
"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"
}
]
}
Reaksiestatuskodes
200
Successfully retrieved zone details
404
Zone not found or not owned by user
Skep Dns Zone
Create a new DNS zone for a domain. The zone will be immediately deployed to VPS.org nameservers.
Versoekliggaamparameters
Parameter
Tipe
Vereis
Beskrywing
domain
string
Ja
Domain name (e.g., example.com)
Voorbeeldversoek
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"}'
KopiÃ"er na hierdie gids
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())
KopiÃ"er na hierdie gids
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);
KopiÃ"er na hierdie gids
Voorbeeldantwoord
{
"uuid": "new-zone-uuid",
"domain": "newdomain.com",
"created_at": "2026-01-18T16:45:00Z",
"record_count": 0,
"records": []
}
Reaksiestatuskodes
201
DNS zone created successfully
400
Bad Request - Invalid domain name or zone already exists
403
Forbidden - Token lacks dns:create permission
Skrap DNS-sone
Skrap permanent 'n DNS-sone en alle geassosieerde rekords. Hierdie aksie kan nie ongedaan gemaak word nie.
Padparameters
Parameter
Tipe
Vereis
Beskrywing
uuid
string
Ja
Unique zone identifier
Reaksiestatuskodes
204
Zone deleted successfully (no response body)
403
Forbidden - Token lacks dns:delete permission
404
Zone not found
Lys Dns opneem in Zone
Onttrek alle DNS - verslae vir'n spesifieke sone (neste roete).
Padparameters
Parameter
Tipe
Vereis
Beskrywing
uuid
string
Ja
Zone UUID
Voorbeeldversoek
curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Voorbeeldantwoord
[
{
"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"
}
]
Skep Dns- opneem in Zone
Voeg'n nuwe DNS - verslag by'n spesifieke sone (neusroete).
Versoekliggaamparameters
Parameter
Tipe
Vereis
Beskrywing
record_type
string
Ja
Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name
string
Ja
Record name (@ for root, subdomain, or FQDN)
value
string
Ja
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)
Voorbeeldversoek
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
}'
KopiÃ"er na hierdie gids
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())
KopiÃ"er na hierdie gids
Reaksiestatuskodes
201
DNS record created successfully
400
Bad Request - Invalid parameters or validation error (e.g., MX record missing priority)
Bestuur DNS-rekeninge (Direkte toegang)
VolOEDe operasies op individuele DNS - verslae deur middel van rekord UUID.
Beskikbare operasies
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
Navraag Parameters (vir KRY / api/v1/dns-records/)
Parameter
Tipe
Beskrywing
zone
string
Filter records by zone UUID
record_type
string
Filter by record type (A, AAAA, MX, etc.)
Voorbeeld: Dateer op TTL van'n rekord
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
Tipe
Purpose
Example Value
Priority Required
A
Maps domain to IPv4 address
192.0.2.1
Nee
AAAA
Maps domain to IPv6 address
2001:0db8::1
Nee
CNAME
Creates alias to another domain
example.com
Nee
MX
Mail server for domain
mail.example.com
Ja
TXT
Text record (SPF, DKIM, verification)
v=spf1 include:_spf.google.com ~all
Nee
NS
Nameserver delegation
ns1.example.com
Nee
SRV
Service location record
10 5060 sip.example.com
Ja
CAA
Certificate authority authorization
0 issue "letsencrypt.org"
Nee
Beste gebruike
Comment
Produksie (stabiel): 3600-86400 sekondes (1- 24 uur)
Voor migrasie: 300-600 sekondes (5-10 minute) - Sagter TTL voor beplande verander
Ontwikkeling: 300- 1800 sekondes (5- 30 minute) vir vinniger toets
Algemene patrone
Root domein (@): Gebruik A/AAAA-verslae, nie CNAME nie
www subdomein: Kan CNAME gebruik wat na wortel of aparte A- opneem wys
E-pos (MX): Sluit altyd prioriteit in, laer getal = hoër prioriteit
CNAME: Kan nie met ander platetipes vir dieselfde naam saamleef nie
Sekuriteit
CAA Records: Spesifiseer wat Cas kan uitreik sertifikate
SPF/DkIM/DMARC: Konfigureer e- pos geldigheidsverklaring na verhoed spoofing
Gewone gehoor: Review DNS bevat kwartaalse, verwyder ongebruikte inskrywings
Fout met hantering van lêer: %s
Algemene foute
Statuskode
Fout
Silikon
400
Ongeldige domeinnaam
Maak seker dat die domein ná Dns met die naam van byeenkomste gehou word
400
MX-rekord vereis voorkeur
Sluit in priority veld vir MX en SRV-rekords
401
Ongeldige API-bewys
Kyk vir nuwe pos in hierdie formaat vps_)
403
Ontbrekende toestemming
Genereer nuwe teken met benodig dns:* regte
404
Zone/rcord nie gevind nie
Bevestig UUID en verseker hulpbron behoort aan u rekening
Voorbeeld Fout antwoord
{
"detail": "MX records require a priority value",
"error_code": "validation_error",
"field": "priority"
}
Toets DNS - veranderinge
Bevestig Opneem Propagasie
# 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
Deur middel van Internetgereedskap
whatsmydns.net: Check global DNS propagation
dnschecker.org: Multi-location DNS lookup
mxtoolbox.com: Email-related DNS testing