Get a message sent through /email/send, with its delivery timeline (scope: emails:send)
Org-scoped. Accepts a key holding `emails:read` or `emails:send`, so a sending application can poll what it sent.
Org-scoped. Accepts a key holding emails:read or emails:send, so a sending application can poll what it sent.
bearerAuthAuthorizationBearer <token>API key as Bearer token
id*stringOK
application/json- response
data*error*nullcurl -X GET "https://example.com/email/messages/string"{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "queued", "category": "transactional", "from": "string", "subject": "string", "recipients": [ { "email": "user@example.com", "name": "string", "kind": "to", "status": "accepted" } ], "suppressed_recipients": [ "string" ], "tags": [ "string" ], "message_id": "string", "provider_message_id": "string", "idempotency_key": "string", "last_error": "string", "created_at": "2019-08-24T14:15:22Z", "sent_at": "2019-08-24T14:15:22Z", "delivered_at": "2019-08-24T14:15:22Z", "bounced_at": "2019-08-24T14:15:22Z", "complained_at": "2019-08-24T14:15:22Z", "events": [ { "type": "email.queued", "at": "2019-08-24T14:15:22Z" } ] }, "error": null}Unlock a domain for transfer (scope: domains:write) POST
Previous Page
Send transactional mail from a sibling application, RFC 5322 address strings (scope: emails:send) POST
Same pipeline as `/emails/send` (verified sender domain, fail-closed suppression, Safe Mode, outbox retry, `email.*` webhooks) with a flatter wire shape: addresses are strings (`"Ana <ana@x.ro>"`), `tags` is a key→value map, custom headers are allowed except envelope/MIME/authentication ones (From, To, Cc, Bcc, Subject, Reply-To, Message-ID, Date, Content-Type, DKIM-Signature, ARC-*, …; no CR/LF). `category` defaults to `transactional`; `auth` and `alert` are aliases for `transactional` and `notification`; `marketing` → 422. `from` on an unverified domain → 422 `from_domain_not_verified`; omit it for the org default sender. A `from` that no sending identity may send as → 422 `sender_identity_missing` (nothing recorded): use the sending address of the domain, or a hosted mailbox / alias with API sending enabled. 202 whenever the message is recorded — `status` is `sent`, `queued` (including a transport failure parked for retry) or `suppressed` (non-error). A transport refusal that could not be queued → 502 `send_failed`. `id`, `status` and `suppressed` are mirrored at the top level of the 202 body for clients that read them there. Honours `Idempotency-Key`. Shares the 600/h per-organisation limit with `/emails/send`.