domains
GET /v1/domains/tld-pricing
The TLD price table, flat, in the caller's currency.
身份验证
请将 API 密钥作为 bearer 令牌发送。此端点在规范中未指明具体的权限,因此请为您的密钥赋予所需的最小权限,并通过检查响应来确认,而不是盲目假设。
此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。
免费试用
将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。
curl -X GET https://api.zinndigital.com/v1/domains/tld-pricing \
-H "Authorization: Bearer zdk_live_…"已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点
详细信息
The canonical TLD price table (docs/43 §3.1) and the one the dashboard's "Register a domain" reference table consumes. Flat integer minor units converted into the caller's display currency (X-Zinn-Currency, falling back to USD). GET /v1/public/domains/tld-pricing serves the same rows anonymously in a nullable MoneyAmount shape, cursor-paged; GET /v1/domains/pricing served them publicly and uncursored and was retired in wave 8 (#845). Authenticated, because it prices in the caller's currency. Cacheable per caller — strong ETag + Cache-Control: private, max-age=60 + Vary: X-Zinn-Currency, so a shared cache can never hand one customer's currency to another. A TLD whose register, renew and transfer are not all priced is omitted rather than zero-filled: the flat shape has no null, and $0.00 on a pricing screen is a false quote, not a missing value. Cursor-paged and server-searched (#846). This was the last unbounded projection of the catalogue — the public reader has been paged since #571 and /v1/domains/pricing was retired for exactly this (#845), which left the authenticated table returning every row in one body. q is a substring match on the label and tolerates a leading dot (.shop and shop find the same row). Ordered most popular first by default, matching the public table: the two show the same catalogue to the same person before and after they sign up, and opening one with .com and the other with .ai is the split docs/48 §6 warns about. order=tld gives the alphabetical reference view. ⚠️ A page can be short. The omit-if-unpriced rule above is applied after the window, so a page of 50 offers may carry 48 rows. Pagination is still correct — the cursor is taken from the last offer in the window, not the last row emitted — so follow page.next_cursor until page.has_more is false rather than stopping when a page looks short.
参数
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
cursor (query) | string | 否 | Opaque cursor from a previous page's page.next_cursor. |
limit (query) | integer | 否 | Maximum items to return (page size). |
q (query) | string | 否 | Substring match on the TLD label, applied server-side. A leading dot is tolerated and ignored. |
order (query) | string<popularity, tld> | 否 | popularity (default) is most-popular-first with an alphabetical tiebreak; tld is the alphabetical reference view. |
If-None-Match (header) | string | 否 | A previously returned ETag; a match responds 304. |
响应
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
data | TldPrice[] | 是 | — |
page | PageMeta | 是 | — |
此端点可能返回的错误
401 · 422 · 429