mail

POST /v1/mail/services

Set email up on a domain.

모든 mail 엔드포인트

모든 개발자 문서

인증

Bearer 토큰으로 API 키를 전송하세요. 키는 반드시 mail.manage 권한을 가지고 있어야 하며, 권한이 없는 키는 404가 아닌 403으로 거부됩니다.

조직 ID가 들어가는 위치

이 엔드포인트는 JSON 본문의 필드로 org_id을(를) 받습니다.

조직 ID는 대시보드의 API 키 화면에서 키 바로 옆에 있습니다. 이는 실행하는 모든 호출에서 동일한 ID입니다.

무료 체험하기

대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.

curl -X POST https://api.zinndigital.com/v1/mail/services \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "fqdn": <string> }'

로그인하셨나요? 대시보드의 API 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 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.

요청 본문

이름유형필수설명
org_idUuid아니요UUIDv7 identifier — sortable by creation time (docs/02 §8).
fqdnstringThe domain to set email up on.
domain_idUuid | null아니요
providerMailProvider아니요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_configMailProviderConfig | null아니요The custom provider's values. Required in effect for custom; ignored otherwise.

응답

이름유형필수설명
idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
fqdnstringThe domain the mailboxes are on.
provider_configMailProviderConfig | 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…
siteMailServiceSite | 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_provisioningMailboxProvisioningWhether 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_onlybooleanThis 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_idUuid | null아니요The registered domain this serves, when we hold the registration.
statusMailServiceStatusA mail service's lifecycle state.
providerMailProviderWhich 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_mbintegerSize of each mailbox in MB, captured when the service was created.
mailbox_limitintegerMailboxes 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_usedintegerHow many mailboxes currently consume the allowance.
dns_applied_atobject아니요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_atstring

이 엔드포인트가 반환할 수 있는 오류

401 · 403 · 409 · 422 · 429