A DNS-zónák létrehozása és a rekordok kezelése. A zónákat ns1.vps.org, ns2.vps.org és ns3.vps.org szolgálja.
A zóna tartja a rekordokat egy domain. Minden változás, amit az API-n keresztül tesz, azonnal a VPS.org névszerverek. Ahhoz, hogy egy tartomány ezek a zónák, állítsa be a neveszerverek a regiszter ns1.vps.org, ns2.vps.org és ns3.vps.org.
A változtatások mentése és közzététele egy lépésben történik: ha a névszerverek visszautasítják a változást, a kérés 502 értéket ad vissza, és semmi sem menthető. Egy zóna nem hozható létre egy domain számára egy másik fiók már kezeli, egy másik számla zónájának szülője vagy gyermeke, vagy egy VPS.org fenntartott név.
Szükséges engedély:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Visszaadja a zónákat, a legújabbat, 25 oldalonként. A rekordok nem szerepelnek itt; egy zónát kapsz értük.
| Paraméter | Típus | Kívánt | Leírás |
|---|---|---|---|
domain |
string | Nem. | Csak a zónát adja vissza pontosan ezzel a domain névvel |
page |
integer | Nem. | Oldalszám, 1-től kezdődően |
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
}
]
}
| Mező | Típus | Leírás |
|---|---|---|
uuid |
string | Övezetazonosító |
domain |
string | Domain név, kisbetűben tárolva |
created_at |
datetime | Teremtési idő (ISO 8601, UTC) |
record_count |
integer | A zónában tárolt nyilvántartások száma, beleértve a három NS-nyilvántartást |
| 200 | Siker |
| 403 | Hiányzó vagy érvénytelen API token, vagy a token hiányzik a szükséges engedély |
Létrehoz egy zónát és közzéteszi azt. A zóna három NS rekorddal kezdődik ns1, ns2 és ns3.vps.org esetén, amelyek rendszer rekordok, és nem lehet szerkeszteni vagy törölni.
| Paraméter | Típus | Kívánt | Leírás |
|---|---|---|---|
domain |
string | Igen | A domain név, például a.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 | A zóna létrehozása |
| 400 | Hiányzó vagy érvénytelen domain név |
Egy zónát ad vissza, minden rekordjával egy adatsorban. A válasznak ugyanolyan alakja van, mint a fenti válasznak.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Siker |
| 404 | Nem található, vagy más számlához tartozik. |
Eltávolítja a zónát mindhárom névszervertől, ellenőrzi, hogy egyikük sem szolgálja még mindig, majd törli a zónát és annak feljegyzéseit. Ha a névszerver még mindig válaszol a zónára, a kérés nem sikerül, és a zóna megmarad, így újra lehet próbálni.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | A válasznak nincs holtteste. |
| 400 | A zóna neve még mindig a zónát szolgálja. A zónát nem törölték; a részletes mező felsorolja a hibákat. |
| 404 | Nem található, vagy más számlához tartozik. |
GET visszatér minden rekord a zónában, mint egy sima tömb (nem paginált), válogatott típus és név szerint. POST hozzáad egy rekordot a zónában, és közzéteszi azt.
| Paraméter | Típus | Kívánt | Leírás |
|---|---|---|---|
record_type |
string | Igen | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Igen | @ a domain vagy egy olyan címke, mint a www. Nevek tárolódnak kisbetűben. |
value |
string | Igen | A rekordadatok, például IP-cím vagy hostname. A gépneveknek nincs szükségük nyomkövető pontra és a TXT értékekre nincs szükségük idézőjelekre; a lemez közzétételekor mindkettővel bővül. |
ttl |
integer | Igen | Ideje másodpercek alatt élni. |
priority |
integer | Kizárólag MX és SRV | Az MX és SRV rekordok esetében szükséges, és minden más típus esetében figyelmen kívül hagyva. |
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"
}
| Mező | Típus | Leírás |
|---|---|---|
uuid |
string | Az /api/v1/dns-rekordok/ végpontok által használt rekordazonosító |
priority |
integer | null | Az MX és az SRV rekordok prioritása, egyébként semmi |
created_at |
date | A létrehozás dátuma (É-HH-NN), idő nélkül |
| 200 | GET: a zóna feljegyzései |
| 201 | POST: rekord létrehozása |
| 400 | Érvényesítési hiba, például ismeretlen rekordtípus, hiányzó ttl vagy MX vagy SRV rekord prioritás nélkül |
| 404 | Nem található, vagy más számlához tartozik. |
A zóna és minden rekordja újra a névszerverekhez kerül. A rekordváltozások automatikusan megjelennek, de a kiadó a legjobb erőfeszítés, és a hiba nem bukik meg az eredeti kérésen, így ezt akkor használja, ha a változás nem jelenik meg a DNS keresésben. Nincs szükség a kérésre.
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 visszatér az összes zóna, 25 oldal, megrendelt domain, típus és név. POST létrehoz egy rekord, mint a zóna rekord végpont, de veszi a zóna a szervezetben, mint zóna_uuid.
| Paraméter | Típus | Kívánt | Leírás |
|---|---|---|---|
zone |
string | Nem. | Csak a zóna feljegyzései ezzel az uuddal |
record_type |
string | Nem. | Csak ilyen típusú feljegyzések, például MX (eseti érzéketlenség) |
page |
integer | Nem. | Oldalszám, 1-től kezdődően |
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: siker |
| 201 | POST: rekord létrehozása |
| 400 | Érvényesítési hiba, vagy a zóna_uuid hiányzik vagy nem az Ön zónái |
GET visszatér egy rekord. PUT helyettesíti azt, és szüksége van rekord_type, név, érték és ttl. PATCH csak a mezőket küld. DELETE eltávolítja a rekordot, és visszatér 204 test nélkül. Változások kerülnek nyilvánosságra azonnal. Az NS rekordok létrehozott zóna rendszer rekordok: frissítése vagy törlése visszatér 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 | GYERÜNK, UT VAGY PATCH: a rekord |
| 204 | A válasznak nincs holtteste. |
| 400 | Érvényesítési hiba |
| 403 | A rekord egy rendszer rekord, vagy a token hiányzik a szükséges engedély |
| 404 | Nem található, vagy más számlához tartozik. |
A hitelesítési hibák 400-at adnak vissza a mezőnévvel kulcsolt problémával:
{
"priority": ["MX records require a priority value"]
}
A VPS.org névszerverek lekérdezése közvetlenül a változás megerősítésére élőben, mielőtt a regisztrátor delegálás vagy a feloldó gyorsítótár felzárkózna:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com