public
GET /v1/public/domains/nameserver-check
Which registrar holds a domain, what to enter, and whether it has taken effect.
Authentifizierung
Dieser Endpunkt ist öffentlich. Er erfordert weder Anmeldedaten noch eine Organisation – er wird auch von unserer eigenen Marketing-Website und den KI-Antwort-Engines gelesen.
Dieser Endpunkt erfordert keine Organisations-ID. Ihr Schlüssel identifiziert bereits die zugehörige Organisation, und die Antwort ist entsprechend eingeschränkt.
Ausprobieren
Ersetzen Sie alles in spitzen Klammern durch Ihre eigenen Werte und den Platzhalter für den Schlüssel durch einen Schlüssel aus Ihrem Dashboard.
curl -X GET https://api.zinndigital.com/v1/public/domains/nameserver-check?domain=<domain>Angemeldet? Die API-Konsole in Ihrem Dashboard trägt automatisch Ihre echte Organisations-ID sowie Ihren eigenen Schlüssel ein und führt die Anfrage gegen die Live-API aus, sodass Sie die tatsächliche Antwort sehen können. Öffnen Sie diesen Endpunkt in der API-Konsole
Details
Everything a per-registrar instruction card needs, for **any** domain, with no account. It answers three questions in one request: who the registry says holds the name (so the right instruction card is shown), which nameservers to enter, and whether the change has landed yet. **`outcome` is four-valued and none of the four may be collapsed.** `delegated` — public DNS resolves the domain to our pair, the job is done. `propagating` — the registry has our pair on record and public DNS does not show it yet; the customer did everything right and there is nothing to do but wait. `not_delegated` — a real, positive reading that it points somewhere else, or nowhere. `unknown` — we could not find out. ⛔ A client must never render `unknown` as `not_delegated`, and must never render `propagating` as a failure. Both mistakes send somebody who succeeded back to redo work that was correct, which is the single most likely way to make this feature feel broken while it is working perfectly. `expected` is **derived per request** from the platform's own nameserver assignment, never written into card content. `observed` is what the domain points at right now — public DNS where it answered, the registry's record otherwise — and is empty when the reading was positive and there was nothing there. **Rate limited per caller and globally.** Answers are cached for sixty seconds only: this endpoint's whole population is somebody who has just changed their nameservers and is reloading to check, so a long cache would hide the very change it is asked about. There is deliberately no bulk input.
Parameter
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
domain (query) | string | Ja | The domain to check, including its extension. A trailing dot is ignored, case is ignored, and an internationalised name must already be punycoded. |
Antwort
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
fqdn | string | Ja | The domain as we normalised it — lower-cased, trailing dot removed. |
slug | string<godaddy, namecheap, porkbun, cloudflare, squarespace, generic> | Ja | Which instruction set to render. ⛔ A slug, never step text — the client supplies its own localized steps, because step text returned from an API cannot go through the translatio… |
registrar | string | Ja | The registrar exactly as the registry names it, or `null` when none was published. ⛔ Never inferred from `slug`. |
panel_url | string | Ja | A deep link into that registrar's own nameserver screen, where known. |
self_serve | boolean | Ja | Can we make the change for the customer with an API key they supply? Derived from which delegation adapters exist, never stated per registrar. |
locked | boolean | Ja | The domain cannot be delegated anywhere else — true for Cloudflare Registrar, whose domains use Cloudflare's nameservers by design. ⛔ This is a STATE, not a failure, and it is n… |
expected | string[] | Ja | The nameservers to enter at the registrar. ⛔ Derived per request from the platform's own assignment, never written into card content — a hostname typed into a page is correct on… |
observed | string[] | Ja | What the domain points at right now — public DNS where it answered, the registry's record otherwise. Empty means the reading was positive and there was nothing there; it does **… |
outcome | string<delegated, propagating, not_delegated, unknown> | Ja | What we established. `delegated` = done. `propagating` = the registry has our pair and DNS has not caught up; the customer did it right and must simply wait. `not_delegated` = a… |
recheck_after_seconds | integer | Ja | Roughly how long to wait before checking again, or `null` when there is nothing to wait for. A hint about our own interface, not a claim about DNS propagation. |
Fehler, die dieser Endpunkt zurückgeben kann
422 · 429 · 503