VPS.org API

REST API Documentation

DNS Management API

Kukhazikitsa DNS zoikamo ndi kusamalira zolemba zawo. Zones ndi kuperekedwa ndi ns1.vps.org, ns2.vps.org ndi ns3.vps.org.

Mapeto 13
Njira Yoyambira /api/v1/dns-zones, /api/v1/dns-records

Chidule

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:*

Pezani /api/v1/dns-zones/

Lembani Magawo Onse a DNS

Kubwerera zomera zanu, zatsopano koyamba, 25 patsamba. Recordes si anaphatikizapo pano; fetch imodzi zomera kuti atenge iwo.

Ma Parameter a Mafunso

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

Chitsanzo cha Pempho

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);

Chitsanzo cha Yankho

{
  "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
    }
  ]
}

Mayankho a Minda

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

Makhodi a Mkhalidwe Woyankha

200 Kupambana
403 Kukayika kapena ayi API token, kapena token alibe zofunika chilolezo
POST /api/v1/dns-zones/

Kukhazikitsa DNS Zone

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.

Pemphani Ma Parameter a Thupi

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"}'

Chitsanzo cha Yankho

{
  "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
}

Makhodi a Mkhalidwe Woyankha

201 Zomwe zapangidwa
400 Cholakwika kapena cholakwika dzina la domain
Pezani /api/v1/dns-zones/{uuid}/

Pezani DNS Zone Deta

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"

Makhodi a Mkhalidwe Woyankha

200 Kupambana
404 Siyipezeka, kapena ili ndi akaunti ina
CHOTSANI /api/v1/dns-zones/{uuid}/

Kuchotsa DNS Zone

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"

Makhodi a Mkhalidwe Woyankha

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
Pezani POST /api/v1/dns-zones/{uuid}/records/

List kapena Add Records mu Zone

GET amabwerera zonse zolemba mu zone monga mzere wachikhalidwe (osati paginated), osankhidwa ndi mtundu ndi dzina. POST awonjezera zolemba kuti zone ndi kufalitsa izo.

Pemphani Ma Parameter a Thupi (POST)

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.

Chitsanzo cha Pempho

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())

Chitsanzo cha Yankho

{
  "uuid": "9d430082-5562-42b4-a0b2-12a6f6c862f9",
  "record_type": "MX",
  "name": "@",
  "value": "mail.example.com",
  "ttl": 3600,
  "priority": 10,
  "created_at": "2026-09-14"
}

Mayankho a Minda

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

Makhodi a Mkhalidwe Woyankha

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
POST /api/v1/dns-zones/{uuid}/sync/

Kusintha kwa Zone

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"
}
Pezani POST /api/v1/dns-records/

List kapena Kulenga Records Kudzera Zones

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.

Ma Parameter a Mafunso

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"
    }
  ]
}

Makhodi a Mkhalidwe Woyankha

200 GET: kupambana
201 POST: record analenga
400 Kulephera kwa kutsimikizika, kapena zone_uuid sichipezeka kapena si chimodzi mwamadera anu
Pezani PUT PATCH CHOTSANI /api/v1/dns-records/{uuid}/

Kupeza, Kusintha kapena Kuchotsa Record

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.

Ngati mukufuna kuchotsa MX kapena SRV record, muyenera kutumiza record_type mu fomu ya MX kapena SRV record. A PATCH thupi ndi MX kapena SRV record.
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}'

Makhodi a Mkhalidwe Woyankha

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

Kusamalira Mavuto

Kuyesa kutsimikizika zolakwika kumbuyo 400 ndi vuto keyed ndi dzina la nyanja:

{
  "priority": ["MX records require a priority value"]
}

Kuyesa Zosintha za DNS

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