Retrieve an email
Retrieve one accepted message by id, including its rendered bodies. The detail shape has no status field — last_event mirrors the lifecycle, falling back to the status when no delivery event has applied yet. Lookups are scoped by organization and environment and bounded by the retention floor; an unknown, cross-org, wrong-environment, or past-retention id returns 404. Requires the send or read:emails scope.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The message id (a bare 26-character ULID, no prefix).
Response
The email detail.
object"email"required"email"idstringrequiredtype"transactional" | "marketing"requiredThe kind of mail, as the sender declares it. Omitting the field means transactional. A marketing send is subject to extra compliance rules — it accepts exactly one recipient across to/cc/bcc, the organization must have a postal address on file, and it draws on a separate monthly marketing allowance.
"transactional" | "marketing""transactional"toarray<string>requiredfromstringrequiredcreated_atstring<date-time>requiredsubjectstringhtmlstringtextstringccarray<string>requiredbccarray<string>requiredreply_toarray<string>requiredlast_eventstringrequiredThe message's latest state in status words (delivered, bounced, complained), not the event type names used by /events. Falls back to status.
scheduled_atstring<date-time>tagsarray<object>requiredtags.namestringrequiredTag name; must match [A-Za-z0-9_-]+.
tags.valuestringrequiredTag value; must match [A-Za-z0-9_-]+.
