mail

GET /v1/mail/preflight

What setting email up on a domain would do to its DNS.

すべての mail エンドポイント

すべての開発者向けドキュメント

認証

ベアラー トークンとして API キーを送信します。キーには mail.view 権限が付与されている必要があります。権限のないキーは 404 ではなく 403 で拒否されます。

組織 ID を入力する場所

このエンドポイントはクエリパラメータとして org_id を受け取ります。省略した場合はテナントサブツリー全体が対象になり、指定した場合は特定の組織のみに絞り込まれます。

組織IDは、ダッシュボードのAPIキー画面にキーのすぐ横に表示されています。これは、実行するすべての呼び出しで同じIDになります。

試してみる

アングルブラケット内のすべてをご自身の値に置き換え、キーのプレースホルダーをご利用中のダッシュボードのキーに置き換えてください。

curl -X GET https://api.zinndigital.com/v1/mail/preflight?fqdn=<fqdn> \
  -H "Authorization: Bearer zdk_live_…"

ログインしていますか?ダッシュボード内のAPIコンソールでは、実際の組織IDやお客様ご自身のキーが自動入力され、ライブAPIに対してリクエストが実行されるため、実際のレスポンスを確認することができます。 API コンソールでこのエンドポイントを開く

詳細

Read-only. Answers before the customer commits whether this domain can take our mail records, and exactly what publishing them would remove (#662). Setting mail up rewrites the domain's apex MX. If the domain already receives email somewhere else, that stops inbound mail reaching the mailboxes it is addressed to — an outage the customer usually learns about from the people who could not reach them. Without this endpoint the only way to discover the refusal was to create a service and watch it fail asynchronously, which is a refusal arriving after the decision. safe: false means POST /v1/mail/services will refuse unless it is called with the override flag. foreign_mx and would_delete are listed verbatim, not counted, because a customer must be able to see what they are about to destroy before confirming it. zone_unreadable: true is never safe: there is no DNS resolver in the platform, so "we could not read the zone" is the normal answer for a domain whose DNS is hosted elsewhere, and treating that as safe would disable the guard exactly where it matters most. ⚠️ A safe answer is not a promise — the zone can change between this call and the apply, so provisioning repeats the check inside its workflow. Requires mail.view.

パラメータ

名前タイプ必須これがその内容です
fqdn (query)stringはいThe domain to check.
provider (query)MailProviderいいえWhich provider's records to test against; defaults to our own mail. The answer differs per provider, because each preset publishes a different record set.
mx_hosts (query)stringいいえcustom only: the MX targets the reseller has typed so far, comma-separated. The preflight compares the zone with the records the preset would publish, and for a provider we…
org_id (query)UuidいいえThe organization to act in; defaults to the caller's own when unambiguous.

返信

名前タイプ必須これがその内容です
domainstringはいThe domain that was checked, normalised.
safebooleanはいWhether an apply would proceed without the override flag. false means POST /v1/mail/services returns 409 unless the customer confirms.
existing_apex_mxstring[]はいEvery apex MX currently published, in the order DNS returned them.
foreign_mxstring[]はいThe apex MX targets that are not ours to replace — the reason for a refusal, and the list the customer must see before confirming an override.
foreign_spf_includesstring[]はいinclude: mechanisms in the current SPF that the new record would drop.
would_deletestring[]はいRecords the apply would remove or replace, as "NAME TYPE VALUE".
zone_unreadablebooleanはいThe zone could not be read at all — never safe. Distinct from "read it, found nothing", because the two need different copy: one is "we cannot see your DNS", the other is "your…
reasonstringはいCustomer-grade English describing what was found. Empty when safe.
warningsstring[]はいNon-blocking observations about the zone.

このエンドポイントが返すエラー

401 · 403 · 422 · 429 · 503