domains

POST /v1/domains/{domainId}/delegation

Check the delegation again now, and restart the fast poll.

All domains endpoints

Authentication

Send an API key as a bearer token. The key must carry the sites.view permission; a key without it is refused with 403, not 404.

This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

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

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

Forces a live lookup regardless of how recently one ran, records it, and restarts the **backoff ladder** — 30-second checks for the next ten minutes, then 2 minutes, 15 minutes, hourly, giving up after 7 days. The customer pressing "Check again" tells us the one thing we cannot otherwise know: they have just changed their nameservers at the registrar. That is exactly the window in which the answer is about to change, so it is the window worth checking aggressively. Same body and same status codes as the `GET`. Requires `sites.view`, not `domains.dns.manage`: it changes nothing about the domain — it reads the public internet and writes down what it saw — and gating it behind a management permission would leave a read-only user watching a page that can never refresh.

Parameters

NameTypeRequiredWhat it is
domainId (path)UuidYesThe domain's id.

Response

NameTypeRequiredWhat it is
expectedstring[]YesThe delegation we ask the customer to set at their registrar. Resolved **per domain**, from the zone's own nameservers where the provider assigns them — Cloudflare issues each z…
nameserversstring[]YesWhere the domain delegates right now, as the public internet sees it — which is what the customer compares against `expected` to know what to change.
detectedbooleanYesWhether the domain's **public** NS records include the nameservers we asked for, resolved from a public recursive resolver. This — not our configuration and not the DNS vendor's…
livebooleanYesWhether the domain is being served by us right now.
statestring<delegated, not_delegated, unknown>YesThe three-valued answer, and the field a client should render from. `delegated` — every nameserver we asked for is present. `not_delegated` — we got a real answer and ours are n…
answered_bystring<resolver, registry, none>YesWho answered. `resolver` is a public recursive resolver — what the internet sees. `registry` is the registry's own RDAP record, used as a fallback when the resolver says nothing…
checked_atstringYesWhen this reading was taken.
last_delegated_atstringYesWhen we last saw this domain delegated to us. Null means it never has been — which is what separates "waiting for you" from "this stopped working".
next_check_atstringYesWhen the background poller will look again, so a client can wait rather than poll blind. Null once the domain is live or the poller has given up.
driftedbooleanYesThis domain was delegated to us and positively is not any more. A warning about something that broke, not a step still to do.

Errors this endpoint can return

401 · 403 · 404 · 429 · 503