eComms

Search the documentation

Search every page of the documentation and jump to a result.

Retrieve a send

GEThttps://api.e-comms.dev/v1/email/:messageId

The outcome of a send already admitted. Costs no quota: an organization over its limit can still read what it already sent.

Important

Every call needs a bearer token from an active API key. See Authentication. Create or manage keys from the API keys panel.

Path parameters

messageIdstringRequired

The id POST /v1/email returned in its own results[].messageId.

Query parameters

None.

Headers

AuthorizationstringRequired

Bearer ek_live_<key>.

Request attributes

None.

Response attributes

idstringRequired

The same id as the path parameter.

addressstringRequired

This addressee's own address.

statusstringRequired

claimed, sent, suppressed, failed or unknown — see Notes.

deliveryStatusstring | nullRequired

null until the first webhook delivery. After that, deferred, delivered, rejected, bounced or complained — see Notes.

failureReasonstring | nullRequired

null unless status is failed, where it carries the provider's own reason.

createdAtstringRequired

When the send was admitted. Never null.

sentAtstring | nullRequired

null until the send attempt itself succeeded or failed.

deliveredAtstring | nullRequired

null until deliveryStatus reaches delivered.

Notes

  • status is about the send attempt, not the delivery. claimed is the only value before the provider is ever called; sent and failed describe whether that call succeeded; unknown is what an interruption between the claim and the provider’s answer leaves behind, after a bounded retry already had its chance — never a failed delivery on its own.
  • deliveryStatus is a ladder that never moves backward, the same one the webhooks reference documents: deferred, delivered, rejected, bounced and complained, in the order a late complaint can still arrive after a delivery already on record.
  • Costs no quota: an organization over its limit can still read what it already sent.
  • Reading needs its own permission. This route requires messages:read; sending requires messages:send. A key issued only messages:send can send but gets a 403 when retrieving a send, so issue the key with both permissions if it will do both.

Errors

StatusCodeCause
403forbiddenThe key was not issued messages:read. A key issued only messages:send gets this 403 when reading.
404not_foundThe message does not exist, or exists for another organization — the response never reveals which.