REST API – DNS

WEDOS REST API je stále ve vývoji. Přístup a funkce se mohou bez předchozího upozornění změnit.

Tento článek popisuje DNS endpoint WEDOS REST API. Pro WEDOS API (WAPI) viz WAPI – WEDOS DNS.

Základní informace o WEDOS REST API najdete v článku WEDOS REST API Manuál.

V tomto článku najdete následující informace:


Přístup k DNS endpointu

WDNS HTTP REST API v2 slouží ke správě DNS domén a jejich DNS záznamů ve službě WEDOS DNS (WDNS). API se řídí principy REST a komunikuje přes JSON.

Základní URL a autentizace

Základní URL pro DNS endpointy je: https://api.wedos.com/v2/dns

K autentizaci slouží pouze OAuth2 Bearer token odeslaný v hlavičce Authorization: Bearer <TOKEN>. Token musí mít scope wdns . Bez platného tokenu nebo s tokenem bez potřebného scope vrátí API chybu autentizace.

Každý endpoint podporuje režim ?example=1 (nebo &example=1 , pokud URL již obsahuje jiné parametry dotazu). Vrátí ukázkové volání (příkaz curl) pro daný endpoint bez nutnosti zadávat skutečné parametry. I v tomto režimu je vyžadován platný Bearer token.

Přehled endpointů

MetodaEndpointPopis
GET/domainsSeznam domén přihlášeného uživatele s vyhledáváním, filtrováním, řazením a stránkováním
GET/domains/{domain}Detail domény
GET/domains/{domain}/axfr-tsigInformace o AXFR TSIG klíči domény
GET/domains/{domain}/rowsSeznam DNS záznamů domény
GET/domains/{domain}/rows/{row_id}Detail jednoho DNS záznamu
POST/domains/addVytvoření nové domény
POST/domains/{domain}/commitUplatnění čekajících změn domény (commit)
POST/domains/{domain}/copyVytvoření kopie domény pod novým názvem
POST/domains/{domain}/axfr-runOkamžité spuštění AXFR přenosu (sekundární doména)
POST/domains/{domain}/axfr-tsigVytvoření nebo zrušení AXFR TSIG klíče domény
POST/domains/{domain}/rowsPřidání DNS záznamu k doméně
POST/domains/{domain}/zone-importImport DNS záznamů domény (přes AXFR nebo vložením textu ve formátu BIND)
PATCH/domains/{domain}Změna nastavení domény
PATCH/domains/{domain}/rows/{row_id}Změna existujícího DNS záznamu
DELETE/domains/{domain}Smazání domény
DELETE/domains/{domain}/rows/{row_id}Smazání DNS záznamu

Formát odpovědi

Všechny úspěšné i chybové odpovědi mají stejný tvar JSON objektu s těmito klíči: code (návratový kód), msg (textový popis kódu), request_id (identifikátor požadavku) a volitelně data (data odpovědi, pouze pokud je operace vrací).


GET /domains

Vrací seznam domén přihlášeného uživatele s podporou vyhledávání, filtrování, řazení a stránkování.

Parametry:

  • search – volitelný, řetězec – vyhledávání v názvu domény (podporuje IDN)
  • status – volitelný, řetězec – filtr podle stavu domény (např. active, disabled, deleted)
  • type – volitelný, řetězec – filtr podle typu domény (primary, secondary)
  • page – volitelný, celé číslo – číslo stránky, výchozí 1
  • page_limit – volitelný, celé číslo – počet záznamů na stránku, výchozí 50
  • orderby – volitelný, řetězec – řazení ve tvaru column [ASC|DESC]; podporované sloupce jsou domain a created_date; výchozí je domain ASC. Neplatný sloupec je tiše ignorován a použije se výchozí řazení.

Návratové kódy:

  • 1000 – OK
  • 5001 – interní chyba přihlášení

Data odpovědi:

  • domain – pole domén; každá položka obsahuje name, status, type
  • total – celkový počet domén odpovídajících filtru
  • page – aktuální stránka
  • page_limit – počet záznamů na stránku

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/dns/domains?search=domain1&status=active&page=1&page_limit=50'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b70",
  "data": {
    "domain": [
      {"name": "domain1.cz", "status": "active", "type": "primary"},
      {"name": "domain1.com", "status": "active", "type": "secondary"}
    ],
    "total": 2,
    "page": 1,
    "page_limit": 50
  }
}

GET /domains/{domain}

Vrací podrobné informace o doméně.

Parametry:

  • domain – povinný, řetězec (path) – název domény

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný název domény
  • 3222 – nepodařilo se otevřít doménu (např. neexistuje)
  • 3223 – chyba autorizace (doména patří jinému uživateli)
  • 3305 – doména je uzamčena
  • 3306 – doména je smazána
  • 5001 – interní chyba přihlášení

Data odpovědi:

  • domain – objekt s podrobnostmi domény: name, status, type, tlock, autocommit, axfr_enabled, axfr_ips, changed, changed_date, commit_date, reload_pending, reload_pending_date, reload_date, disabled_date, enabled_date, add_date, rname, serial, refresh, retry, expire, minimum, rr_cnt, ns_out, ns

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b71",
  "data": {
    "domain": {
      "name": "domain1.tld",
      "status": "active",
      "type": "primary",
      "tlock": 0,
      "autocommit": 1,
      "axfr_enabled": 0,
      "axfr_ips": "",
      "changed": 0,
      "changed_date": null,
      "commit_date": "2026-09-30 12:00:00",
      "reload_pending": 0,
      "reload_pending_date": null,
      "reload_date": "2026-09-30 12:01:00",
      "disabled_date": null,
      "enabled_date": null,
      "add_date": "2026-01-15 09:30:00",
      "rname": "wedos.com",
      "serial": 2026093001,
      "refresh": 10800,
      "retry": 3600,
      "expire": 604800,
      "minimum": 3600,
      "rr_cnt": 12,
      "ns_out": 1,
      "ns": ["ns.wedos.cz", "ns.wedos.net", "ns.wedos.eu"]
    }
  }
}

GET /domains/{domain}/axfr-tsig

Vrací informace o AXFR TSIG klíči domény (slouží k autentizaci DNS přenosů AXFR/IXFR). Pokud není pro doménu TSIG nastaven, vrátí endpoint chybu 2334.

Parametry:

  • domain – povinný, řetězec (path) – název domény

Návratové kódy:

  • 1000 – OK
  • 2334 – AXFR TSIG není pro doménu nastaven
  • 2337 – neplatný AXFR TSIG příkaz
  • 2340 – překročen maximální počet domén v jedné hromadné akci
  • další chybové kódy související s otevřením domény – viz GET /domains/{domain} (např. 3222, 3223, 3305, 3306)

Data odpovědi:

  • name – název domény
  • axfr_tsig_action – provedená akce, vždy info
  • axfr_tsig_name – název TSIG klíče
  • axfr_tsig_alg – algoritmus TSIG klíče
  • axfr_tsig_key – hodnota TSIG klíče (base64)

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/axfr-tsig'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b72",
  "data": {
    "name": "example.cz",
    "axfr_tsig_action": "info",
    "axfr_tsig_name": "domain1.tld.",
    "axfr_tsig_alg": "hmac-sha256",
    "axfr_tsig_key": "asdfghJKL1234567890."
  }
}

GET /domains/{domain}/rows

Vrací seznam DNS záznamů domény. Tuto operaci nelze provést pro sekundární domény (jejich záznamy spravuje primární server).

Parametry:

  • domain – povinný, řetězec (path) – název domény

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný název domény
  • 2318 – operaci nelze provést na sekundární doméně
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – chyba autorizace
  • 3305 – doména je uzamčena
  • 3306 – doména je smazána
  • 5001 – interní chyba přihlášení

Data odpovědi:

  • row – pole DNS záznamů, každý s klíči ID, name, ttl, rdtype, rdata, changed_date, author_comment

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/rows'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "1d6e8a5f3b73",
  "data": {
    "row": [
      {
        "ID": 123,
        "name": "www",
        "ttl": 1800,
        "rdtype": "A",
        "rdata": "46.28.105.2",
        "changed_date": "2026-09-30 12:00:00",
        "author_comment": "production server"
      },
      {
        "ID": 124,
        "name": "",
        "ttl": 3600,
        "rdtype": "MX",
        "rdata": "10 mail.wedos.com.",
        "changed_date": "2026-09-30 12:00:00",
        "author_comment": ""
      }
    ]
  }
}

GET /domains/{domain}/rows/{row_id}

Vrací detail jednoho DNS záznamu domény.

Parametry:

  • domain – povinný, řetězec (path) – název domény
  • row_id – povinný, celé číslo (path) – ID DNS záznamu

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný název domény
  • 2318 – operaci nelze provést na sekundární doméně
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – chyba autorizace
  • 3305 – doména je uzamčena
  • 3306 – doména je smazána
  • 3309 – záznam s tímto ID neexistuje
  • 5001 – interní chyba přihlášení

Data odpovědi:

  • row – objekt s podrobnostmi záznamu: ID, name, ttl, rdtype, rdata, changed_date, author_comment

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/rows/123'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2",
  "data": {
    "row": {
      "ID": 123,
      "name": "www",
      "ttl": 1800,
      "rdtype": "A",
      "rdata": "46.28.105.2",
      "changed_date": "2026-09-30 12:00:00",
      "author_comment": "production server"
    }
  }
}

POST /domains/add

Vytvoří novou doménu ve WDNS, buď jako primární doménu (DNS záznamy spravuje WEDOS), nebo jako sekundární doménu (záznamy se přenášejí přes AXFR z externího primárního serveru).

Parametry:

  • name – povinný, řetězec – název domény
  • type – volitelný, řetězec – primary nebo secondary, výchozí primary
  • axfr_enabled – volitelný, boolean (0/1) – povolen odchozí AXFR, výchozí 0
  • axfr_ips – volitelný, řetězec nebo pole řetězců – IP adresy povolené pro odchozí AXFR (řetězec adres oddělených mezerami, nebo JSON pole adres); povinný, pokud axfr_enabled=1
  • primary_ip – volitelný (povinný pro type=secondary), řetězec – IPv4 adresa primárního serveru, ze kterého se záznamy přenášejí
  • primary_tsig_enabled – volitelný, boolean – vyžaduje TSIG autentizaci příchozího AXFR (pouze pro type=secondary)
  • primary_tsig_name – volitelný (povinný, pokud primary_tsig_enabled=1), řetězec – název TSIG klíče
  • primary_tsig_alg – volitelný (povinný, pokud primary_tsig_enabled=1), řetězec – algoritmus TSIG klíče; podporované hodnoty: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384, hmac-sha512
  • primary_tsig_key – volitelný (povinný, pokud primary_tsig_enabled=1), řetězec – hodnota TSIG klíče kódovaná v base64 (minimální délka dekódovaného klíče 8 bajtů)
  • template_id – volitelný, celé číslo – ID šablony použité k vytvoření domény; platí pouze pro type=primary

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný název domény
  • 2301 – neplatný formát parametru type
  • 2302 – parametr primary_ip chybí
  • 2303 – neplatný formát parametru primary_ip
  • 2304 – neplatný formát parametru axfr_enabled
  • 2305 – povinný parametr axfr_ips chybí
  • 2306 – neplatný formát parametru axfr_ips
  • 2322 – překročen limit WDNS domén pro tento účet
  • 2323 – šablona nenalezena
  • 2324 – šablonu lze použít pouze k vytvoření primární domény
  • 2325 – není definována žádná šablona
  • 2330–2333 – neplatná konfigurace TSIG (celkově, název, algoritmus, klíč)
  • 2355 – AXFR IP adresa není platná
  • 2366 – axfr_ips řetězec je delší než 255 znaků
  • 2367 – není zadána žádná IP adresa pro odchozí AXFR
  • 3302 – přidání domény do WDNS se nezdařilo
  • 3303 – doména již ve WDNS existuje
  • 5001 – interní chyba autorizace

Data odpovědi:

  • domain_id – interní ID nově vytvořené domény
  • name – název domény

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/dns/domains/add' \
  --data '{"name":"domain1.tld","type":"primary"}'

Tělo požadavku:

{
  "name": "domain1.tld",
  "type": "primary"
}

Odpověď:

{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b75",
  "data": {
    "domain_id": 48213,
    "name": "domain1.tld"
  }
}

POST /domains/{domain}/commit

Uplatní čekající změny domény (commit) a rozšíří je na produkční DNS servery.

Parametry:

  • domain – povinný, řetězec (path) – název domény

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný název domény
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – chyba autorizace
  • 3305 – doména je uzamčena
  • 3306 – doména je smazána
  • 5001 – interní chyba autorizace

Data odpovědi: Endpoint nevrací žádná data; úspěch je indikován kódem 1000.

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/commit'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b76"
}

POST /domains/{domain}/copy

Vytvoří kopii existující domény (včetně jejích DNS záznamů) pod novým názvem.

Parametry:

  • domain – povinný, řetězec (path) – název zdrojové domény
  • name_new – povinný, řetězec (tělo požadavku) – název nové domény

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný název domény
  • 2320 – neplatný nebo nepodporovaný název nové domény
  • 2321 – nepodporovaná TLD nového názvu domény
  • 2322 – překročen limit DNS záznamů na uživatele
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – chyba autorizace
  • 3305 – doména je uzamčena
  • 3306 – doména je smazána
  • 3311 – kopírování se nezdařilo
  • 3312 – doména s tímto názvem již existuje
  • 5001 – interní chyba autorizace

Data odpovědi: Endpoint nevrací žádná data; úspěch je indikován kódem 1000.

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/copy' \
  --data '{"name_new":"domain2.tld"}'

Tělo požadavku:

{
  "name_new": "domain2.tld"
}

Odpověď:

{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b77"
}

POST /domains/{domain}/axfr-run

Okamžitě spustí AXFR přenos DNS záznamů pro sekundární doménu (mimo pravidelný rozvrh).

Parametry:

  • domain – povinný, řetězec (path) – název domény

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný název domény
  • 2319 – lze provést pouze na sekundární doméně
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – chyba autorizace
  • 3305 – doména je uzamčena
  • 3306 – doména je smazána
  • 5001 – interní chyba autorizace

Data odpovědi:

  • next_run – čas příští plánované aktualizace

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/axfr-run'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b78",
  "data": {
    "next_run": "2026-10-01 09:15:00"
  }
}

POST /domains/{domain}/axfr-tsig

Vytvoří nebo zruší AXFR TSIG klíč domény (autentizace odchozích AXFR/IXFR přenosů).

Parametry:

  • domain – povinný, řetězec (path) – název domény
  • action – volitelný, řetězec (tělo požadavku) – create (vytvoření/aktualizace) nebo cancel, výchozí create; hodnota se interně mapuje na WAPI parametr axfr_tsig_action

Návratové kódy:

  • 1000 – OK
  • 2335 – AXFR TSIG nebyl pro doménu vytvořen
  • 2336 – AXFR TSIG nebyl pro doménu zrušen
  • 2337 – neplatný AXFR TSIG příkaz
  • 2340 – překročen maximální počet domén v jedné hromadné akci
  • další chybové kódy související s otevřením domény – viz GET /domains/{domain} (např. 3222, 3223, 3305, 3306)

Data odpovědi:

  • name – název domény
  • axfr_tsig_action – provedená akce (create/cancel)
  • axfr_tsig_name – název TSIG klíče (pouze pro create)
  • axfr_tsig_alg – algoritmus TSIG klíče (pouze pro create)
  • axfr_tsig_key – hodnota TSIG klíče, base64 (pouze pro create)

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/axfr-tsig' \
  --data '{"action":"create"}'

Tělo požadavku:

{
  "action": "create"
}

Odpověď:

{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b79",
  "data": {
    "name": "example.cz",
    "axfr_tsig_action": "create",
    "axfr_tsig_name": "example.cz.",
    "axfr_tsig_alg": "hmac-sha256",
    "axfr_tsig_key": "asdfghJKL1234567890"
  }
}

POST /domains/{domain}/rows

Přidá k doméně nový DNS záznam.

Parametry:

  • domain – povinný, řetězec (path) – název domény
  • name – povinný, řetězec (tělo požadavku) – název záznamu; prázdný řetězec znamená záznam na úrovni samotné domény (apex)
  • ttl – povinný, celé číslo (tělo požadavku) – TTL záznamu v sekundách, nenulová hodnota
  • type – povinný, řetězec (tělo požadavku) – typ záznamu; podporované hodnoty: A, AAAA, ALIAS, CAA, CNAME, DNAME, HTTPS, MX, NAPTR, NS, SRV, SSHFP, TLSA, TXT
  • rdata – povinný, řetězec (tělo požadavku) – data záznamu (formát závisí na typu záznamu)
  • author_comment – volitelný, řetězec (tělo požadavku) – komentář autora; povolena jsou pouze písmena bez diakritiky, číslice a mezery; starší klienti mohou místo toho posílat auth_comment (rovnocenný alias)

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný název domény
  • 2298 – parametr author_comment obsahuje neplatné znaky
  • 2309 – neplatný typ záznamu
  • 2310 – k doméně nelze přidat další záznam (dosažen limit záznamů)
  • 2311 – neplatný název záznamu
  • 2312 – neplatný název pro daný typ záznamu
  • 2313 – neplatný CNAME pro tento název
  • 2314 – neplatná data záznamu
  • 2315 – neplatná TLD
  • 2316 – tento záznam již existuje
  • 2317 – neplatná TTL
  • 2318 – operaci nelze provést na sekundární doméně
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – chyba autorizace
  • 3305 – doména je uzamčena
  • 3306 – doména je smazána
  • 3307 – přidání záznamu domény se nezdařilo
  • 5001 – interní chyba autorizace

Data odpovědi:

  • domain – název domény
  • row_id – ID nově vytvořeného záznamu

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/rows' \
  --data '{"name":"www","ttl":1800,"type":"A","rdata":"46.28.105.2"}'

Tělo požadavku:

{
  "name": "www",
  "ttl": 1800,
  "type": "A",
  "rdata": "46.28.105.2"
}

Odpověď:

{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b80",
  "data": {
    "domain": "domain1.tld",
    "row_id": 125
  }
}

POST /domains/{domain}/zone-import

Importuje DNS záznamy domény. Podporovány jsou dva režimy (import_type):

  • axfr – endpoint se pokusí stáhnout záznamy přes AXFR ze zadané IP adresy a vrátí je jako text ve formátu BIND k ruční kontrole. Toto volání záznamy neimportuje automaticky. Pro jejich import je zkopírujte a odešlete v samostatném volání s import_type=text.
  • text – záznamy předané ve formátu BIND v parametru rows jsou ověřeny a importovány přímo do domény.

Import je možný pouze pro primární doménu.

Parametry:

  • domain – povinný, řetězec (path) – název domény
  • import_type – povinný, řetězec (tělo požadavku) – axfr nebo text
  • axfr_ip – povinný pro import_type=axfr, řetězec (tělo požadavku) – IPv4 adresa DNS serveru, ze kterého se záznamy stáhnou přes AXFR
  • rows – povinný pro import_type=text, řetězec (tělo požadavku) – DNS záznamy jako text ve formátu BIND (nikoli JSON pole, ale jediný víceřádkový řetězec)

Návratové kódy:

  • 1000 – OK
  • 2338 – nemáte oprávnění tuto doménu upravovat
  • 2350 – neplatná hodnota typu importu
  • 2351 – chybí seznam DNS záznamů (rows nebyl zadán s import_type=text)
  • 2352 – ze zadané IP se nepodařilo získat žádná data k importu
  • 2353 – importovaný seznam DNS obsahuje neplatný záznam; import nebyl proveden
  • 2354 – chybí AXFR IP adresa
  • 2355 – AXFR IP adresa není platná
  • 2357 – z textu se nepodařilo získat žádná data k importu
  • 2358 – nelze importovat 2 shodné záznamy (název, typ, data)
  • 2359 – překročen maximální počet záznamů
  • 2360 – záznam CNAME nelze importovat, pokud pro jeho název existuje jakýkoli jiný záznam
  • 2363 – záznamy stejného typu musí mít stejnou TTL
  • 2364 – DNS záznamy nebyly importovány (interní chyba importu)
  • 2365 – AXFR IP adresa musí být ve formátu IPv4
  • 2368 – import je povolen pouze pro primární doménu

Data odpovědi:

  • pro import_type=axfr: name, import_type, axfr_ip, desc (popisná poznámka), rows (stažené záznamy ve formátu BIND, ohraničené --- BEGIN ---/--- END ---, určené ke zkopírování do navazujícího volání s import_type=text)
  • pro import_type=text (úspěšný import): name, import_type, source_rows (vstupní text), imported_rows (skutečně importované záznamy, ve formátu BIND)

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/zone-import' \
  --data '{"import_type":"text","rows":"www IN A 46.28.105.2\nmail IN A 46.28.105.3"}'

Tělo požadavku:

{
  "import_type": "text",
  "rows": "www IN A 46.28.105.2\nmail IN A 46.28.105.3"
}

Odpověď:

{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b81",
  "data": {
    "name": "example.cz",
    "import_type": "text",
    "source_rows": "\n--- BEGIN ---\nwww IN A 46.28.105.2\nmail IN A 46.28.105.3\n--- END ---",
    "imported_rows": "\n--- BEGIN ---\nwww 3600 IN A 46.28.105.2\nmail 3600 IN A 46.28.105.3\n--- END ---"
  }
}

PATCH /domains/{domain}

Změní nastavení existující domény (parametry AXFR a TSIG). Název a typ domény touto operací změnit nelze.

Parametry:

  • domain – povinný, řetězec (path) – název domény
  • axfr_enabled – volitelný, boolean (0/1) – povolen odchozí AXFR
  • axfr_ips – volitelný, řetězec nebo pole řetězců – IP adresy povolené pro odchozí AXFR (řetězec adres oddělených mezerami, nebo JSON pole adres); povinný při nastavení axfr_enabled=1
  • primary_ip – volitelný, řetězec – IPv4 adresa primárního serveru (pouze sekundární doména)
  • primary_tsig_enabled – volitelný, boolean – vyžaduje TSIG autentizaci příchozího AXFR (pouze sekundární doména)
  • primary_tsig_name – volitelný, řetězec – název TSIG klíče
  • primary_tsig_alg – volitelný, řetězec – algoritmus TSIG klíče (hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384, hmac-sha512)
  • primary_tsig_key – volitelný, řetězec – hodnota TSIG klíče, base64

Návratové kódy:

  • 1000 – OK
  • 2007 – překročena maximální velikost požadavku
  • 2100 – chybí vstupní parametr
  • 2101 – neplatné vstupní parametry
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný nebo nepodporovaný název domény
  • 2303 – neplatný formát parametru primary_ip
  • 2304 – neplatný formát parametru axfr_enabled
  • 2305 – povinný parametr axfr_ips chybí
  • 2306 – neplatný formát parametru axfr_ips
  • 2330–2333 – neplatná konfigurace TSIG (celkově, název, algoritmus, klíč)
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – chyba autorizace
  • 3304 – aktualizace záznamu domény se nezdařila
  • 3305 – doména je uzamčena
  • 3306 – doména je smazána
  • 5001 – interní chyba autentizace

Data odpovědi: Endpoint nevrací žádná data; úspěch je indikován kódem 1000.

Příklad:

curl -X PATCH -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld' \
  --data '{"axfr_enabled":1,"axfr_ips":"46.28.105.2 46.28.105.3"}'

Tělo požadavku:

{
  "axfr_enabled": 1,
  "axfr_ips": "46.28.105.2 46.28.105.3"
}

Odpověď:

{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b82"
}

PATCH /domains/{domain}/rows/{row_id}

Změní existující DNS záznam. Název a typ záznamu touto operací změnit nelze; pro jejich změnu původní záznam smažte a přidejte nový.

Parametry:

  • domain – povinný, řetězec (path) – název domény
  • row_id – povinný, celé číslo (path) – ID DNS záznamu
  • ttl – povinný, celé číslo (tělo požadavku) – nová hodnota TTL v sekundách
  • rdata – povinný, řetězec (tělo požadavku) – nová data záznamu
  • author_comment – volitelný, řetězec (tělo požadavku) – komentář autora; povolena jsou pouze písmena bez diakritiky, číslice a mezery; starší klienti mohou místo toho posílat auth_comment .

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný název domény
  • 2298 – parametr author_comment obsahuje neplatné znaky
  • 2314 – neplatná data záznamu
  • 2316 – tento záznam již existuje
  • 2317 – neplatná TTL
  • 2318 – operaci nelze provést na sekundární doméně
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – chyba autorizace
  • 3305 – doména je uzamčena
  • 3306 – doména je smazána
  • 3309 – záznam s tímto ID neexistuje
  • 3310 – změna záznamu se nezdařila
  • 5001 – interní chyba autorizace

Data odpovědi: Endpoint nevrací žádná data; úspěch je indikován kódem 1000.

Příklad:

curl -X PATCH -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/rows/123' \
  --data '{"ttl":3600,"rdata":"46.28.105.3"}'

Tělo požadavku:

{
  "ttl": 3600,
  "rdata": "46.28.105.3"
}

Odpověď:

{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b83"
}

DELETE /domains/{domain}

Smaže doménu z WDNS.

Parametry:

  • domain – povinný, řetězec (path) – název domény

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný nebo nepodporovaný název domény
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – přístup odepřen
  • 3301 – odstranění záznamu domény se nezdařilo
  • 3305 – doména je uzamčena
  • 3306 – doména je již smazána
  • 5001 – interní chyba autorizace

Data odpovědi: Endpoint nevrací žádná data; úspěch je indikován kódem 1000.

Příklad:

curl -X DELETE -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b84"
}

DELETE /domains/{domain}/rows/{row_id}

Smaže DNS záznam domény.

Parametry:

  • domain – povinný, řetězec (path) – název domény
  • row_id – povinný, celé číslo (path) – ID DNS záznamu

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný vstupní parametr
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný nebo nepodporovaný název domény
  • 2318 – operaci nelze provést na sekundární doméně
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – přístup odepřen
  • 3305 – doména je uzamčena
  • 3306 – doména je smazána
  • 3308 – smazání záznamu se nezdařilo
  • 3309 – záznam s tímto ID neexistuje
  • 5001 – interní chyba autorizace

Data odpovědi: Endpoint nevrací žádná data; úspěch je indikován kódem 1000.

Příklad:

curl -X DELETE -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/dns/domains/domain1.tld/rows/123'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "f3a9c1e2-7b44-4e21-9c2a-1d6e8a5f3b85"
}

Poznámky

  • Kromě chybových kódů uvedených u jednotlivých endpointů mohou nastat obecné chyby REST vrstvy společné všem endpointům: 2000 (chybějící nebo neplatný OAuth2 Bearer token), 2004 (překročena maximální velikost požadavku – URL/query string nebo tělo požadavku), 4000 (neznámá/nepodporovaná kombinace cesty URL a HTTP metody), 4001 (ověření vstupu selhalo), 4005 (pro tento endpoint není v režimu ?example=1 definován žádný příklad) a 6000 (interní chyba inicializace WAPI vrstvy). U metod PATCH/DELETE, pokud chybí segment {domain} v URL, vrací se chyba 6001 (povinný parametr domain chybí).
  • Nerozpoznaná kombinace segmentů URL (např. /domains/{domain}/rows bez {row_id} u metod PATCH/DELETE) vždy vrací 4000. Nikdy tiše nepřejde na jinou operaci (např. na úroveň celé domény).
  • REST vrstva přijímá parametr axfr_ips buď jako řetězec IP adres oddělených mezerami, nebo jako JSON pole adres. Před voláním podkladového WAPI příkazu obě varianty normalizuje do interního formátu. Prázdný řetězec se považuje za nezadanou hodnotu.
  • Parametry primary_ip a primary_tsig_* se uplatní pouze u domén typu secondary.
  • template_id se při vytváření domény (POST /domains/add) uplatní pouze u primární domény (type=primary nebo neuvedeno). U sekundární domény vrací chybu 2324.
  • rr_limit (maximální počet DNS záznamů pro doménu) není podporovaným parametrem POST /domains/add. Endpoint jej nepřijímá; limit je dán účtem/šablonou.
  • U POST /domains/{domain}/zone-import je důležité rozlišovat dva režimy parametru import_type : axfr pouze stáhne záznamy a vrátí je jako text k ruční kontrole (nic se neimportuje), zatímco text zapíše záznamy do domény přímo po ověření. Typický postup je proto nejprve zavolat import_type=axfr , zkontrolovat vrácený text a teprve poté jej odeslat jako import_type=text.
  • author_comment (při přidávání/změně DNS záznamu) povoluje pouze písmena bez diakritiky, číslice a mezery. Starší klienti mohou místo něj použít parametr auth_comment se stejným významem.
  • Parametry name a type DNS záznamu nelze změnit přes PATCH /domains/{domain}/rows/{row_id}. Pro jejich změnu záznam smažte a přidejte znovu.
  • Vlastnictví domény se ověřuje v rámci každé operace podle přihlášeného uživatele (identifikovaného z OAuth2 tokenu). Pokud doména patří jinému uživateli, vrací se chyba 3223 .

Bylo to užitečné?

Děkujeme za zpětnou vazbu!
Obecné selektory
Pouze přesné shody
Hledat v názvu
Hledat v obsahu
Selektory typů příspěvků