domains
GET /v1/domains/tld-pricing
The TLD price table, flat, in the caller's currency.
認証
ベアラー トークンとして API キーを送信します。このエンドポイントでは仕様に特定の権限が記載されていないため、キーに必要な最小限の権限を付与し、推測するのではなくレスポンスを確認してください。
このエンドポイントは組織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