VPS.org API

Dokumentácia REST API

API na správu DNS

Spravujte DNS zóny a záznamy programovo pre vaše domény.

Koncové body 4 koncové body
Základná cesta /api/v1/dns-zones
Autentifikácia Požadovaný token na doručiteľa

Prehľad

DNS API poskytuje kompletnú správu DNS zón a záznamov, ktoré sú hosťované na autoritatívnych názvových serveroch VPS.org s automatickou generáciou a nasadením súborov zóny BIND9.

Infraštruktúra názvového servera

Kľúčové vlastnosti a funkcie

Autentifikácia

Všetky požiadavky DNS API vyžadujú overenie tokenu nosiča.Generovať API tokeny z riadiaceho panela účtu na adrese /account/developers/ S nasledujúcimi oprávneniami:

Príklad

Authorization: Bearer vps_abc123def456...
Dôležité: Tokeny API sa zobrazujú iba raz počas vytvárania.Uchovávajte ich bezpečne. Ak stratíte token, musíte vygenerovať nový.
ZÍSKAŤ /api/v1/dns-zones/

Zoznam všetkých DNS zón

Získa stránkovaný zoznam všetkých DNS zón, ktoré vlastní overený používateľ.Podporuje filtrovanie podľa názvu domény.

Parametre dopytu

Parameter Typ Povinné Opis
domain string Nie Filter zones by exact domain name (e.g., example.com)

Príklad žiadosti

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/dns-zones/" \
  -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)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
  headers: {'Authorization': 'Bearer YOUR_API_TOKEN'}
});

const zones = await response.json();
console.log(zones);

Príklad odpovede

[
  {
    "uuid": "abc123-def456-ghi789",
    "domain": "example.com",
    "created_at": "2024-01-15T10:30:00Z",
    "record_count": 12
  },
  {
    "uuid": "xyz789-uvw456-rst123",
    "domain": "myapp.io",
    "created_at": "2024-06-20T14:15:00Z",
    "record_count": 8
  }
]

Polia odpovede

Pole Typ Opis
uuid string Unique zone identifier (used in API requests)
domain string Domain name for this DNS zone
created_at datetime Zone creation timestamp (ISO 8601 format)
record_count integer Total number of DNS records in this zone

Kódy stavu odpovede

200 Successfully retrieved DNS zones list
401 Unauthorized - Invalid or missing API token
403 Forbidden - Token lacks dns:list permission
ZÍSKAŤ /api/v1/dns-zones/{uuid}/

Získať podrobnosti o zóne DNS

Získajte podrobné informácie o konkrétnej zóne DNS vrátane všetkých záznamov.

Parametre cesty

Parameter Typ Povinné Opis
uuid string Áno Unique zone identifier

Príklad odpovede

{
  "uuid": "abc123-def456-ghi789",
  "domain": "example.com",
  "created_at": "2024-01-15T10:30:00Z",
  "record_count": 5,
  "records": [
    {
      "uuid": "rec-001",
      "record_type": "A",
      "name": "@",
      "value": "192.0.2.1",
      "ttl": 3600,
      "priority": null,
      "created_at": "2024-01-15T10:30:00Z"
    },
    {
      "uuid": "rec-002",
      "record_type": "MX",
      "name": "@",
      "value": "mail.example.com",
      "ttl": 3600,
      "priority": 10,
      "created_at": "2024-01-15T10:32:00Z"
    }
  ]
}

Kódy stavu odpovede

200 Successfully retrieved zone details
404 Zone not found or not owned by user
POST /api/v1/dns-zones/

Vytvorenie DNS zóny

Vytvorte novú DNS zónu pre doménu, ktorá bude okamžite nasadená na VPS.org názvových serverov.

Parametre tela požiadavky

Parameter Typ Povinné Opis
domain string Áno Domain name (e.g., example.com)

Príklad žiadosti

cURL
Python
JavaScript
curl -X POST "https://admin.vps.org/api/v1/dns-zones/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "newdomain.com"}'
import requests

url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {"domain": "newdomain.com"}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({domain: 'newdomain.com'})
});

const zone = await response.json();
console.log(zone);

Príklad odpovede

{
  "uuid": "new-zone-uuid",
  "domain": "newdomain.com",
  "created_at": "2026-01-18T16:45:00Z",
  "record_count": 0,
  "records": []
}

Kódy stavu odpovede

201 DNS zone created successfully
400 Bad Request - Invalid domain name or zone already exists
403 Forbidden - Token lacks dns:create permission
ODSTRÁNIŤ /api/v1/dns-zones/{uuid}/

Odstránenie zóny DNS

Natrvalo odstrániť zónu DNS a všetky priradené záznamy. Túto akciu nie je možné vrátiť späť.

Parametre cesty

Parameter Typ Povinné Opis
uuid string Áno Unique zone identifier

Kódy stavu odpovede

204 Zone deleted successfully (no response body)
403 Forbidden - Token lacks dns:delete permission
404 Zone not found
ZÍSKAŤ /api/v1/dns-zones/{uuid}/records/

Zoznam záznamov DNS v zóne

Načítať všetky DNS záznamy pre konkrétnu zónu (vnorenú trasu).

Parametre cesty

Parameter Typ Povinné Opis
uuid string Áno Zone UUID

Príklad žiadosti

curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Príklad odpovede

[
  {
    "uuid": "rec-001",
    "record_type": "A",
    "name": "@",
    "value": "192.0.2.1",
    "ttl": 3600,
    "priority": null,
    "created_at": "2024-01-15T10:30:00Z"
  },
  {
    "uuid": "rec-002",
    "record_type": "MX",
    "name": "@",
    "value": "mail.example.com",
    "ttl": 3600,
    "priority": 10,
    "created_at": "2024-01-15T10:32:00Z"
  }
]
POST /api/v1/dns-zones/{uuid}/records/

Vytvorenie DNS záznamu v zóne

Pridajte nový DNS záznam do konkrétnej zóny (vnorená trasa).

Parametre tela požiadavky

Parameter Typ Povinné Opis
record_type string Áno Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name string Áno Record name (@ for root, subdomain, or FQDN)
value string Áno Record value (IP address, hostname, text)
ttl integer No Time to live in seconds (default: 3600)
priority integer For MX/SRV Priority (required for MX and SRV records)

Príklad žiadosti

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "record_type": "A",
    "name": "www",
    "value": "192.0.2.1",
    "ttl": 3600
  }'
import requests

url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "record_type": "A",
    "name": "www",
    "value": "192.0.2.1",
    "ttl": 3600
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Kódy stavu odpovede

201 DNS record created successfully
400 Bad Request - Invalid parameters or validation error (e.g., MX record missing priority)
GET PUT PATCH DELETE /api/v1/dns-records/{uuid}/

Správa DNS záznamov (priamy prístup)

Úplné CRUD operácie na jednotlivých DNS záznamoch pomocou UUID záznamu.

Dostupné operácie

Parametre dotazu (pre GET /api/v1/dns-records/)

Parameter Typ Opis
zone string Filter records by zone UUID
record_type string Filter by record type (A, AAAA, MX, etc.)

Príklad: Aktualizácia TTL záznamu

curl -X PATCH "https://admin.vps.org/api/v1/dns-records/{rec-uuid}/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ttl": 1800}'

Supported DNS Record Types

Typ Purpose Example Value Priority Required
A Maps domain to IPv4 address 192.0.2.1 Nie
AAAA Maps domain to IPv6 address 2001:0db8::1 Nie
CNAME Creates alias to another domain example.com Nie
MX Mail server for domain mail.example.com Áno
TXT Text record (SPF, DKIM, verification) v=spf1 include:_spf.google.com ~all Nie
NS Nameserver delegation ns1.example.com Nie
SRV Service location record 10 5060 sip.example.com Áno
CAA Certificate authority authorization 0 issue "letsencrypt.org" Nie

Najlepšie postupy

Konfigurácia TTL

Spoločné vzory

Bezpečnosť

Manipulácia s chybami

Časté chyby

Stavový kód Chyba Roztok
400 Neplatný názov domény Uistite sa, že doména dodržiava konvencie názvov DNS
400 MX záznam vyžaduje prioritu Zahrnúť priority Pole pre MX a SRV záznamy
401 Neplatný API token Formát kontrolného tokenu (musí začínať písmenom vps_)
403 Chýbajúce povolenie Generovať nový token s požadovaným dns:* Povolenia
404 Zóna/záznam nebol nájdený Overenie UUID a uistenie sa, že zdroj patrí k vášmu účtu

Príklad chybovej odpovede

{
  "detail": "MX records require a priority value",
  "error_code": "validation_error",
  "field": "priority"
}

Testovanie zmien DNS

Overiť šírenie záznamov

# Query A record
dig example.com A

# Query specific nameserver
dig @ns1.vps.org example.com

# Query MX records
dig example.com MX

# Check all records
dig example.com ANY

Používanie online nástrojov