domains
GET /v1/domains/{domainId}/delegation
Whether a domain's delegation actually points at us.
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 GET https://api.zinndigital.com/v1/domains/{domainId}/delegation \
-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 honest answer to "is my domain live yet?". `expected` is the delegation we ask the customer to set, `nameservers` is where the domain **actually** delegates right now, and `detected` says whether those agree. ⛔ `detected` is resolved from a **public recursive resolver**, not from the DNS vendor. Bunny's own `NameserversDetected` flag was measured returning `true` for a domain that is not registered at all, so a surface keyed off it tells a customer their domain is served before they have touched their registrar (docs/72 D243). A lookup that FAILED is a `503`, never `detected: false`: "not live yet" and "we could not check" lead a customer to opposite actions. A domain whose authoritative DNS we do not host is a `404`. Requires `sites.view`, RLS-scoped. The answer is **recorded**, not recomputed per request, so this read is cheap enough to poll — a background backoff poller keeps it fresh (see `POST`). A live lookup that fails on a domain last seen delegated leaves the recorded state alone, so the `503` now means *we have never established this domain's delegation* rather than *this one lookup failed*.
Parametri
| Nome | Tipo | Obbligatorio | Che cos'è |
|---|---|---|---|
domainId (path) | Uuid | Sì | The domain's id. |
Risposta
| Nome | Tipo | Obbligatorio | Che cos'è |
|---|---|---|---|
expected | string[] | Sì | The 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… |
nameservers | string[] | Sì | Where the domain delegates right now, as the public internet sees it — which is what the customer compares against `expected` to know what to change. |
detected | boolean | Sì | Whether 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… |
live | boolean | Sì | Whether the domain is being served by us right now. |
state | string<delegated, not_delegated, unknown> | Sì | The 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_by | string<resolver, registry, none> | Sì | Who 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_at | string | Sì | When this reading was taken. |
last_delegated_at | string | Sì | When 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_at | string | Sì | When 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. |
drifted | boolean | Sì | This domain was delegated to us and positively is not any more. A warning about something that broke, not a step still to do. |
Errori che questo endpoint può restituire
401 · 403 · 404 · 429 · 503