VPS.org API

REST API skjölun

DNS stjórnun API

Búa til DNS svæði og stjórna skrám þeirra. Svæði eru þjónað af ns1.vps.org, ns2.vps.org og ns3.vps.org.

Endapunktar 13
Grunnslóð /api/v1/dns-zones, /api/v1/dns-records

Yfirlit

Svæði geymir skrár fyrir eitt lén. Sérhver breyting sem þú gerir í gegnum API er send til VPS.org nafnþjónanna strax. Til að þjóna léni frá þessum svæðum skaltu stilla nafnþjóna þess hjá skrásetjaranum á ns1.vps.org, ns2.vps.org og ns3.vps.org.

Breytingar eru vistaðar og birtar í einu skrefi: ef nafnaþjónarnir hafna breytingu, skilar beiðnin 502 og ekkert er vistað. Ekki er hægt að búa til svæði fyrir lén sem önnur Reikningur stjórnar þegar, foreldri eða barn svæðis annarrar tengingarinnar, eða VPS.org frátekið nafn.

Nauðsynlegt leyfi: dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*

FÁ /api/v1/dns-zones/

Listi yfir öll DNS svæði

Sýnir svæðin þín, nýjustu fyrst, 25 á síðu. Færslur eru ekki innifaldar hér; sækja eitt svæði til að fá þær.

Fyrirspurnarbreytur

Breyta Tegund Nauðsynlegt Lýsing
domain string Nei Skila aðeins svæðinu með nákvæmlega þessu léni
page integer Nei Síðunúmer, byrjar á 1

Dæmi um beiðni

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

Dæmi um svar

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

Svarsvið

Field Tegund Lýsing
uuid string Svæðisauðkenni
domain string Lénsheiti, geymt í lágstaf
created_at datetime Sköpunartími (ISO 8601, UTC)
record_count integer Fjöldi færslna á svæðinu, þar á meðal þrjár NS færslur

Kóðar fyrir svörunarstöðu

200 Velgengni
403 Vantar eða ógilt API tákn, eða táknið hefur ekki nauðsynleg leyfi
POST /api/v1/dns-zones/

Búa til DNS svæði

Býr til svæði og birtir það. Svæðið byrjar með þremur NS færslum fyrir ns1, ns2 og ns3.vps.org, sem eru kerfisfærslur og ekki er hægt að breyta eða eyða þeim.

Færibreytur beiðninnar

Breyta Tegund Nauðsynlegt Lýsing
domain string Já Lénsheiti, til dæmis 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"}'

Dæmi um svar

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

Kóðar fyrir svörunarstöðu

201 Svæði búið til
400 Vantar eða ógilt lén
FÁ /api/v1/dns-zones/{uuid}/

Fá DNS Zone Upplýsingar

Skilur eitt svæði með öllum skrám þess í skráarkerfi. Svarið er með sömu lögun og skapa svarið hér að ofan.

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

Kóðar fyrir svörunarstöðu

200 Velgengni
404 Fannst ekki, eða það tilheyrir öðrum reikningi
EYÐA /api/v1/dns-zones/{uuid}/

Eyða DNS svæði

Fjarlægir svæðið frá öllum þremur nafnþjónunum, athugar að enginn þeirra þjóni því ennþá og eyðir síðan svæðinu og færslum þess. Ef nafnþjónn svarar ennþá fyrir svæðið, mistekst beiðnin og svæðið er haldið til að þú getir reynt aftur.

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

Kóðar fyrir svörunarstöðu

204 Eytt. Svarið hefur engan líkama.
400 Nafnþjónn þjónar enn svæðinu. Svæðið var ekki eytt; í smáatriða reitnum eru villurnar skráðar.
404 Fannst ekki, eða það tilheyrir öðrum reikningi
FÁ POST /api/v1/dns-zones/{uuid}/records/

Listi eða bæta við færslum í svæði

GET skilar öllum færslum í svæðinu sem einföldum röð (ekki síður), raðað eftir tegund og nafni.POST bætir færslu á svæðinu og birtir það.

Færibreytur beiðninnar (POST)

Breyta Tegund Nauðsynlegt Lýsing
record_type string Já A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA
name string Já @ fyrir lénið sjálft, eða merki eins og www. Nöfn eru geymd í lágstöfum.
value string Já Gögn skráarinnar, t.d. IP-tala eða vélarheiti. Vélaheiti þurfa ekki punkt í lok og TXT-gildi þurfa ekki vitna; báðum er bætt við þegar skráin er birt.
ttl integer Já Tími til að lifa í sekúndum
priority integer Aðeins MX og SRV Nauðsynlegt fyrir MX og SRV færslur og hunsað fyrir allar aðrar gerðir. Fyrir SRV, settu þyngd, port og markmið í gildi.

Dæmi um beiðni

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

Dæmi um svar

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

Svarsvið

Field Tegund Lýsing
uuid string Auðkenni skráar, notað af /api/v1/dns-records/ endapunktum
priority integer | null Forgangur fyrir MX og SRV færslur, annars null
created_at date Aðeins búningardagur (Y- MM- DD), án tíma

Kóðar fyrir svörunarstöðu

200 GET: skrár svæðisins
201 POST: skráin var búin til
400 Staðfestingarvilla, til dæmis óþekkt skráartegund, vantar ttl, eða MX eða SRV skrá án forgangs
404 Fannst ekki, eða það tilheyrir öðrum reikningi
POST /api/v1/dns-zones/{uuid}/sync/

Endurbirta svæði

Sendir svæðið og allar færslur þess aftur á nafnþjónana. Breytingar á færslum eru birtar sjálfkrafa, en birting er besta leiðin og bilun stöðvar ekki upprunalega beiðni, svo notaðu þetta þegar breyting birtist ekki í DNS leit. Engin beiðni þarf.

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

Listi eða búa til færslur yfir svæði

GET skilar skrám allra svæða, 25 á síðu, raðað eftir léni, tegund og nafni.POST býr til skrá eins og endpoint skrár svæðisins, en tekur svæðið í líkamanum sem zone_uuid.

Fyrirspurnarbreytur

Breyta Tegund Nauðsynlegt Lýsing
zone string Nei Aðeins færslur svæðisins með þessu uid
record_type string Nei Aðeins færslur af þessari gerð, t. d. MX (há/ lágstafir eru óháðir)
page integer Nei Síðunúmer, byrjar á 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"
    }
  ]
}

Kóðar fyrir svörunarstöðu

200 GET: velgengni
201 POST: skráin var búin til
400 Staðfestingarvilla, eða zone_uuid vantar eða er ekki eitt af svæðunum þínum
FÁ PUT PATCH EYÐA /api/v1/dns-records/{uuid}/

Fá, uppfæra eða eyða færslu

GET skilar einni færslu. PUT skiptir um hana og þarfnast record_type, name, value og ttl. PATCH breytir aðeins þeim reitum sem þú sendir. DELETE fjarlægir færsluna og skilar 204 án líkama. Breytingar eru birtar strax. NS færslur sem búnar eru til með svæðinu eru kerfisfærslur: uppfærsla eða eyðing þeirra skilar 403.

Þegar þú PATCH forgang MX eða SRV færslu, senda record_type í sömu beiðni.A PATCH líkama með forgang en án record_type hreinsa forgang.
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}'

Kóðar fyrir svörunarstöðu

200 GET, PUT eða PATCH: skráin
204 Eytt. Svarið hefur engan líkama.
400 Staðfestingarvilla
403 Færslunni er breytt í kerfisfærslu eða táknið hefur ekki nauðsynlegar heimildir
404 Fannst ekki, eða það tilheyrir öðrum reikningi

Villuumsjón

Staðfestingarvillur skila 400 með vandamáli sem er lyklað með nafni reitsins:

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

Prófa DNS breytingar

Fyrirspurn VPS.org nafnþjóna beint til að staðfesta breytingu er lifandi áður en skrásetjari framsal eða resolver skyndiminni ná upp:

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