mail

GET /v1/mail/preflight

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

จุดสิ้นสุด mail ทั้งหมด

การยืนยันตัวตน

ส่ง API key ในรูปแบบ bearer token คีย์ดังกล่าวต้องมีสิทธิ์ mail.view หากไม่มีสิทธิ์ ระบบจะปฏิเสธด้วยรหัส 403 แทนที่จะเป็น 404

ตำแหน่งสำหรับใส่รหัสองค์กรของคุณ

พอยต์ข้อมูลนี้รับ org_id เป็นพารามิเตอร์คิวรี หากเว้นว่างไว้ การเรียกใช้งานจะครอบคลุมย่อยของเทแนนท์ทั้งหมดของคุณ แต่หากระบุค่า จะช่วยจำกัดขอบเขตการเรียกให้เหลือเพียงองค์กรเดียว

รหัสองค์กรของคุณจะแสดงอยู่บนหน้าคีย์ API ในแดชบอร์ดของคุณ โดยอยู่ถัดจากคีย์นั้นๆ รหัสนี้จะเป็นรหัสเดิมในการเรียกใช้งานทุกครั้งของคุณ

ทดลองใช้เลย

แทนที่สิ่งใดๆ ที่อยู่ภายในวงเล็บแหลมด้วยค่าของคุณเอง และตัวยึดตำแหน่งคีย์ด้วยคีย์จากแดชบอร์ดของคุณ

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

เข้าสู่ระบบแล้วใช่ไหม คอนโซล API ในแดชบอร์ดของคุณจะเติมรหัสองค์กรจริงและคีย์ของคุณเองโดยอัตโนมัติ และทำการส่งคำขอไปยัง 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 w…
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 "you…
reasonstringใช่Customer-grade English describing what was found. Empty when safe.
warningsstring[]ใช่Non-blocking observations about the zone.

ข้อผิดพลาดที่เอนด์พอยต์นี้สามารถส่งกลับได้

401 · 403 · 422 · 429 · 503