domains

POST /v1/domains/{domainId}/registrar-guide/verify

Check now whether this domain's nameserver change has taken effect.

Dhammaan domains bixiyayaasha

Xaqiijinta aqoonsiga

U dir furaha API ah calaamad dusha ah (bearer token). Furaha waa inuu wataa ruqadda sites.view; furaha aan wadan waxaa loo diidayaa 403, ee ma aha 404.

Boggan ma qaato aqoonsiga ururka. Furahaagu wuxuu horay u aqoonsanayaa ururka uu ka tirsan yahay, jawaabtuna waxay ku kooban tahay halkaas.

Isku day

Ku beddel wax kasta oo ku dhex jira qeebaha xaglaha ah qiimayaashaada, sidoo kalena haystaaha furaha ku beddel fure ka dhex muuqda dashboordigaaga.

curl -X POST https://api.zinndigital.com/v1/domains/{domainId}/registrar-guide/verify \
  -H "Authorization: Bearer zdk_live_…"

Ma sign-garaysay? Qalabka API ee ku jira dashboard-kaagu wuxuu buuxiyaa aqoonsigaaga ururka ee dhabta ah iyo furahaaga gaarka ah, wuxuuna ku shaqeysiiyaa codsiga API-ga nool si aad u aragto jawaabta dhabta ah. Kani ka fur barta kontoroolka ee API

Faahfaahin

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.

Cabiraha

MagacaNoocLoo baahan yahayMaxay tahay
domainId (path)UuidHaaThe domain's id.

Jawaab

MagacaNoocLoo baahan yahayMaxay tahay
outcomestring<delegated, propagating, not_delegated, unknown>Haa`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…
expectedstring[]HaaThe pair to set, resolved **per domain** from the zone's own nameservers where the provider assigns them — never a platform constant (D1034).
observedstring[]HaaWhere 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_secondsintegerHaaRoughly 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.

Cilladaha ay bartaani soo celin karto

401 · 403 · 404