domains

GET /v1/domains/{domainId}/registry

What the public registry says about a domain (the WHOIS card).

所有 domains 端点

身份验证

请将 API 密钥作为 bearer 令牌发送。该密钥必须具有 sites.view 权限;缺少该权限的密钥将被拒绝并返回 403 状态码,而非 404。

此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。

免费试用

将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。

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

已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点

详细信息

Registration dates, the registrar, the EPP status set and the DNSSEC flag, read from the registry's own **RDAP** service — the structured replacement for port-43 WHOIS. ⭐ **This answers for a domain registered somewhere else.** RDAP needs no credential, so a domain a customer registered at a registrar we have never integrated still returns its real expiry date and transfer lock. `GET /v1/domains/{domainId}` cannot: those columns are our own mirror of a registrar API, and for a connected (non-`registered`) domain we hold no account to mirror from, so they are empty and stay empty. Two sources, two endpoints, neither pretending to be the other. ⛔⛔ **Every field is nullable, and `null` means the registry did not publish it — never that the domain lacks it.** `transfer_locked: null` is "we did not read a status set", not "unlocked"; rendering it as unlocked tells a customer to go and protect a domain that is already protected. `dnssec: null` is the same shape. ⛔ No registrant, admin or technical contact is returned, by decision: most registries redact them post-GDPR, and republishing the ones that do not would export personal data through our UI for no product reason. A registry that does not answer is a `503`, never an empty body and never a `404` — "the registry is quiet" and "this domain is not registered" are different facts and RDAP cannot reliably tell them apart (a stale bootstrap map 404s from the wrong registry). Requires `sites.view`, RLS-scoped; a domain the caller cannot see is a `404`.

参数

名称类型必填内容简介
domainId (path)UuidThe domain's id.

响应

名称类型必填内容简介
fqdnstringThe name this record is about, normalised to lower case.
checked_atstringWhen we read the registry. Answers are cached for a few hours, so this is the age of the reading and not the time of the request.
registrarstringThe registrar of record, as the registry publishes it.
registrar_iana_idstringThe registrar's IANA id — stable where the display name is not.
registered_atstringWhen the domain was first registered.
expires_atstringWhen the registration lapses. ⭐ This is the **registry's** date, not our billing date, and on a domain the customer renews elsewhere it is the only true one we have.
last_changed_atstringWhen the registry record last changed. A renewal, a nameserver edit or a lock change all move it, so it is a useful "something happened" marker and not a statement of what.
statusesstring[]The EPP status set, lower-cased as RDAP publishes it. An empty array means the registry published none — not that the domain has none.
nameserversstring[]The nameservers the **registry** holds. May legitimately differ from the public delegation mid-propagation — compare with `Delegation.nameservers`, which is what the internet ac…
dnssecbooleanWhether the delegation is signed. `null` when the registry published no `secureDNS` block at all, which many do not.
transfer_lockedbooleanWhether a client transfer prohibition is set. `null` when no status set was published — ⛔ not `false`, for the reason in this schema's description.
lapsedbooleanWhether the registration is in a redemption or pending-delete window right now. Worth surfacing loudly: those windows are short, cost a fee to reverse, and end with the name bei…

此端点可能返回的错误

401 · 403 · 404 · 429 · 503