VPS.org API

Ҳуҷҷатгузории REST API

API-и идоракунии DNS

Сохтани минтақаҳои DNS ва идоракунии сабтҳои онҳо. Минтақаҳо аз ҷониби ns1.vps.org, ns2.vps.org ва ns3.vps.org хизматрасонӣ карда мешаванд.

Нуқтаҳои ниҳоӣ 13
Роҳи асосӣ /api/v1/dns-zones, /api/v1/dns-records

Шарҳи умумӣ

Зона барои як домен сабтҳоро нигоҳ медорад. Ҳар як тағйироте, ки шумо тавассути 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:*

ГИРЕД /api/v1/dns-zones/

Рӯйхати ҳамаи минтақаҳои DNS

Ба шумо минтақаҳои шуморо бар мегардонад, аввал навтарин, 25 дар як саҳифа. Захираҳо дар ин ҷо дохил карда нашудаанд; барои гирифтани онҳо минтақаи яклухт гиред.

Параметрҳои дархост

& Параметрҳо Навъ Ҳатмӣ & Тасвирот
domain string & Намоиши хатҳои равон Танҳо минтақаро бо номи домени муайяншуда бар мегардонад
page integer & Намоиши хатҳои равон Рақами саҳифа, аз 1 сар карда

Намунаи дархост

cURL
Python
JavaScript
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-и нодуруст ё гумшуда ё иҷозатномаи лозимӣ барои token нест
БОЗ /api/v1/dns-zones/

Сохтани минтақаи DNS

Зонаро эҷод мекунад ва онро нашр мекунад. Зона бо се қайдоти NS барои ns1, ns2 ва ns3. vps.org оғоз меёбад, ки онҳо қайдоти системавӣ мебошанд ва наметавонанд таҳрир ё нобуд карда шаванд.

Дархости параметрҳои бадан

& Параметрҳо Навъ Ҳатмӣ & Тасвирот
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 Номи домени нодуруст ё нобудшуда
ГИРЕД /api/v1/dns-zones/{uuid}/

Гирифтани тафсилоти минтақаи DNS

Як минтақаро бо ҳамаи қайдоти он дар қатори қайдотҳо бар мегардонад. Ҷавоб ҳамон шакли ҷавоби эҷодкуниро дар боло дорад.

curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Рамзҳои ҳолати посух

200 Муваффақият
404 Ё ки ёфт нашуд ё ба ҳисоби дигар тааллуқ дорад
НЕСТ КАРДАН /api/v1/dns-zones/{uuid}/

Нобуд кардани минтақаи DNS

Нобуд кардани минтақа аз ҳамаи се сервери ном, тафтиш кунед, ки ягон хидматрасони ном хидматрасонӣ мекунад, ва баъд минтақа ва сабтҳои онро нест мекунад. Агар сервери ном барои минтақа ҷавоб диҳад, дархости ноком мешавад ва минтақа нигоҳ дошта мешавад, то шумо тавонед аз нав кӯшиш кунед.

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 Ё ки ёфт нашуд ё ба ҳисоби дигар тааллуқ дорад
ГИРЕД БОЗ /api/v1/dns-zones/{uuid}/records/

Рӯйхати ё илова кардани сабтҳо дар минтақа

GET ҳар як сабти дар минтақаро ҳамчун маҷмӯи оддӣ (бе саҳифа) бар мегардонад, тартиб дода шуда аз рӯи намуд ва ном. POST сабтро ба минтақа илова мекунад ва онро нашр мекунад.

Дархости параметрҳои бадан (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
Python
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 Ё ки ёфт нашуд ё ба ҳисоби дигар тааллуқ дорад
БОЗ /api/v1/dns-zones/{uuid}/sync/

Аз нав нашр кардани минтақа

Аз нав минтақа ва ҳамаи қайдоти онро ба сервери номҳо мефиристад. Тағйироти қайдот ба таври худкор нашр карда мешаванд, аммо нашр кардан беҳтарин кӯшиш аст ва хатогӣ дархости аслӣ нест, бинобар ин инро барои тағйироте, ки дар ҷустуҷӯи 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"
}
ГИРЕД БОЗ /api/v1/dns-records/

Рӯйхати ё эҷоди сабтҳо дар минтақаҳо

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 нест ё яке аз минтақаҳои шумо нест
ГИРЕД PUT PATCH НЕСТ КАРДАН /api/v1/dns-records/{uuid}/

Гирифтан, навсозӣ ё нест кардани сабт

GET як сабтро бар мегардонад. PUT онро иваз мекунад ва record_ type, name, value ва ttl- ро талаб мекунад. PATCH танҳо майдонҳои фиристодашударо иваз мекунад. DELETE сабтро хориҷ мекунад ва 204- ро бе бадан бар мегардонад. Тағйиротҳо дарҳол нашр мешаванд. NS- сабтҳо, ки бо минтақа эҷод шудаанд, сабтҳои система мебошанд: навсозӣ ё нобуд кардани онҳо 403- ро бар мегардонад.

Вақте ки шумо PATCH- и аҳамияти MX ё SRV- ро мефиристед, record_ type- ро дар ҳамон дархости худ фиристед. Патч бо аҳамияти худ, аммо бе record_ type, аҳамиятро тоза мекунад.
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"]
}

Санҷиши тағйироти DNS

Дархости номи серверҳои VPS.org бевосита барои тасдиқи тағйирот пеш аз он ки шумо иҷозатнома ё кеши ҳалкунандаи худро ба даст оред:

dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com