Lag DNS- soner og besørg deres poster. Soner betjenes av ns1.vps.org, ns2.vps.org og ns3.vps.org.
En sone inneholder postene for ett domene. Alle endringer du gjør gjennom API blir presset til navntjenerne for VPS.org med en gang. For å tjene et domene fra disse sonene kan du sette navntjenerne på registratoren til ns1. vps.org, ns2. vps.org og ns3. vps.org.
Endringer lagres og publiseres i ett steg: hvis navnetjenerne nekter en endring, returnerer forespørselen 502 og ingenting lagres. En sone kan ikke opprettes for et domene som en annen konto allerede håndterer, en forelder eller et barn av en annen kontos sone, eller et navn som er reservert for VPS.org.
Påkrevd tillatelse:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Returnerer sonene dine, nyeste først, 25 pr. side. Opptegnelser tas ikke med her. Hent en enkelt sone for å hente dem.
| Parameter | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
domain |
string | Nei | Gir bare området med nøyaktig dette domenenavnet |
page |
integer | Nei | Sidenummer, fra 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
}
]
}
| Felt | Type | Beskrivelse |
|---|---|---|
uuid |
string | Soneidentifikator |
domain |
string | Domenenavn, lagret med små bokstaver |
created_at |
datetime | Opprettelsestid (ISO 8601, UTC) |
record_count |
integer | Antall poster i sonen, herunder de tre NS-postene |
| 200 | Vellykket |
| 403 | Mangler eller er ugyldig API- symbol, eller symbolet mangler tillatelse |
Oppretter en sone og publiserer den. Sonen starter med tre NS- poster for ns1, ns2 og ns3.vps.org, som er systemposter og ikke kan redigeres eller slettes.
| Parameter | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
domain |
string | Ja | The domain name, for example 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 | Område opprettet |
| 400 | Manglende eller ugyldig domenenavn |
Returnerer en sone med alle postene i en posttabell. Svaret har samme form som laget- svar over.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Vellykket |
| 404 | Ikke funnet, eller den tilhører en annen konto |
Fjerner sonen fra alle tre navnetjenerne, sjekker at ingen av dem fremdeles tjener den, og så sletter den og dens poster. Hvis en navnetjener fremdeles svarer på området mislykkes forespørselen og sonen beholdes slik at du kan forsøke igjen.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Slettet. Svaret har ingen kropp. |
| 400 | En navnetjener tjener fremdeles sonen. Sonen ble ikke slettet; detaljfeltet viser feilene. |
| 404 | Ikke funnet, eller den tilhører en annen konto |
GET gir hver post i sonen som en enkel tabell (ikke paginert), sortert etter type og navn. POST legger en post til sonen og publiserer den.
| Parameter | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
record_type |
string | Ja | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Ja | @ for domenet selv, eller en etikett som www. Navn er lagret med små bokstaver. |
value |
string | Ja | Postdata, for eksempel en IP- adresse eller et vertsnavn. Vertsnavn trenger ikke verdier for punktum og TXT etter hverandre, begge legges til når posten offentliggjøres. |
ttl |
integer | Ja | Tid å leve i sekunder |
priority |
integer | Bare MX og SRV | Kreves for MX og SRV poster og ignoreres for alle andre typer. For SRV, sett vekt, port og mål i verdi. |
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"
}
| Felt | Type | Beskrivelse |
|---|---|---|
uuid |
string | Registeridentifikator, brukt av /api/v1/dns-registrators/ endpoints |
priority |
integer | null | Prioritet for MX- og SRV-poster, ellers null |
created_at |
date | Bare opprettelsesdato (Å- MM- DD), uten klokkeslett |
| 200 | GET: sonens poster |
| 201 | POST: post opprettet |
| 400 | Valideringsfeil, for eksempel en ukjent posttype, manglende ttl, eller MX eller SRV uten prioritet |
| 404 | Ikke funnet, eller den tilhører en annen konto |
Dytter sonen og alle postene til navnetjenerne igjen. Ta opp endringer publiseres automatisk, men offentliggjøring er best mulig og en feil mislykkes ikke den opprinnelige forespørselen, så bruk dette når en endring ikke vises i DNS- oppslag. Ingen instans trengs.
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 gir postene for alle sonene dine, 25 pr. side, ordnet etter domene, type og navn. POST lager en post som sluttpunktet for sonepostene, men tar sonen i kroppen som sone_ uuid.
| Parameter | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
zone |
string | Nei | Bare poster i sonen med denne uuid- en |
record_type |
string | Nei | Bare poster av denne typen, for eksempel MX (ikke hensyn til store/ små bokstaver) |
page |
integer | Nei | Sidenummer, fra 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: vellykket |
| 201 | POST: post opprettet |
| 400 | Valideringsfeil, eller zone_ uuid mangler eller ikke en av dine soner |
GET gir en post. PUT erstatter den og trenger posttype, navn, verdi og ttl. PACKS endrer bare feltene du sender. DELETE fjerner posten og returnerer 204 uten kropp. Endringer offentliggjøres med en gang. NS- oppføringene som ble opprettet med sonen er systemoppføringer: oppdatering eller sletting gir 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 eller PACK: registreringen |
| 204 | Slettet. Svaret har ingen kropp. |
| 400 | Valideringsfeil |
| 403 | Posten er en systemoppføring, eller symbolet mangler tillatelse |
| 404 | Ikke funnet, eller den tilhører en annen konto |
Valideringsfeil gir 400 med feiltast etter feltnavn:
{
"priority": ["MX records require a priority value"]
}
Spør navntjenerne for VPS.org direkte for å bekrefte at en endring er i live før registrator- delegeringen din eller hurtiglageret tar i bruk:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com