Re-check DNS for a sending domain: ownership, SPF, DKIM, DMARC (scope: email_domains:write)
bearerAuthAuthorizationBearer <token>API key as Bearer token
id*stringOK
application/json- response
data*error*nullcurl -X POST "https://example.com/email-domains/string/verify"{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "verified": true, "status": "pending", "checks": { "ownership": true, "spf": true, "dkim": true, "dmarc": true, "mx": true }, "dns_records": [ { "type": "TXT", "name": "string", "value": "string", "status": "pending" } ], "last_error": "string", "sender_identity": { "ready": true, "mode": "exists", "reason": "not_verified" } }, "error": null}List sending domains (scope: email_domains:read) GET
Previous Page
Send a transactional or notification email as the organisation (scope: emails:send) POST
Accepted with 202 once the message is durably recorded; delivery is asynchronous. Honours `Idempotency-Key` (same key → same `id`). Rate limit 600/h per organisation. Suppressed recipients (bounces, complaints, org opt-outs) are reported per recipient and never handed to the MTA; if every `to` is suppressed the message is recorded with `status: suppressed`. `category: marketing` → 422 (use campaigns). `from` on an unverified domain → 422. A `from` on a verified domain that no sending identity may send as → 422 `sender_identity_missing` (nothing recorded). Sendable: the sending address of the domain (`<from_local_part>@<domain>`; re-run `/email-domains/{id}/verify` if its identity is missing), or a hosted mailbox of the organisation or one of its aliases with API sending enabled (Mail settings). Attachments over 2 MB decoded → 413. Webhooks: `email.sent`, `email.delivered`, `email.bounced`, `email.complained`, `email.suppressed`.