DNS аймақтарды құрып, олардың жазуларын басқару. Аймақтарға ns1. vps.org, ns2. vps.org және ns3. vps.org қызмет етеді.
A zone holds the records for one domain. Every change you make through the API is pushed to the VPS.org nameservers straight away. To serve a domain from these zones, set its nameservers at your registrar to ns1.vps.org, ns2.vps.org and ns3.vps.org.
Өзгерістер бір қадамда сақталып жарияланады: атау серверлері өзгерістерді қабылдамаса, сұрау 502 деген қате белгісін қайтарып, ештеңе сақталмайды. Аумақ басқа тіркелгі басқаратын домен үшін, басқа тіркелгінің аталық немесе ұрпақ аумағы үшін, немесе VPS.org деген резервтеу атауы үшін құрылмайды.
Рұқсат керек:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Жаңасы алдыңғы, бір бетке 25- те аймақтарды қайтарады. Жазбалар мұнда кірмейді, оларды алу үшін бір аймақпен шектеліңіз.
| Параметрлер | Түрі | Қажетті | Сипаттамасы |
|---|---|---|---|
domain |
string | Жоқ | Тек осы доменнің атауымен аймақ қайтарылсын |
page |
integer | Жоқ | Бет нөмірі, 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
}
]
}
| Өріс | Түрі | Сипаттамасы |
|---|---|---|
uuid |
string | Аумақ идентификаторы |
domain |
string | Доменнің атауы, кіші әріппен сақталады |
created_at |
datetime | Құру уақыты (ISO 8601, UTC) |
record_count |
integer | Үш NS жазуын қоса алғанда, аймақтағы жазулар саны |
| 200 | Сәтті |
| 403 | API токені жоқ немесе жарамсыз, немесе токеннің қажетті рұқсаты жоқ |
Аумақ құрып, оны жариялау. Аумақ ns1, ns2 және ns3. vps.org үшін үш NS жазуынан басталады, бұл жүйелік жазулар, оларды өзгерту не өшіру мүмкін емес.
| Параметрлер | Түрі | Қажетті | Сипаттамасы |
|---|---|---|---|
domain |
string | Иә | Доменнің атауы, мысалы 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 | Аумақ құрылды |
| 400 | Доменнің атауы жоқ не жарамсыз |
Бір аймақ пен оның барлық жазбаларын жазбалар жиынтығы ретінде қайтарады. Жауап жоғарыдағы create дегенге ұқсас.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Сәтті |
| 404 | Табылмады, немесе басқа тіркелгіге тиесілі |
Үш атау серверінен де аймақты алып тастау, әлі де қызмет көрсететінін тексеру, содан кейін аймақ пен оның жазуларын өшіру. Егер атау сервері аймақ үшін жауап берсе, сұрау жаңылысып, аймақ қайталап көру үшін сақталады.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Өшірілсін. Жауаптың мазмұны жоқ. |
| 400 | Атау сервері әлі де аймақта қызмет етеді. Аймақ өшірілмеді; егжей- тегжейлі өрісінде қателер тізімі көрсетілген. |
| 404 | Табылмады, немесе басқа тіркелгіге тиесілі |
GET деген өрістің барлық жазбаларын түрі мен атауы бойынша реттелген, қарапайым жиын ретінде қайтарады. POST деген өріске жазбаны қосып, оны жариялайды.
| Параметрлер | Түрі | Қажетті | Сипаттамасы |
|---|---|---|---|
record_type |
string | Иә | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Иә | @ - доменнің өзі немесе www сияқты жарлығы. Атаулардың әрбірі кіші әріппен жазылады. |
value |
string | Иә | Жазбаның деректері, мысалы IP адресі не хост атауы. Хост атауында соңындағы нүкте керек емес, ал TXT мәнінде тырнақшалар керек емес; екеуі де жазба жарияланғанда қосылады. |
ttl |
integer | Иә | Өмір сүру уақыты (секундта) |
priority |
integer | Тек MX және SRV | MX және SRV жазулары үшін керек, басқа түрлері үшін елемеу керек. SRV үшін салмағы, порты және мақсаты дегенді келтіріңіз. |
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"
}
| Өріс | Түрі | Сипаттамасы |
|---|---|---|
uuid |
string | Жазба идентификаторы, /api/ v1/ dns- records/ аяқтау нүктелерінде қолданылады |
priority |
integer | null | MX және SRV жазуларының артықшылығы, әйтпесе нөл |
created_at |
date | Құру күні ғана (Y- MM- DD), уақытсыз |
| 200 | GET: аймақтың жазулары |
| 201 | POST: жазба құрылды |
| 400 | Тексеру қатесі, мысалы, беймәлім жазу түрі, жоқ ttl, немесе артықшылығы жоқ MX не SRV жазуы |
| 404 | Табылмады, немесе басқа тіркелгіге тиесілі |
Аумақтағы барлық жазуларды атау серверлеріне қайта жіберу. Жазудың өзгерістері автоматты түрде жарияланады, бірақ жариялау ең жақсысы, яғни қателік бастапқы сұранысты орындауға кедергі келтірмейді, сондықтан өзгерістер DNS іздеулерде көрінбесе, осыны қолданыңыз. Сұраныстың мазмұны қажет емес.
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 деген барлық аймақтардың жазбаларын қайтарады, бір бетке 25- ті, домен, түрі мен атауы бойынша реттейді. POST деген аймақ жазбаларының соңы сияқты жазбаны құрады, бірақ оның мазмұны зонаның zone_ uuid дегенін алады.
| Параметрлер | Түрі | Қажетті | Сипаттамасы |
|---|---|---|---|
zone |
string | Жоқ | Тек осы uuid- і бар аймақтың жазбалары |
record_type |
string | Жоқ | Тек осы түрі бар жазулар, мысалы MX (регистрі ескерілсін) |
page |
integer | Жоқ | Бет нөмірі, 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: сәтті |
| 201 | POST: жазба құрылды |
| 400 | Тексеру қатесі, zone_ uuid жоқ немесе бір аймағыңыз емес |
GET бір жазбаны қайтарады. PUT оны ауыстырады және record_ type, name, value және ttl дегендерді қажет етеді. PATCH тек жіберген өрістерді өзгертеді. DELETE жазбаны алып тастап, 204 дегенді қайтарады. Өзгерістер бірден жарияланады. Аумақта жасалған NS жазбалар жүйелік жазбалар: оларды жаңарту немесе өшіру 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 немесе PATCH: жазу |
| 204 | Өшірілсін. Жауаптың мазмұны жоқ. |
| 400 | Тексеру қатесі |
| 403 | Жазу жүйелік жазу немесе токенді пайдалануға рұқсат жоқ |
| 404 | Табылмады, немесе басқа тіркелгіге тиесілі |
Тексеру қатесі 400 дегенді қайтарады, мәселе өріс атауымен келтірілген:
{
"priority": ["MX records require a priority value"]
}
Регистратордың өкілеттігін беру немесе шешу кэштерін іздеу алдында өзгеріс тіркелгенін тексеру үшін VPS.org атау серверлеріне тікелей сұрау салу:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com