domains
POST /v1/domains/{domainId}/registrar-guide/verify
Check now whether this domain's nameserver change has taken effect.
Doğrulama
API açarını bearer token kimi göndərin. Açar sites.view icazəsinə malik olmalıdır; bu icazəsi olmayan açar 404 deyil, 403 xətası ilə rədd edilir.
Bu endpoint heç bir təşkilat ID-si tələb etmir. Sizin açarınız artıq aid olduğu təşkilatı müəyyən edir və cavab həmin təşkilat üçün məhdudlaşdırılır.
Sınaqdan keçir
Bucaqlı mötərizələrdə olan hór şeyi öz qiymətlərinizlə, açar yertutucusunu isə idarə panelinizdən bir açarla əvəz edin.
curl -X POST https://api.zinndigital.com/v1/domains/{domainId}/registrar-guide/verify \
-H "Authorization: Bearer zdk_live_…"Sistemə daxil olmusunuz? İdarə panelinizdəki API konsolu real təşkilatınızın identifikatorunu və öz açarınızı avtomatik doldurur, sorğunu canlı API-yə qarşı icra edir ki, siz faktiki cavabı görə biləsiniz. Bu son nöqtəni API konsolunda açın
Təfərrüatlar
The **verify button** on the instruction card. Reads the live public DNS and the domain's registry record and answers in four states, so the customer can tell whether the steps they just followed worked. ⛔ **Four outcomes, where `GET /v1/domains/{domainId}/delegation` has three, and the fourth is the point.** That endpoint is a drift watch and answers `delegated` / `not_delegated` / `unknown` — correct for what it does. It is not sufficient here: a customer who pressed Save at their registrar thirty seconds ago is genuinely `not_delegated` to any resolver, because the registry has the change and nothing else does yet. Telling them "not yet" is true, useless, and reads as failure. `propagating` is that state told honestly — **the registry has the pair we asked for and public DNS has not caught up** — and it is a success message, not a warning. ⛔ `unknown` is not `not_delegated`. They send a customer to opposite actions, and a lookup that failed must never be rendered as "you have not done it". `expected` is resolved **per domain** from the zone's own nameservers where the DNS provider assigns them, so a footprint-free domain is compared against its own pair rather than a platform constant. `observed` is what it points at right now — public DNS where that answered, the registry's record otherwise. **Writes nothing.** The recorded reading, the drift ladder and the "your domain has left us" alarm belong to `GET`/`POST /v1/domains/{domainId}/delegation`; a customer pressing a button on an instruction card is asking a question, not supplying evidence. `POST` rather than `GET` only because it makes two live outbound lookups and must never be cached or prefetched. Requires `sites.view`, RLS-scoped. It changes nothing about the domain, and gating it behind a management permission would leave a read-only user looking at instructions they can never confirm they have followed.
Parametrlər
| Ad | Tip | Tələb olunur | Nədir |
|---|---|---|---|
domainId (path) | Uuid | Bəli | The domain's id. |
Cavab
| Ad | Tip | Tələb olunur | Nədir |
|---|---|---|---|
outcome | string<delegated, propagating, not_delegated, unknown> | Bəli | `delegated` = done. `propagating` = the registry has our pair and public DNS has not caught up; the customer did it right and must simply wait. `not_delegated` = a real reading… |
expected | string[] | Bəli | The pair to set, resolved **per domain** from the zone's own nameservers where the provider assigns them — never a platform constant (D1034). |
observed | string[] | Bəli | Where it points right now — public DNS where that answered, the registry's record otherwise. Empty means the reading was positive and there was nothing there, not that the readi… |
recheck_after_seconds | integer | Bəli | Roughly how long to wait before pressing again, or `null` when there is nothing to wait for. A hint about the interface, not a claim about DNS propagation. |
Bu son nöqtənin qaytara biləcəyi xətalar
401 · 403 · 404