Vytvořte DNS zóny a spravovat jejich záznamy. Zóny jsou podávány ns1.vps.org, ns2.vps.org a ns3.vps.org.
Zóna drží záznamy pro jednu doménu. Každá změna, kterou provedete prostřednictvím API, je tlačena do jmenných serverů VPS.org ihned. Chcete-li sloužit doménu z těchto zón, nastavte své jmenovky na registrátora ns1.vps.org, ns2.vps.org a ns3.vps.org.
Změny jsou uloženy a zveřejněny v jednom kroku: pokud jmenovkáři změnu odmítnou, žádost vrátí 502 a nic se neuloží. Zóna nemůže být vytvořena pro doménu jiný účet již spravuje, rodič nebo dítě v zóně jiného účtu, nebo VPS.org vyhrazené jméno.
Požadované povolení:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Vrací vaše zóny, nejnovější první, 25 na stránku. Záznamy nejsou zahrnuty zde; přineste jednu zónu, aby je dostal.
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
domain |
string | Ne. | Vrátit pouze zónu s přesně tímto doménovým názvem |
page |
integer | Ne. | Číslo stránky, začínáme od 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
}
]
}
| Pole | Typ | Popis zboží |
|---|---|---|
uuid |
string | Identifikátor zóny |
domain |
string | Název domény, uložen v malém případě |
created_at |
datetime | Doba vytvoření (ISO 8601, UTC) |
record_count |
integer | Počet záznamů v oblasti včetně tří záznamů NS |
| 200 | Úspěch |
| 403 | Chybí nebo neplatná API žeton, nebo žeton postrádá požadované povolení |
Vytvoří zónu a zveřejní ji.Zóna začíná třemi NS záznamy pro ns1, ns2 a ns3.vps.org, které jsou systémové záznamy a nelze je editovat ani smazat.
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
domain |
string | Ano | Název domény, například.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 | Vytvořená zóna |
| 400 | Chybí nebo je neplatný název domény |
Vrací jednu zónu se všemi záznamy v pole záznamů. Odezva má stejný tvar jako tvorba odezvy výše.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Úspěch |
| 404 | Nenalezeno, nebo patří k jinému účtu |
Odstraňuje zónu ze všech tří jmenných serverů, kontroluje, zda ji nikdo z nich stále neslouží, a pak vymaže zónu a její záznamy. Pokud se na tuto zónu ještě někdo zodpovídá, žádost selže a zóna zůstane zachována, abyste se mohli znovu snažit.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Odezva nemá tělo. |
| 400 | Zóna nebyla smazána; detailní pole uvádí chyby. |
| 404 | Nenalezeno, nebo patří k jinému účtu |
GET vrací každý záznam v zóně jako pole (nezobrazené), seřazené podle typu a jména. POST přidá záznam do zóny a zveřejní ho.
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
record_type |
string | Ano | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Ano | @ pro doménu samotnou, nebo označení jako www. Jména jsou uložena v malém případě. |
value |
string | Ano | Záznamová data, například IP adresa nebo jméno hostitele. Hostitelská jména nepotřebují steakovou tečku a TXT hodnoty nepotřebují citace; obě jsou při publikování záznamu přidávány. |
ttl |
integer | Ano | Čas žít v sekundách |
priority |
integer | Pouze MX a SRV | Potřebné pro MX a SRV záznamy a ignorované pro každý jiný typ. Pro SRV, dát hmotnost, port a cíl v hodnotě. |
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"
}
| Pole | Typ | Popis zboží |
|---|---|---|
uuid |
string | Identifikační kód záznamu, který používá /api/v1/dns-records/endograms |
priority |
integer | null | Priorita pro MX a SRV záznamy, jinak nulová |
created_at |
date | Pouze datum vytvoření (R-MM-DD), bez času |
| 200 | GET: záznamy zóny |
| 201 | POST: vytvořen záznam |
| 400 | Chyba validace, například neznámý typ záznamu, chybějící ttl nebo MX nebo SRV záznam bez priority |
| 404 | Nenalezeno, nebo patří k jinému účtu |
Zatlačí zónu a všechny její záznamy do jmenoslužebníků znovu. Změny záznamu jsou zveřejněny automaticky, ale publikování je nejlepší úsilí a selhání nezklame původní požadavek, takže použijte, když změna se neukáže v DNS vyhledávače. Není potřeba žádat tělo.
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 vrací záznamy všech vašich zón, 25 na stránku, objednané podle domény, typu a názvu. POST vytváří záznam jako cílový bod záznamu zóny, ale bere zónu v těle jako zóna_uuid.
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
zone |
string | Ne. | Pouze záznamy o zóně s tímto uuid |
record_type |
string | Ne. | Pouze záznamy tohoto typu, například MX (případ necitlivý) |
page |
integer | Ne. | Číslo stránky, začínáme od 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: úspěch |
| 201 | POST: vytvořen záznam |
| 400 | Chyba ověření, nebo Zone_uuid chybí nebo není jedna z vašich zón |
GET vrací jeden záznam. PUT jej nahrazuje a potřebuje záznam_typ, jméno, hodnotu a tl. PATCH mění pouze pole, která odešlete. DELETE odstraní záznam a vrátí 204 bez těla. Změny jsou zveřejněny ihned. Záznamy NS vytvořené s zónou jsou systémové záznamy: aktualizace nebo mazání těchto záznamů vrací 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 nebo PATCH: záznam |
| 204 | Odezva nemá tělo. |
| 400 | Chyba ověření |
| 403 | Záznam je záznam systému, nebo žeton postrádá požadované povolení |
| 404 | Nenalezeno, nebo patří k jinému účtu |
Chyby validace vrátí 400 s problémem, který je klíčován názvem pole:
{
"priority": ["MX records require a priority value"]
}
Dotaz na jmenné servery VPS.org přímo potvrdit změnu je živě před vaší registrátor delegace nebo řešitel caches dohnat:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com