Կերտել DNS ոլորտներ և կառավարել դրանց գրանցումները։ Զանգվածները ծառայում են ns1.vps.org, ns2.vps.org և ns3.vps.org.
Զանգվածը պահպանում է մեկ դոմենի համար գրանցումները։ API-ի միջոցով կատարված յուրաքանչյուր փոփոխություն անմիջապես ուղարկվում է VPS.org անուն սերվերներ։ Դոմենի ծառայություններ մատուցելու համար այս Զանգվածներից, սահմանեք դրա անուն սերվերները ձեր գրանցողի մոտ ns1.vps.org, ns2.vps.org և 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 | Creation time (ISO 8601, UTC) |
record_count |
integer | Զանգվածի ցուցակների քանակը, ներառյալ երեք NS ցուցակները |
| 200 | Աշխատանք |
| 403 | Հաշվառված կամ օրինական API token-ը բացակայում է, կամ token-ը չունի անհրաժեշտ թույլտվություն |
Creates a zone and publishes it. The zone starts with three NS records for ns1, ns2 and ns3.vps.org, which are system records and cannot be edited or deleted.
| Փարամետրի ցուցակ | Տեսակ | Պարտադիր | Ապրանքանիշ |
|---|---|---|---|
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 | Հաշվի չառնել կամ թերացած դոմենի անուն |
Վերադարձնում է մեկ ոլորտ՝ բոլոր գրանցումներով գրանցումների շարքում։ Պատասխանը նույն ձևն ունի, ինչ վերը նշված ստեղծել պատասխանը։
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- ի համար, արժեքում գրեք weight, port և target։ |
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 գրանցումների առաջնահերթությունը, այլապես null |
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