VPS.org API

РЕСТЕПНА АПИ документација

API за управљање DNS-ом

Стварајте ДНС зоне и управљајте својим записима. Зоне сервисују NS1. vps.org, NS2. vps.org и NS3. vps.org.

Крајње тачке 13
Основна путања /api/v1/dns-zones, /api/v1/dns-records

Преглед

Зона садржи записе за један домен. Свака промена коју направите кроз АПИ се одмах притисне на сервере имена 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/v1/dns-zones/

Направи ДНС зону

Ствара зону и објављује је. Зона почиње са три NS записа за NS1, NS2 и NS3. vps.org, која су системски записи, а не може се уређивати или брисати.

Захтевајте параметре тела

Параметар Тип Обавезно Опис
domain string Да Име домена, на пример. 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}/

Детаљи ДНС зоне

Враћа једну зону са свим својим записима у низу записа. Одзив има исти облик као и одговор изнад.

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}/

Обриши ДНС зону

Уклања зону са сва три сервера имена, пров› јерава да је нико од њих још увек не служи, а затим бриса зону и њене записе. Ако сервер имена још увек одговара за зону, захт› јев пропада и да се задржи зона тако да можете поново да поновите.

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/

Наброји или додај записе у зони

Враћа сваки запис у зони као обични низ (не пагинира), по типу и имену. ПОСТ додаје запис у зону и објављује га.

Захтевајте параметре тела (POST)

Параметар Тип Обавезно Опис
record_type string Да A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA
name string Да @ за сам домен, или етикета као што је www. Имена се складиште у малим.
value string Да Подаци за снимање, на пример ИП адреса или име домаћина. Имена домаћина не требају тачка, а ТXT вредности не требају цитате; оба се додају када се запис објављује.
ttl integer Да Време је за живот у секунди
priority integer само МКС и СРВ Захтеван за МХ и СРВ записе и игнорисан за све друге врсте. За СРВ, ставите тежину, порт и циљ у вредност.

Пример захтева

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¦ записи / крајњи крајњих крајева
priority integer | null Приоритет за МХ и СРВ записе, иначе нули
created_at date Само датум стварања (Г- ММ- ДД) без времена

Кодови статуса одговора

200 Гет: евиденција зоне
201 ПОСТ: снимак направљен
400 Грешка при ов› јери, на пример непознат тип записа, недостаје ttl, или MX или SRV запис без приоритета
404 Није нађена, или припада другом налогу
ПОСТ /api/v1/dns-zones/{uuid}/sync/

Објављивање зоне

Поново притисне зону и све њене записе на сервере имена. Изм› јене записа се објављују аутоматски, али је објављивање најбољи напор и неуспех не успева у првобитном захт› јеву, зато користите ово када се изм› јена не појави у ДНС тражењу. Тело захтева не треба.

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/

Списак или стварање записа преко зона

Враћа записе свих ваших зона, 25 по страници, уређено по домену, типу и име. POST ствара рекорд попут крајњег крајњег краја зоне, али заузима зону у телу као зону унуиду.

Параметри упита

Параметар Тип Обавезно Опис
zone string Не. Само записи о зони са овим ууид
record_type string Не. Само записи овог типа, на пример МИкс (неосетљива случај)
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 ГЕТ: успех
201 ПОСТ: снимак направљен
400 Грешка при ов› јери, или недостаје зона_ uuid или није једна од ваших зона
ДОБИЈ PUT PATCH ОБРИШИ /api/v1/dns-records/{uuid}/

Добављање, ажурирање или брисање записа

Враћа један запис. ПУТ га зам› јењује и треба записник_ типа, имена, вредности и ttl. ПАТЦХ мења само поља која шаљете. ДЕЛЕТЕ уклања запис и враћа 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 Гет, ПУТ или ПАТЦХ: рекорд
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