POST /v1/mail/services/{mailServiceId}/provider
Move a domain's email to a different provider.
認証
ベアラー トークンとして API キーを送信します。キーには mail.manage 権限が付与されている必要があります。権限のないキーは 404 ではなく 403 で拒否されます。
このエンドポイントは組織IDを受け付けません。お使いのキーによって所属する組織がすでに特定されており、レスポンスはその組織にスコープされます。
試してみる
アングルブラケット内のすべてをご自身の値に置き換え、キーのプレースホルダーをご利用中のダッシュボードのキーに置き換えてください。
curl -X POST https://api.zinndigital.com/v1/mail/services/{mailServiceId}/provider \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "provider": <MailProvider> }'ログインしていますか?ダッシュボード内のAPIコンソールでは、実際の組織IDやお客様ご自身のキーが自動入力され、ライブAPIに対してリクエストが実行されるため、実際のレスポンスを確認することができます。 API コンソールでこのエンドポイントを開く
詳細
Repoints this domain at another mail provider — our own email, Google Workspace or Microsoft 365 — and, when moving away from ours, destroys the mailboxes we were hosting for it. ⛔ Not the same as DELETE, and the difference is the post-condition. A delete ends with no mail service at all; a switch ends with a live one on the new provider, publishing that provider's records. Using the delete for this would leave the domain with no email a moment after the customer chose some. The order is the safety property: the DNS records are repointed FIRST, and the mailboxes destroyed second. The reverse loses mail — between a destroy and a repoint the MX still names mailboxes that no longer exist, and everything sent in that window bounces. Doing it this way costs a brief period in which both could receive, which is the harmless failure. confirm_fqdn — the domain typed back — is required when the switch destroys mailboxes we run, and ignored otherwise. Owner ruling 2026-08-14: type the domain, no grace period. The mailboxes and their contents are gone at the vendor the moment this runs. Switching to the provider a domain is already on is a no-op that returns the service, so a retry is idempotent. Requires mail.manage.
パラメータ
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
mailServiceId (path) | Uuid | はい | Email service ID (UUIDv7). |
リクエスト本文
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
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,… |
provider_config | MailProviderConfig | null | いいえ | Required in effect when provider is custom (an empty MX list is refused); ignored otherwise. A custom → custom call with different values is a re-declaration — the… |
confirm_fqdn | string | いいえ | The domain, typed back by the customer. Required when the switch destroys mailboxes we host — i.e. when moving away from zinn on a domain that has any — and ignored… |
返信
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
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 · 404 · 409 · 422 · 429 · 503