Loo DNS tsoonid ja hallata oma arvestust. Tsoonid on serveeritud ns1.vps.org, ns2.vps.org ja ns3.vps.org.
Tsoon hoiab kirjeid ühe domeeni jaoks. Iga muutus, mida sa API kaudu teed, lükatakse kohe VPS.org nimeserverite juurde. Nende tsoonide domeeni teenindamiseks määra oma nimeserverid registripidaja juures ns1. vps.org, ns2. vps.org ja ns3. vps.org.
Muudatused salvestatakse ja avaldatakse ühes etapis: kui nimeserverid keelduvad muudatusest, tagastatakse päring 502 ja midagi ei salvestata. Tsooni ei saa luua domeenile, mida mõni teine konto juba haldab, teise konto tsooni vanem või laps või VPS.org reserveeritud nimi.
Nõutav luba:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Tagastab oma tsoonid, uusim esimene, 25 lehe kohta. Rekordid ei ole siin; tõmba ühe tsooni, et neid saada.
| Parameter | Tüüp | Nõutav | Description |
|---|---|---|---|
domain |
string | No | Tagastab ainult täpselt selle domeeninimega tsooni |
page |
integer | No | Lehekülje number, alates 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
}
]
}
| Väli | Tüüp | Description |
|---|---|---|
uuid |
string | Piirkonna tunnus |
domain |
string | Domeeni nimi, salvestatud väiketähtedena |
created_at |
datetime | Loomisaeg (ISO 8601, UTC) |
record_count |
integer | Piirkonnas registreeritud andmete arv, sealhulgas kolm NS-registrit |
| 200 | Edukas |
| 403 | Puuduv või vigane API märgis või märgil puudub nõutav luba |
Loob tsooni ja avaldab selle. Tsoon algab kolme NS kirjega ns1, ns2 ja ns3. vps.org jaoks, mis on süsteemikirjed ja mida ei saa muuta ega kustutada.
| Parameter | Tüüp | Nõutav | Description |
|---|---|---|---|
domain |
string | Jah | Domeeni nimi, näiteks.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 | Piirkond loodud |
| 400 | Puuduv või vigane domeeninimi |
Tagastab ühe tsooni kõigi oma kirjetega kirjemassiivis. Reaktsioonil on sama kuju kui ülal oleval loo vastusel.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Edukas |
| 404 | Ei leitud või kuulub teisele kontole |
Eemaldab tsooni kõigi kolme nimeserveri hulgast, kontrollib, et ükski neist seda veel ei teeninda, ning kustutab seejärel tsooni ja selle kirjed. Kui nimeserver vastab ikka veel tsoonile, ei õnnestu päringuga ja tsooni hoitakse alles, et saaksite uuesti proovida.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Vastus on kustutatud. |
| 400 | Nimeserveri teenindab tsooni. Tsooni ei kustutatud, detailväljal on vead. |
| 404 | Ei leitud või kuulub teisele kontole |
SAADA tagastab kõik tsoonis olevad kirjed tavalise massiivina (mitte vormistatud), sorteeritud tüübi ja nime järgi. POSTI lisab tsooni kirje ja avaldab selle.
| Parameter | Tüüp | Nõutav | Description |
|---|---|---|---|
record_type |
string | Jah | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Jah | @ domeeni enda või märgise, näiteks www. Nimed salvestatakse väiketäht. |
value |
string | Jah | Kirje andmed, näiteks IP- aadress või masinanimi. Masinanimed ei vaja trailing dot' i ja TXT- i väärtused ei vaja jutumärke; mõlemad lisatakse kirje avaldamisel. |
ttl |
integer | Jah | Aeg elada sekundites |
priority |
integer | Ainult MX ja SRV | Nõutav MX ja SRV kirjete puhul ning ignoreeritakse igat muud tüüpi. SRV puhul märkida kaal, port ja sihtmärk väärtusena. |
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"
}
| Väli | Tüüp | Description |
|---|---|---|
uuid |
string | Kirje tunnuskood, mida kasutab /api/v1/dns-kirjed/tulemusnäitajad |
priority |
integer | null | MX- ja SRV-andmete prioriteet, vastasel juhul null |
created_at |
date | Ainult loomise kuupäev (A-KK-PP), ajata |
| 200 | GET: tsooni andmed |
| 201 | POST: loodud kirje |
| 400 | Valideerimisviga, näiteks tundmatu kirje tüüp, puuduv ttl või MX või SRV kirje ilma prioriteedita |
| 404 | Ei leitud või kuulub teisele kontole |
Lükkab tsooni ja kõik selle kirjed nimeserverid uuesti. Salvesta muudatused avaldatakse automaatselt, kuid avaldamine on parim pingutus ja rike ei ebaõnnestu algse taotluse, nii et kasuta seda, kui muudatus ei ilmu DNS otsing. Ükski palve keha ei ole vaja.
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"
}
SAAT tagastab andmed kõik oma tsoonid, 25 lehe kohta, tellitud domeeni, tüübi ja nime järgi. POST loob kirje nagu tsooni kirjete tulemusnäitaja, kuid võtab tsooni kehas tsoon_uud.
| Parameter | Tüüp | Nõutav | Description |
|---|---|---|---|
zone |
string | No | Ainult andmed selle uudiga tsooni kohta |
record_type |
string | No | Ainult seda tüüpi kirjed, näiteks MX (juhtumit ei ole võimalik tuvastada) |
page |
integer | No | Lehekülje number, alates 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: edu |
| 201 | POST: loodud kirje |
| 400 | Valideerimise viga või tsoon_uid puudub või ei ole üks sinu tsoonidest |
SAADA tagastab ühe kirje. PUT asendab selle ja vajab record_ type, nimi, väärtus ja ttl. PATCH muudab ainult väljad, mida saadad. DELETE eemaldab kirje ja tagastab ilma kehata 204. Muudatused avaldatakse kohe. Tsooniga loodud NS- kirjed on süsteemikirjed: nende uuendamine või kustutamine tagastab 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 | SAADA, PUT või PATCH: kirje |
| 204 | Vastus on kustutatud. |
| 400 | Valideerimisviga |
| 403 | Kirje on süsteemikirje või märgil puudub vajalik luba |
| 404 | Ei leitud või kuulub teisele kontole |
Valideerimisvead tagastavad 400 koos väljanimelise probleemiga:
{
"priority": ["MX records require a priority value"]
}
Päringu VPS.org nimeserverid otse kinnitada muutus on otse enne oma registripidaja delegatsiooni või lahendaja vahemälu järele:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com