domains
POST /v1/domains/connect
Host DNS for a domain the customer already owns.
احراز هویت
یک کلید API را به عنوان یک توکن حامل ارسال کنید. این کلید باید دارای مجوز domains.dns.manage باشد؛ کلیدی که فاقد آن باشد با خطای 403 رد میشود، نه 404.
جایی که شناسه سازمان شما قرار میگیرد
این نقطه پایانی org_id را به عنوان یک فیلد در بدنه JSON دریافت میکند.
شناسه سازمان شما در صفحه کلیدهای API در داشبوردتان، در کنار خود کلید قرار دارد. این شناسه در تمام درخواستهایی که ارسال میکنید یکسان است.
امتحان کنید
هر چیزی را که داخل براکتهای زاویهدار قرار دارد با مقادیر خودتان جایگزین کنید، و نگهدارنده کلید را با کلیدی از داشبورد خود جایگزین نمایید.
curl -X POST https://api.zinndigital.com/v1/domains/connect \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "fqdn": <string> }'وارد شدهاید؟ کنسول API در داشبورد شما شناسه سازمان واقعی و کلید خودتان را پر میکند و درخواست را روی 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