POST /v1/mail/services
Set email up on a domain.
Πισtoποίηση
Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Το κλειδί πρέπει να διαθέτει το δικαίωμα mail.manage· ένα κλειδί που δεν το διαθέτει απορρίπτεται με 403, όχι 404.
Πού μπαίνει το αναγνωριστικό του οργανισμού σας
Αυτό το endpoint δέχεται το πεδίο org_id στο σώμα JSON.
Το αναγνωριστικό του οργανισμού σας βρίσκεται στην οθόνη των κλειδιών API στον πίνακα ελέγχου σας, δίπλα στο ίδιο το κλειδί. Είναι το ίδιο αναγνωριστικό σε κάθε κλήση που πραγματοποιείτε.
Δοκιμάστε το
Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.
curl -X POST https://api.zinndigital.com/v1/mail/services \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "fqdn": <string> }'Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API
Λεπτομέρειες
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.
Σώμα αίτησης
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
org_id | Uuid | Όχι | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
fqdn | string | Ναι | The domain to set email up on. |
domain_id | Uuid | null | Όχι | — |
provider | MailProvider | Όχι | 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… |
provider_config | MailProviderConfig | null | Όχι | The custom provider's values. Required in effect for custom; ignored otherwise. |
Απάντηση
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
id | Uuid | Ναι | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
fqdn | string | Ναι | The domain the mailboxes are on. |
provider_config | MailProviderConfig | null | Όχι | 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… |
site | MailServiceSite | null | Όχι | 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 | Ναι | 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 | Ναι | 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… |
domain_id | Uuid | null | Όχι | The registered domain this serves, when we hold the registration. |
status | MailServiceStatus | Ναι | A mail service's lifecycle state. |
provider | MailProvider | Ναι | 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,… |
mailbox_quota_mb | integer | Ναι | Size of each mailbox in MB, captured when the service was created. |
mailbox_limit | integer | Ναι | 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… |
mailboxes_used | integer | Ναι | How many mailboxes currently consume the allowance. |
dns_applied_at | object | Όχι | 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 | Ναι | — |
Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο
401 · 403 · 409 · 422 · 429