인증
Bearer 토큰으로 API 키를 전송하세요. 키는 반드시 domains.dns.manage 권한을 가지고 있어야 하며, 권한이 없는 키는 404가 아닌 403으로 거부됩니다.
조직 ID가 들어가는 위치
이 엔드포인트는 JSON 본문의 필드로 org_id을(를) 받습니다.
조직 ID는 대시보드의 API 키 화면에서 키 바로 옆에 있습니다. 이는 실행하는 모든 호출에서 동일한 ID입니다.
무료 체험하기
대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.
curl -X POST https://api.zinndigital.com/v1/domains/connect \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "fqdn": <string> }'로그인하셨나요? 대시보드의 API 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 API를 대상으로 요청을 실행하므로 실제 응답을 확인할 수 있습니다. API 콘솔에서 이 엔드포인트를 여세요
상세 정보
Creates the domain's zone at our DNS provider, branded with our vanity nameservers in the same operation, and returns the delegation to set at the customer's **own** registrar. This is the BYO path — we become the authoritative DNS, **not** the registrar — so it needs no registrar credential and is how "premium DNS included on every plan" is delivered. The domain must be a zone apex (a subdomain is a `422`) and must not already exist on the platform (a `409` — worded so it never confirms another tenant holds it). Requires `domains.dns.manage`, the same authority that governs the records this makes editable. ⛔ There is deliberately **no `product_line` field**: it is derived server-side from the org's subscriptions, because it decides whether shared fleet A/AAAA records are hidden from this customer. Accepting it would let a Footprint-Free customer connect a domain as `mainstream` and read the fleet IPs.
요청 본문
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
fqdn | string | 예 | The domain to host DNS for. Must be a zone apex, not a subdomain. |
org_id | Uuid | 아니요 | The organization to connect it in. Optional when the caller holds `domains.dns.manage` in exactly one org; required otherwise. |
응답
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
id | Uuid | 예 | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
org_id | Uuid | 예 | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
fqdn | Hostname | 예 | A fully-qualified DNS hostname, lowercase, no trailing dot. |
sld | string | 예 | — |
tld | string | 예 | — |
product_line | string | 아니요 | The product line this domain was created on. **Not decoration** — it is what decides whether the shared fleet A/AAAA records are hidden from the customer (register #93), so the… |
ownership_mode | string<registered, connected, transferring_in> | 예 | — |
status | DomainStatus | 예 | A domain's lifecycle state (docs/31 §4.10). |
registered_at | object | 아니요 | — |
expires_at | object | 아니요 | — |
auto_renew | boolean | 예 | — |
renew_years | integer | 예 | — |
registrar_lock | boolean | 아니요 | — |
privacy_enabled | boolean | 아니요 | — |
nameservers | string[] | 예 | — |
dnssec_enabled | boolean | 아니요 | — |
site_id | Uuid | null | 아니요 | The site this domain points at, if any. |
created_at | string | 예 | — |
updated_at | string | 아니요 | — |
delegation | Delegation | 예 | Where a domain's DNS delegation actually points. Several observations, not one boolean, because they answer different questions and collapsing them hides the only one that means… |
이 엔드포인트가 반환할 수 있는 오류
401 · 403 · 409 · 422 · 429 · 503