domains
POST /v1/domains/{domainId}/registrar-guide/verify
Check now whether this domain's nameserver change has taken effect.
Autenticazione
Invia una chiave API come token di tipo bearer. La chiave deve disporre dell'autorizzazione sites.view; una chiave sprovvista di tale autorizzazione viene rifiutata con 403 anziché 404.
Questo endpoint non richiede alcun ID organizzazione. La tua chiave identifica già l'organizzazione a cui appartiene e la risposta è limitata ad essa.
Provalo
Sostituisci qualsiasi elemento tra parentesi angolari con i tuoi valori e il segnaposto key con una chiave dalla tua dashboard.
curl -X POST https://api.zinndigital.com/v1/domains/{domainId}/registrar-guide/verify \
-H "Authorization: Bearer zdk_live_…"Hai effettuato l'accesso? La console API nella tua dashboard inserisce il tuo ID organizzazione reale e la tua chiave personale, ed esegue la richiesta sull'API live in modo da poter vedere la risposta effettiva. Apri questo endpoint nella console API
Dettagli
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.
Parametri
| Nome | Tipo | Obbligatorio | Che cos'è |
|---|---|---|---|
domainId (path) | Uuid | Sì | The domain's id. |
Risposta
| Nome | Tipo | Obbligatorio | Che cos'è |
|---|---|---|---|
outcome | string<delegated, propagating, not_delegated, unknown> | Sì | `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[] | Sì | 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[] | Sì | 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 | Sì | 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. |
Errori che questo endpoint può restituire
401 · 403 · 404