Chidule
DNS API imapatsa kuwongolera kwathunthu kwa zigawo za DNS ndi zolemba.Zomwe zili zonse zimagulitsidwa pa VPS.org's authoritative nameservers ndi kukhazikitsidwa kwa mafayilo a BIND9 ndi kukhazikitsa.
Nameserver Infrastructure
ns1.vps.org (38.248.6.195) - Mtsogoleri wamkulu ndi DNSSEC inline-signing
ns2.vps.org (38.248.6.196) - Secondary slave
ns3.vps.org (38.248.6.197) - Secondary slave
Zithunzi zazikulu
Kutulutsa ndi kukhazikitsa kwa mafayilo a BIND9 zone
Zosintha za Zone pogwiritsa ntchito kutsimikizika kwa TSIG (kusintha kwa master-slave)
Kuthandizira kwa mitundu yonse ya DNS (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA)
Kuchotsa dzina la domain ndi UUID-based zone identification
Nested njira za zone-osiyana record management
Kutsimikizira
Zosowa zonse za DNS API zimafunikira kutsimikizika kwa Bearer token. /account/developers/ ndi zilolezo izi:
dns:list - Kuwonetsa zolemba za DNS ndi zolemba
dns:create - Kukhazikitsa zowonjezera ndi zolemba
dns:update - Kusintha zomangamanga ndi zolemba
dns:delete - Kuchotsa zomera ndi zolemba
dns:* - Kupeza kuwongolera kwa DNS
Mfano
Authorization: Bearer vps_abc123def456...
Chofunika: API tokens amasonyeza kokha kamodzi pamene kupangidwa. Kusunga iwo securely. Ngati inu kuchoka token, muyenera kupanga wina watsopano.
Lembani Magawo Onse a DNS
Kupeza mndandanda wa masamba onse a DNS omwe ali ndi wogwiritsa ntchito wovomerezeka. Amathandizira kuchotsa ndi dzina la domain.
Ma Parameter a Mafunso
Paramita
Mtundu
Zofunika
Kufotokozera
domain
string
Si
Filter zones by exact domain name (e.g., example.com)
Chitsanzo cha Pempho
curl -X GET "https://admin.vps.org/api/v1/dns-zones/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Ko_pera
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())
Ko_pera
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);
Ko_pera
Chitsanzo cha Yankho
[
{
"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
}
]
Mayankho a Minda
Kuwala
Mtundu
Kufotokozera
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
Makhodi a Mkhalidwe Woyankha
200
Successfully retrieved DNS zones list
401
Unauthorized - Invalid or missing API token
403
Forbidden - Token lacks dns:list permission
Pezani DNS Zone Deta
Kupeza zambiri zokhudzana ndi mfundo DNS zone, kuphatikizapo zonse zolemba.
Magawo a Njira
Paramita
Mtundu
Zofunika
Kufotokozera
uuid
string
Inde
Unique zone identifier
Chitsanzo cha Yankho
{
"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"
}
]
}
Makhodi a Mkhalidwe Woyankha
200
Successfully retrieved zone details
404
Zone not found or not owned by user
Kukhazikitsa DNS Zone
Kukhazikitsa DNS zone kwa domain. The zone adzaikidwa mwamsanga kuti VPS.org nameservers.
Pemphani Ma Parameter a Thupi
Paramita
Mtundu
Zofunika
Kufotokozera
domain
string
Inde
Domain name (e.g., example.com)
Chitsanzo cha Pempho
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"}'
Ko_pera
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())
Ko_pera
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);
Ko_pera
Chitsanzo cha Yankho
{
"uuid": "new-zone-uuid",
"domain": "newdomain.com",
"created_at": "2026-01-18T16:45:00Z",
"record_count": 0,
"records": []
}
Makhodi a Mkhalidwe Woyankha
201
DNS zone created successfully
400
Bad Request - Invalid domain name or zone already exists
403
Forbidden - Token lacks dns:create permission
Kuchotsa DNS Zone
Kuchotsa kwanthawi zonse malo a DNS ndi zonse zomwe zilipo. Chikhalidwe ichi sichingasinthidwe.
Magawo a Njira
Paramita
Mtundu
Zofunika
Kufotokozera
uuid
string
Inde
Unique zone identifier
Makhodi a Mkhalidwe Woyankha
204
Zone deleted successfully (no response body)
403
Forbidden - Token lacks dns:delete permission
404
Zone not found
List DNS Records mu Zone
Kupeza zonse DNS zolemba kwa malire mfundo (nested njira).
Magawo a Njira
Paramita
Mtundu
Zofunika
Kufotokozera
uuid
string
Inde
Zone UUID
Chitsanzo cha Pempho
curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Chitsanzo cha Yankho
[
{
"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"
}
]
Kukhazikitsa DNS Record mu Zone
Kuwonjezera DNS yatsopano ku zone (nested njira).
Pemphani Ma Parameter a Thupi
Paramita
Mtundu
Zofunika
Kufotokozera
record_type
string
Inde
Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name
string
Inde
Record name (@ for root, subdomain, or FQDN)
value
string
Inde
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)
Chitsanzo cha Pempho
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
}'
Ko_pera
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())
Ko_pera
Makhodi a Mkhalidwe Woyankha
201
DNS record created successfully
400
Bad Request - Invalid parameters or validation error (e.g., MX record missing priority)
Kuwongolera DNS Records (Kupeza Kwam'manja)
Full CRUD ntchito pa DNS zolemba wina ndi mzake pogwiritsa ntchito UUID zolemba.
Zochita Zopezeka
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
Kufunsa Ma parameters (kwa GET /api/v1/dns-records/)
Parameter
Mtundu
Kufotokozera
zone
string
Filter records by zone UUID
record_type
string
Filter by record type (A, AAAA, MX, etc.)
Mfano: Kusintha TTL ya 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
Mtundu
Purpose
Example Value
Priority Required
A
Maps domain to IPv4 address
192.0.2.1
Si
AAAA
Maps domain to IPv6 address
2001:0db8::1
Si
CNAME
Creates alias to another domain
example.com
Si
MX
Mail server for domain
mail.example.com
Inde
TXT
Text record (SPF, DKIM, verification)
v=spf1 include:_spf.google.com ~all
Si
NS
Nameserver delegation
ns1.example.com
Si
SRV
Service location record
10 5060 sip.example.com
Inde
CAA
Certificate authority authorization
0 issue "letsencrypt.org"
Si
Zochita zabwino
Kusintha kwa TTL
Kutulutsa (kukhazikika): 3600-86400 masekondi (1-24 maola)
Pambuyo pa kusinthika: 300-600 masekondi (5-10 mphindi) - Lower TTL pamaso zosintha zoyembekezeredwa
Kusintha: 300-1800 masekondi (5-30 mphindi) kwa kuyesa mofulumira
Zomwe zimachitika
Kuchokera ku domain (@): Kugwiritsa ntchito A / AAAA zolemba, si CNAME
www subdomain: Akhoza kugwiritsa ntchito CNAME kusonyeza kuti root kapena kugawa A record
Imelo (MX): Nthawi zonse kuphatikiza cholinga, pansi mndandanda = cholinga chachikulu
CNAME: Sakhoza kugwirizana ndi zina zolemba za mtundu wa dzina lofanana
Ku_teteza
CAA Records: Sankhani zomwe CAs zingapereke ziphaso
SPF/DKIM/DMARC: Kusintha kwa ma adilesi a imelo kuti muchepetse kusokonezeka
Malamulo a Malamulo: Kuyesa DNS zolemba kwa chaka chilichonse, kuchotsa zolemba zosagwiritsa ntchito
Kusamalira Mavuto
Zosagwirizana
Khodi ya Udindo
Kulephera
Kusintha
400
Invalid domain name
Pezani kuti domain itsatira zokambirana za DNS
400
MX record ikufuna kupewa
Kuphatikiza priority MX ndi SRV zidziwitso
401
Invalid API token
Sankhani mtundu wa token (muyenera kuyamba ndi vps_)
403
Kulephera kwa ufulu
Kulenga token yatsopano ndi zofunikira dns:* _Malamulo
404
Zolemba sizikupezeka
Sankhani UUID ndi kuonetsetsa kuti mfundo ali ndi wanu akaunti
Mfundo Kulephera Kuyankha
{
"detail": "MX records require a priority value",
"error_code": "validation_error",
"field": "priority"
}
Kuyesa Zosintha za DNS
Kuyesa kufalitsa kwa zidziwitso
# 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
Kugwiritsa ntchito Online Tools
whatsmydns.net: Check global DNS propagation
dnschecker.org: Multi-location DNS lookup
mxtoolbox.com: Email-related DNS testing