domains
GET /v1/domains/{domainId}/delegation
Whether a domain's delegation actually points at us.
Аутентификация
Отправьте ключ API в качестве токена носителя (bearer token). Ключ должен иметь разрешение sites.view; ключ без него отклоняется с кодом 403, а не 404.
Этот эндпоинт не принимает идентификатор организации. Ваш ключ уже определяет организацию, к которой он принадлежит, и ответ ограничивается ее рамками.
Попробовать
Замените всё в угловых скобках на собственные значения, а плейсхолдер ключа — на ключ из вашей панели управления.
curl -X GET https://api.zinndigital.com/v1/domains/{domainId}/delegation \
-H "Authorization: Bearer zdk_live_…"Вошли в систему? Консоль API в вашей панели управления автоматически подставляет реальный идентификатор вашей организации и ваш собственный ключ, а также выполняет запрос к работающему API, чтобы вы могли увидеть актуальный ответ. Откройте эту конечную точку в API-консоли
Подробнее
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*.
Параметры
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
domainId (path) | Uuid | Да | The domain's id. |
Ответ
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
expected | string[] | Да | 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[] | Да | 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 | Да | 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 | Да | Whether the domain is being served by us right now. |
state | string<delegated, not_delegated, unknown> | Да | 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> | Да | 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 | Да | When this reading was taken. |
last_delegated_at | string | Да | 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 | Да | 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 | Да | This domain was delegated to us and positively is not any more. A warning about something that broke, not a step still to do. |
Ошибки, которые может возвращать этот эндпоинт
401 · 403 · 404 · 429 · 503