Autentikasi
Kirim kunci API sebagai token bearer. Kunci tersebut harus memiliki izin mail.manage; kunci tanpa izin tersebut akan ditolak dengan status 403, bukan 404.
Tempat ID organisasi Anda dimasukkan
Titik akhir ini memerlukan org_id sebagai field dalam bodi JSON.
ID organisasi Anda berada di layar kunci API di dasbor Anda, di sebelah kunci itu sendiri. Itu adalah ID yang sama dalam setiap panggilan yang Anda buat.
Coba
Ganti apa pun di dalam tanda kurung sudut dengan nilai Anda sendiri, dan placeholder kunci dengan kunci dari dasbor Anda.
curl -X POST https://api.zinndigital.com/v1/mail/services \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "fqdn": <string> }'Sudah masuk? Konsol API di dasbor Anda akan mengisi ID organisasi asli dan kunci Anda sendiri, serta menjalankan permintaan terhadap API langsung sehingga Anda dapat melihat respons aktualnya. Buka titik akhir ini di konsol API
Detail
Registers the email service and requests its provisioning. Returns `201` with the service `pending`: creating the backend account and publishing the mail DNS is a durable Temporal workflow (CLAUDE.md §2.9), so poll `status` or subscribe to `mail.provisioned` / `mail.provisioning_failed`. ⛔ **Provisioning refuses to overwrite existing mail.** If the domain's apex already carries a foreign `MX`, or its zone cannot be read at all, the service ends `failed` rather than replacing records that are delivering someone's live email. That refusal is not retried — it is a decision about the customer's own domain. Requires `mail.manage`. Fails `409` when the domain already has an email service, and `422` when the plan does not include mailboxes.
Isi permintaan
| Nama | Jenis | Wajib | Tentang apa ini |
|---|---|---|---|
org_id | Uuid | Tidak | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
fqdn | string | Ya | The domain to set email up on. |
domain_id | Uuid | null | Tidak | — |
provider | MailProvider | Tidak | Who runs the mailboxes for this domain. Defaults to `zinn` — our own email. `google_workspace` and `microsoft_365` publish that provider's own MX, SPF, DKIM and autodiscover rec… |
provider_config | MailProviderConfig | null | Tidak | The `custom` provider's values. Required in effect for `custom`; ignored otherwise. |
Tanggapan
| Nama | Jenis | Wajib | Tentang apa ini |
|---|---|---|---|
id | Uuid | Ya | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
fqdn | string | Ya | The domain the mailboxes are on. |
provider_config | MailProviderConfig | null | Tidak | The `custom` provider's declared values, served back so the domain screen can show and edit what was declared. `null` on every other provider, whose values are documented and de… |
site | MailServiceSite | null | Tidak | The site currently serving this domain, or `null` when no site does. **Derived from the hostname, never stored**: mail attaches to a domain and a domain outlives the site on it,… |
mailbox_provisioning | MailboxProvisioning | Ya | Whether **we** pre-create a starter mailbox on this domain. `managed` — we make one when the domain is provisioned (the Footprint-Free/PBN line and our own fleet); `self_service… |
mail_only | boolean | Ya | **This domain uses us for mail and nothing else** — an active mail service on a hostname no website of ours serves. Published as one server-side answer because more than one con… |
domain_id | Uuid | null | Tidak | The registered domain this serves, when we hold the registration. |
status | MailServiceStatus | Ya | A mail service's lifecycle state. |
provider | MailProvider | Ya | Which provider serves a domain's mail. `custom` is **the reseller's own provider** (W40-MAIL, owner ruling 2026-09-06): a white-label reseller sells mail they buy elsewhere, dec… |
mailbox_quota_mb | integer | Ya | Size of each mailbox in MB, captured when the service was created. |
mailbox_limit | integer | Ya | Mailboxes allowed on this domain; `-1` is uncapped. Captured when the service was created; a later downgrade is enforced against the live plan as well, so the number actually ap… |
mailboxes_used | integer | Ya | How many mailboxes currently consume the allowance. |
dns_applied_at | object | Tidak | When the mail DNS was last published. `null` means never — mailboxes that exist but receive nothing, which is the one state a customer must be told about. |
created_at | string | Ya | — |
Kesalahan yang dapat dikembalikan oleh titik akhir ini
401 · 403 · 409 · 422 · 429