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
- Podrobnosti DNS endpointu:
- GET /domains
- GET /domains/{domain}
- GET /domains/{domain}/axfr-tsig
- GET /domains/{domain}/rows
- GET /domains/{domain}/rows/{row_id}
- POST /domains/add
- POST /domains/{domain}/commit
- POST /domains/{domain}/copy
- POST /domains/{domain}/axfr-run
- POST /domains/{domain}/axfr-tsig
- POST /domains/{domain}/rows
- POST /domains/{domain}/zone-import
- PATCH /domains/{domain}
- PATCH /domains/{domain}/rows/{row_id}
- DELETE /domains/{domain}
- DELETE /domains/{domain}/rows/{row_id}
- Poznámky
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ů
| Metoda | Endpoint | Popis |
|---|---|---|
| GET | /domains | Seznam 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-tsig | Informace o AXFR TSIG klíči domény |
| GET | /domains/{domain}/rows | Seznam DNS záznamů domény |
| GET | /domains/{domain}/rows/{row_id} | Detail jednoho DNS záznamu |
| POST | /domains/add | Vytvoření nové domény |
| POST | /domains/{domain}/commit | Uplatnění čekajících změn domény (commit) |
| POST | /domains/{domain}/copy | Vytvoření kopie domény pod novým názvem |
| POST | /domains/{domain}/axfr-run | Okamžité spuštění AXFR přenosu (sekundární doména) |
| POST | /domains/{domain}/axfr-tsig | Vytvoření nebo zrušení AXFR TSIG klíče domény |
| POST | /domains/{domain}/rows | Přidání DNS záznamu k doméně |
| POST | /domains/{domain}/zone-import | Import 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í 1page_limit– volitelný, celé číslo – počet záznamů na stránku, výchozí 50orderby– volitelný, řetězec – řazení ve tvarucolumn [ASC|DESC]; podporované sloupce jsoudomainacreated_date; výchozí jedomain ASC. Neplatný sloupec je tiše ignorován a použije se výchozí řazení.
Návratové kódy:
1000– OK5001– interní chyba přihlášení
Data odpovědi:
domain– pole domén; každá položka obsahujename,status,typetotal– celkový počet domén odpovídajících filtrupage– aktuální stránkapage_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– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný název domény3222– nepodařilo se otevřít doménu (např. neexistuje)3223– chyba autorizace (doména patří jinému uživateli)3305– doména je uzamčena3306– doména je smazána5001– 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– OK2334– AXFR TSIG není pro doménu nastaven2337– neplatný AXFR TSIG příkaz2340– 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ényaxfr_tsig_action– provedená akce, vždyinfoaxfr_tsig_name– název TSIG klíčeaxfr_tsig_alg– algoritmus TSIG klíčeaxfr_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– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný název domény2318– operaci nelze provést na sekundární doméně3222– nepodařilo se otevřít doménu3223– chyba autorizace3305– doména je uzamčena3306– doména je smazána5001– interní chyba přihlášení
Data odpovědi:
row– pole DNS záznamů, každý s klíčiID,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ényrow_id– povinný, celé číslo (path) – ID DNS záznamu
Návratové kódy:
1000– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný název domény2318– operaci nelze provést na sekundární doméně3222– nepodařilo se otevřít doménu3223– chyba autorizace3305– doména je uzamčena3306– doména je smazána3309– záznam s tímto ID neexistuje5001– 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énytype– volitelný, řetězec –primarynebosecondary, výchozíprimaryaxfr_enabled– volitelný, boolean (0/1) – povolen odchozí AXFR, výchozí 0axfr_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ý, pokudaxfr_enabled=1primary_ip– volitelný (povinný protype=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 protype=secondary)primary_tsig_name– volitelný (povinný, pokudprimary_tsig_enabled=1), řetězec – název TSIG klíčeprimary_tsig_alg– volitelný (povinný, pokudprimary_tsig_enabled=1), řetězec – algoritmus TSIG klíče; podporované hodnoty:hmac-md5,hmac-sha1,hmac-sha224,hmac-sha256,hmac-sha384,hmac-sha512primary_tsig_key– volitelný (povinný, pokudprimary_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 protype=primary
Návratové kódy:
1000– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný název domény2301– neplatný formát parametrutype2302– parametrprimary_ipchybí2303– neplatný formát parametruprimary_ip2304– neplatný formát parametruaxfr_enabled2305– povinný parametraxfr_ipschybí2306– neplatný formát parametruaxfr_ips2322– překročen limit WDNS domén pro tento účet2323– šablona nenalezena2324– šablonu lze použít pouze k vytvoření primární domény2325– není definována žádná šablona2330–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í AXFR3302– přidání domény do WDNS se nezdařilo3303– doména již ve WDNS existuje5001– interní chyba autorizace
Data odpovědi:
domain_id– interní ID nově vytvořené doményname– 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– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný název domény3222– nepodařilo se otevřít doménu3223– chyba autorizace3305– doména je uzamčena3306– doména je smazána5001– 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ényname_new– povinný, řetězec (tělo požadavku) – název nové domény
Návratové kódy:
1000– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný název domény2320– neplatný nebo nepodporovaný název nové domény2321– nepodporovaná TLD nového názvu domény2322– překročen limit DNS záznamů na uživatele3222– nepodařilo se otevřít doménu3223– chyba autorizace3305– doména je uzamčena3306– doména je smazána3311– kopírování se nezdařilo3312– doména s tímto názvem již existuje5001– 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– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný název domény2319– lze provést pouze na sekundární doméně3222– nepodařilo se otevřít doménu3223– chyba autorizace3305– doména je uzamčena3306– doména je smazána5001– 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ényaction– volitelný, řetězec (tělo požadavku) –create(vytvoření/aktualizace) nebocancel, výchozícreate; hodnota se interně mapuje na WAPI parametraxfr_tsig_action
Návratové kódy:
1000– OK2335– AXFR TSIG nebyl pro doménu vytvořen2336– AXFR TSIG nebyl pro doménu zrušen2337– neplatný AXFR TSIG příkaz2340– 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ényaxfr_tsig_action– provedená akce (create/cancel)axfr_tsig_name– název TSIG klíče (pouze procreate)axfr_tsig_alg– algoritmus TSIG klíče (pouze procreate)axfr_tsig_key– hodnota TSIG klíče, base64 (pouze procreate)
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ényname– 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á hodnotatype– 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,TXTrdata– 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ílatauth_comment(rovnocenný alias)
Návratové kódy:
1000– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný název domény2298– parametrauthor_commentobsahuje neplatné znaky2309– neplatný typ záznamu2310– k doméně nelze přidat další záznam (dosažen limit záznamů)2311– neplatný název záznamu2312– neplatný název pro daný typ záznamu2313– neplatný CNAME pro tento název2314– neplatná data záznamu2315– neplatná TLD2316– tento záznam již existuje2317– neplatná TTL2318– operaci nelze provést na sekundární doméně3222– nepodařilo se otevřít doménu3223– chyba autorizace3305– doména je uzamčena3306– doména je smazána3307– přidání záznamu domény se nezdařilo5001– interní chyba autorizace
Data odpovědi:
domain– název doményrow_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í simport_type=text.text– záznamy předané ve formátu BIND v parametrurowsjsou 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ényimport_type– povinný, řetězec (tělo požadavku) –axfrnebotextaxfr_ip– povinný proimport_type=axfr, řetězec (tělo požadavku) – IPv4 adresa DNS serveru, ze kterého se záznamy stáhnou přes AXFRrows– povinný proimport_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– OK2338– nemáte oprávnění tuto doménu upravovat2350– neplatná hodnota typu importu2351– chybí seznam DNS záznamů (rowsnebyl zadán simport_type=text)2352– ze zadané IP se nepodařilo získat žádná data k importu2353– importovaný seznam DNS obsahuje neplatný záznam; import nebyl proveden2354– chybí AXFR IP adresa2355– AXFR IP adresa není platná2357– z textu se nepodařilo získat žádná data k importu2358– 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áznam2363– záznamy stejného typu musí mít stejnou TTL2364– DNS záznamy nebyly importovány (interní chyba importu)2365– AXFR IP adresa musí být ve formátu IPv42368– 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í simport_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ényaxfr_enabled– volitelný, boolean (0/1) – povolen odchozí AXFRaxfr_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=1primary_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íčeprimary_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– OK2007– překročena maximální velikost požadavku2100– chybí vstupní parametr2101– neplatné vstupní parametry2201– nepodporovaná TLD2202– neplatný nebo nepodporovaný název domény2303– neplatný formát parametruprimary_ip2304– neplatný formát parametruaxfr_enabled2305– povinný parametraxfr_ipschybí2306– neplatný formát parametruaxfr_ips2330–2333– neplatná konfigurace TSIG (celkově, název, algoritmus, klíč)3222– nepodařilo se otevřít doménu3223– chyba autorizace3304– aktualizace záznamu domény se nezdařila3305– doména je uzamčena3306– doména je smazána5001– 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ényrow_id– povinný, celé číslo (path) – ID DNS záznamuttl– povinný, celé číslo (tělo požadavku) – nová hodnota TTL v sekundáchrdata– povinný, řetězec (tělo požadavku) – nová data záznamuauthor_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ílatauth_comment.
Návratové kódy:
1000– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný název domény2298– parametrauthor_commentobsahuje neplatné znaky2314– neplatná data záznamu2316– tento záznam již existuje2317– neplatná TTL2318– operaci nelze provést na sekundární doméně3222– nepodařilo se otevřít doménu3223– chyba autorizace3305– doména je uzamčena3306– doména je smazána3309– záznam s tímto ID neexistuje3310– změna záznamu se nezdařila5001– 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– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný nebo nepodporovaný název domény3222– nepodařilo se otevřít doménu3223– přístup odepřen3301– odstranění záznamu domény se nezdařilo3305– doména je uzamčena3306– doména je již smazána5001– 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ényrow_id– povinný, celé číslo (path) – ID DNS záznamu
Návratové kódy:
1000– OK2100– chybí povinný parametr2101– neplatný vstupní parametr2201– nepodporovaná TLD2202– neplatný nebo nepodporovaný název domény2318– operaci nelze provést na sekundární doméně3222– nepodařilo se otevřít doménu3223– přístup odepřen3305– doména je uzamčena3306– doména je smazána3308– smazání záznamu se nezdařilo3309– záznam s tímto ID neexistuje5001– 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=1definován žádný příklad) a6000(interní chyba inicializace WAPI vrstvy). U metod PATCH/DELETE, pokud chybí segment{domain}v URL, vrací se chyba6001(povinný parametrdomainchybí). - Nerozpoznaná kombinace segmentů URL (např.
/domains/{domain}/rowsbez{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_ipsbuď 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_ipaprimary_tsig_*se uplatní pouze u domén typusecondary. template_idse při vytváření domény (POST /domains/add) uplatní pouze u primární domény (type=primarynebo neuvedeno). U sekundární domény vrací chybu2324.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:axfrpouze stáhne záznamy a vrátí je jako text k ruční kontrole (nic se neimportuje), zatímcotextzapíše záznamy do domény přímo po ověření. Typický postup je proto nejprve zavolatimport_type=axfr, zkontrolovat vrácený text a teprve poté jej odeslat jakoimport_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 parametrauth_commentse stejným významem.- Parametry
nameatypeDNS 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.
