Kukhazikitsa DNS zoikamo ndi kusamalira zolemba zawo. Zones ndi kuperekedwa ndi ns1.vps.org, ns2.vps.org ndi ns3.vps.org.
Zonse zomwe mumasintha mwa API zimatulutsidwa pa VPS.org nameservers mofulumira. Kuti mupereke domain kuchokera ku zojambulazo, khazikitsa ma servers ake pa woyang'anira wanu kuti ns1.vps.org, ns2.vps.org ndi ns3.vps.org.
Zosintha zimasungana ndi kusindikizidwa m'njira imodzi: ngati ma seva a dzina amakana kusintha, funso limabwerera 502 ndipo palibe chomwe chimasunga. Zonsezo sizingapangidwe kwa domain yomwe akaunti ina yakhala ikuyendetsa, zomera kapena mwana wa akaunti ina yazonsezo, kapena dzina losungidwira VPS.org.
Kufunikira kwa ufulu:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Kubwerera zomera zanu, zatsopano koyamba, 25 patsamba. Recordes si anaphatikizapo pano; fetch imodzi zomera kuti atenge iwo.
| Paramita | Mtundu | Zofunika | Kufotokozera |
|---|---|---|---|
domain |
string | Si | Kubwerera kokha zone ndi mfundo izi dzina la domain |
page |
integer | Si | Nambala ya tsamba, imayamba pa 1 |
curl -X GET "https://admin.vps.org/api/v1/dns-zones/?domain=example.com" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.get(url, headers=headers, params={"domain": "example.com"})
for zone in response.json()["results"]:
print(zone["uuid"], zone["domain"], zone["record_count"])
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/?domain=example.com', {
headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});
const data = await response.json();
console.log(data.results);
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c",
"domain": "example.com",
"created_at": "2026-09-06T03:11:48.829693Z",
"record_count": 5
}
]
}
| Kuwala | Mtundu | Kufotokozera |
|---|---|---|
uuid |
string | Zolemba |
domain |
string | dzina la domain, kusungidwa mu malemba ang'onoang'ono |
created_at |
datetime | Nthawi yopangidwa (ISO 8601, UTC) |
record_count |
integer | Mtengo wa zolemba m'dera, kuphatikizapo zolemba zitatu NS |
| 200 | Kupambana |
| 403 | Kukayika kapena ayi API token, kapena token alibe zofunika chilolezo |
Amapanga zone ndi kufalitsa izo. zone amayamba ndi atatu NS zidziwitso kwa ns1, ns2 ndi ns3.vps.org, amene ndi dongosolo zidziwitso ndi sakhoza kusinthidwa kapena kuchotsa.
| Paramita | Mtundu | Zofunika | Kufotokozera |
|---|---|---|---|
domain |
string | Inde | dzina la domain, mwachitsanzo example.com |
curl -X POST "https://admin.vps.org/api/v1/dns-zones/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "example.com"}'
{
"uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c",
"domain": "example.com",
"created_at": "2026-09-14T21:02:11.402113Z",
"records": [
{
"uuid": "1f2e3d4c-5b6a-4978-8a9b-0c1d2e3f4a5b",
"record_type": "NS",
"name": "@",
"value": "ns1.vps.org",
"ttl": 86400,
"priority": null,
"created_at": "2026-09-14"
},
...
],
"record_count": 3
}
| 201 | Zomwe zapangidwa |
| 400 | Cholakwika kapena cholakwika dzina la domain |
Kubwerera m'mbali imodzi zone ndi zonse zake zolemba mu zolemba mnda. Kuyankha ali ndi mtundu umodzi monga kulenga zolemba pamwambapa.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Kupambana |
| 404 | Siyipezeka, kapena ili ndi akaunti ina |
Kuchotsa zone kuchokera onse atatu nameservers, onetsetsani kuti palibe amene alibe kuyankha kwa zone, ndipo kenako kuchotsa zone ndi zake records. Ngati nameservers alibe kuyankha kwa zone, zosowa kulephera ndi zone anatenga kuti inu mukhoza kuyeseranso.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Chotsani. Kuyankha alibe thupi. |
| 400 | Nameservers still serve the zone. The zone was not deleted; the detail field lists the errors. |
| 404 | Siyipezeka, kapena ili ndi akaunti ina |
GET amabwerera zonse zolemba mu zone monga mzere wachikhalidwe (osati paginated), osankhidwa ndi mtundu ndi dzina. POST awonjezera zolemba kuti zone ndi kufalitsa izo.
| Paramita | Mtundu | Zofunika | Kufotokozera |
|---|---|---|---|
record_type |
string | Inde | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Inde | @ kwa domain yekha, kapena labeling monga www. A dzina lachidule. |
value |
string | Inde | Kulemba deta, monga IP adiresi kapena dzina la m'nyumba. Ma dzina a m'nyumba safunika kumaliza dot ndi TXT mfundo sayenera kulemba zilembo; onse awiri ndi kuwonjezera pamene kulemba ndi kufalitsa. |
ttl |
integer | Inde | Nthawi yokhala m'maola angapo |
priority |
integer | MX ndi SRV zokha | Kufunika kwa MX ndi SRV zolemba ndi kuonedwa ngati zosafunikira kwa onse ena a mitundu. Kwa SRV, kuika kutalika, port ndi kulenga mu tanthauzo. |
curl -X POST "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"record_type": "MX", "name": "@", "value": "mail.example.com", "ttl": 3600, "priority": 10}'
import requests
zone_uuid = "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c"
url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
data = {"record_type": "A", "name": "www", "value": "203.0.113.10", "ttl": 3600}
response = requests.post(url, headers=headers, json=data)
print(response.status_code, response.json())
{
"uuid": "9d430082-5562-42b4-a0b2-12a6f6c862f9",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2026-09-14"
}
| Kuwala | Mtundu | Kufotokozera |
|---|---|---|
uuid |
string | Mtundu wa record identifier, wogwiritsa ntchito ndi /api/v1/dns-records/ endpoints |
priority |
integer | null | Mphamvu ya MX ndi SRV records, ngati sichoncho null |
created_at |
date | Kukhazikitsa tsiku (Y-MM-DD), popanda nthawi |
| 200 | GET: zolemba za zone |
| 201 | POST: record analenga |
| 400 | Kulephera kwa kutsimikizika, monga mtundu wa record wosadziwika, ttl yosapezeka, kapena MX kapena SRV record yopanda malire |
| 404 | Siyipezeka, kapena ili ndi akaunti ina |
Imangoyika nyanjayo ndi zonse zomwe zilipo pa servers ya dzinali. Zosintha za record zimafalikira mwamsanga, koma kufalikira ndi njira yabwino kwambiri ndipo kulephera sikungalepheretse kufunsira koyamba, choncho kugwiritsa ntchito izi pamene kusintha sikunawoneke m'ma DNS ofunafuna. Sikufunikira thupi lafunso.
curl -X POST "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/sync/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"detail": "Zone example.com synced to PowerDNS"
}
GET amabwerera zolemba zonse zokopa alendo anu, 25 patsamba, anaika ndi domain, mtundu ndi dzina. POST amaumba zolemba monga zokopa alendo zolemba endpoint, koma amatenga zolemba zokopa alendo m'thupi monga zone_uuid.
| Paramita | Mtundu | Zofunika | Kufotokozera |
|---|---|---|---|
zone |
string | Si | Kulemba kokha kwa nyanja ndi uuid iyi |
record_type |
string | Si | Kulemba kokha kwa mtundu uwu, monga MX (kuzindikira zilembo zazikulu ndi zazikulu) |
page |
integer | Si | Nambala ya tsamba, imayamba pa 1 |
curl -X GET "https://admin.vps.org/api/v1/dns-records/?zone=c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c&record_type=A" \
-H "Authorization: Bearer YOUR_API_TOKEN"
curl -X POST "https://admin.vps.org/api/v1/dns-records/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"zone_uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c", "record_type": "TXT", "name": "@", "value": "v=spf1 mx -all", "ttl": 3600}'
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "4b8e2c10-7d3f-4a5b-9e6c-1a2b3c4d5e6f",
"record_type": "A",
"name": "www",
"value": "203.0.113.10",
"ttl": 3600,
"priority": null,
"created_at": "2026-09-14"
}
]
}
| 200 | GET: kupambana |
| 201 | POST: record analenga |
| 400 | Kulephera kwa kutsimikizika, kapena zone_uuid sichipezeka kapena si chimodzi mwamadera anu |
GET imabwerera mzere wina. PUT imasintha mzere wina ndipo imafuna record_type, dzina, mtengo ndi ttl. PATCH imasintha mzere winayo koma mzere winayo. DELETE imachotsa mzere winayo ndipo imabwerera 204 popanda thupi. Zosintha zimasindikizidwa mofulumira. NS mzere winayo anapangidwa ndi mzere winayo ndi mzere winayo: kusinthidwa kapena kuchotsa mzere winayo kumabwerera 403.
curl -X PATCH "https://admin.vps.org/api/v1/dns-records/4b8e2c10-7d3f-4a5b-9e6c-1a2b3c4d5e6f/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ttl": 300}'
| 200 | GET, PUT kapena PATCH: ndondomeko |
| 204 | Chotsani. Kuyankha alibe thupi. |
| 400 | Kutsimikizika |
| 403 | Rekodi ndi ya dongosolo, kapena token siyikhala ndi ufulu wofunikira |
| 404 | Siyipezeka, kapena ili ndi akaunti ina |
Kuyesa kutsimikizika zolakwika kumbuyo 400 ndi vuto keyed ndi dzina la nyanja:
{
"priority": ["MX records require a priority value"]
}
Pitani ku VPS.org nameservers moyenera kuti mutsimikizire kuti kusinthaku ndi koyenera pambuyo pokhapokha mutalandira chilolezo chanu cha woyang'anira kapena kuchotsa ma caches:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com