mail

GET /v1/mail/preflight

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

Lahat ng mail endpoint

Pagpapatotoo

Magpadala ng API key bilang isang bearer token. Kailangang taglayin ng key ang pahintulot na mail.view; ang key na wala nito ay tatanggihan gamit ang 403, hindi 404.

Kung saan mapupunta ang id ng iyong organisasyon

Tinatanggap ng endpoint na ito ang org_id bilang parameter ng query. Huwag itong isama at saklaw ng tawag ang buong subtree ng iyong tenancy; ipadala ito para paliitin ang tawag sa isang organisasyon.

Ang id ng iyong organisasyon ay nasa screen ng mga API key sa iyong dashboard, sa tabi mismo ng key. Ito ang parehong id sa bawat tawag na gagawin mo.

Subukan ito

Palitan ang anuman sa loob ng mga panaklong na may anggulo ng iyong sariling mga halaga, at ang placeholder ng key na may key mula sa iyong dashboard.

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

Nakalagda? Ang API console sa iyong dashboard ay awtomatikong naglalagay ng iyong tunay na ID ng organisasyon at sariling susi, at pinapatakbo ang kahilingan laban sa live na API upang makita mo ang aktwal na tugon. Buksan ang endpoint na ito sa console ng API

Mga Detalye

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`.

Mga Parameter

PangalanUriKailanganAno ito
fqdn (query)stringOoThe domain to check.
provider (query)MailProviderHindiWhich 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)stringHindi`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 w…
org_id (query)UuidHindiThe organization to act in; defaults to the caller's own when unambiguous.

Tugon

PangalanUriKailanganAno ito
domainstringOoThe domain that was checked, normalised.
safebooleanOoWhether an apply would proceed without the override flag. `false` means `POST /v1/mail/services` returns 409 unless the customer confirms.
existing_apex_mxstring[]OoEvery apex `MX` currently published, in the order DNS returned them.
foreign_mxstring[]OoThe 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[]Oo`include:` mechanisms in the current SPF that the new record would drop.
would_deletestring[]OoRecords the apply would remove or replace, as `"NAME TYPE VALUE"`.
zone_unreadablebooleanOoThe 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 "you…
reasonstringOoCustomer-grade English describing what was found. Empty when safe.
warningsstring[]OoNon-blocking observations about the zone.

Mga error na maibabalik ng endpoint na ito

401 · 403 · 422 · 429 · 503