Izveidot DNS zonas un pārvaldīt to ierakstus. Zonas apkalpo ns1.vps.org, ns2.vps.org un ns3.vps.org.
Zona satur ierakstus vienam domēnam. Katras izmaiņas, ko veicat caur API, tiek nospiestas uz VPS.org nosaukumu servisiem uzreiz. Lai apkalpotu domēnu no šīm zonām, nostādiet tās nosaukumus savā reģistrā uz ns1. vps.org, ns2. zqx1qz un ns3. zqxqz.
Izmaiņas tiek saglabātas un publicētas vienā posmā: ja vārdu serveri atsaka izmaiņas, pieprasījums atgriež 502 un nekas netiek saglabāts. Nevar izveidot zonu domēnam, citam kontam, kas jau pārvalda, vecāks vai bērns no citas konta zonas, vai VPS.org rezervētais nosaukums.
Nepieciešamā atļauja:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Atgriež savu zonu, pirmo reizi, 25 lapā. Ieraksti šeit nav iekļauti; ielādējiet vienu zonu, lai tās saņemtu.
| Parametrs | Tips | Obligāti | Apraksts |
|---|---|---|---|
domain |
string | Nē | Atgriezt tikai zonu ar tieši šo domēna vārdu |
page |
integer | Nē | Lapas numurs, sākot ar 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
}
]
}
| Lauks | Tips | Apraksts |
|---|---|---|
uuid |
string | Zonas identifikators |
domain |
string | Domēna nosaukums, saglabāts mazajā kasē |
created_at |
datetime | Izveides laiks (ISO 8601, UTC) |
record_count |
integer | Ierakstu skaits zonā, ieskaitot trīs NS ierakstus |
| 200 | Panākumi |
| 403 | Trūkst vai nav spēkā API žetons, vai žetonam trūkst nepieciešamās atļaujas |
Izveido zonu un publicē to. Zona sākas ar trim NS ierakstiem par ns1, ns2 un ns3.vps.org, kas ir sistēmas ieraksti un ko nevar rediģēt vai dzēst.
| Parametrs | Tips | Obligāti | Apraksts |
|---|---|---|---|
domain |
string | Jā | Domēna vārds, piemēram.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 | Izveidotā zona |
| 400 | Trūkst domēna vārda vai tas ir nederīgs |
Atgriež vienu zonu ar visiem tās ierakstiem ierakstu masīvā. Atbildei ir tāda pati forma kā radīt atbildi iepriekš.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Panākumi |
| 404 | Nav atrasts, vai arī tas pieder citam kontam |
Izņem zonu no visiem trim nosaukumu serveriem, pārbauda, vai neviens no tiem vēl nekalpo, un tad izdzēš zonu un tās ierakstus. Ja vārdu serveris joprojām atbild uz šo zonu, pieprasījums neizdodas un zona tiek saglabāta, lai jūs varētu vēlreiz mēģināt.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Dzēsta. Atbilde nav ķermeņa. |
| 400 | Nosaukums serveris joprojām kalpo zonai. Zona netika dzēsta; sīks lauks norāda kļūdas. |
| 404 | Nav atrasts, vai arī tas pieder citam kontam |
GET atgriež katru ierakstu zonā kā vienkāršu masīvu (nav iepazīšanās), šķirot pēc tipa un nosaukuma. Post pievieno ierakstu uz zonas un publicē to.
| Parametrs | Tips | Obligāti | Apraksts |
|---|---|---|---|
record_type |
string | Jā | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Jā | @ domēnam, vai piemēram, www. Vārdi tiek glabāti mazā izmērā. |
value |
string | Jā | Ierakstu dati, piemēram, IP adrese vai datora nosaukums. Vēstulē nav nepieciešams izsekošanas punkts, un TXT vērtības nav nepieciešamas citāti; abas tiek pievienotas, kad ieraksts tiek publicēts. |
ttl |
integer | Jā | Laiks dzīvot sekundēs |
priority |
integer | Tikai MX un SRV | Vajadzīgs MX un SRV ierakstiem un ignorēts katram citam tipam. SRV, ieliec svaru, portu un mērķi vērtībā. |
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"
}
| Lauks | Tips | Apraksts |
|---|---|---|
uuid |
string | Ieraksta identifikators, ko izmanto /api/v1/dns-ieraksti/mērķi |
priority |
integer | null | Prioritāte MX un SRV ierakstiem, citādi nulle |
created_at |
date | Tikai izveidošanas datums (G-MM-DD), bez laika |
| 200 | GET: zonas dati |
| 201 | Post: ierakstīšanas datums |
| 400 | Validācijas kļūda, piemēram, nezināms ieraksta tips, trūkstošs ttl, vai MX vai SRV ieraksts bez prioritātes |
| 404 | Nav atrasts, vai arī tas pieder citam kontam |
Nospiež zonu un visus tās ierakstus uz vārdu serveriem. Ieraksti izmaiņas tiek publicētas automātiski, bet publikācija ir labākais pūles un neizdevās izpildīt sākotnējo pieprasījumu, tāpēc izmantojiet šo, ja izmaiņas neparādās DNS lookups. Nav nepieciešams pieprasīt iestādi.
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 atgriež ierakstus par visām jūsu zonām, 25 par lapu, pasūtīts pēc domēna, tipa un nosaukuma. Post rada ierakstu, piemēram, zonas ierakstu mērķa kritērijs, bet ņem zonu organismā kā zona_uid.
| Parametrs | Tips | Obligāti | Apraksts |
|---|---|---|---|
zone |
string | Nē | Tikai ieraksti par zonu ar šo uuid |
record_type |
string | Nē | Tikai šāda veida ieraksti, piemēram, MX (nejutīgs gadījums) |
page |
integer | Nē | Lapas numurs, sākot ar 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: panākumi |
| 201 | Post: ierakstīšanas datums |
| 400 | Validācijas kļūda, vai zone_uid trūkst, vai ne kāda no jūsu zonām |
GET atgriež vienu ierakstu. PUT aizstāj to un ir nepieciešams record_ type, name, value un ttl. PATCH maina tikai nosūtītos laukus. DELETE noņem ierakstu un atgriež 204 bez ķermeņa. Izmaiņas tiek publicētas uzreiz. NS ieraksti, kas izveidoti ar zonu ir sistēmas ieraksti: tos atjaunina vai izdzēš atgriež 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 vai PATCH: ieraksts |
| 204 | Dzēsta. Atbilde nav ķermeņa. |
| 400 | Validācijas kļūda |
| 403 | Ieraksts ir sistēmas ieraksts, vai marķieris trūkst vajadzīgo atļauju |
| 404 | Nav atrasts, vai arī tas pieder citam kontam |
Validācijas kļūdas atgriež 400 ar problēmu, kas atslēgta ar lauka nosaukumu:
{
"priority": ["MX records require a priority value"]
}
Pārbaudīt VPS.org nosaukumuserveri tieši, lai apstiprinātu izmaiņas ir dzīvot pirms jūsu reģistratora delegācijas vai atrisinātāja kešatmiņas pieķeršanās:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com