Statuses and events

What each email status means (queued, sent, delivered, bounced, complained and more), how to read an email's event history, and how statuses map to webhook events.

Every email has a status (last_event in the API) and a history of events. Check them in Emails, with GET /emails/:id, or as they happen with webhooks.

Statuses

StatusMeaningFinal?
scheduledWaiting for its scheduled_at timeNo
queuedAccepted and about to be handed to the mail serversNo
sentDelivrie's mail servers accepted it and are delivering itNo
delivery_delayedThe recipient's server is temporarily refusing it; Delivrie keeps retryingNo
deliveredThe recipient's mail server accepted itYes, unless opened or clicked later
openedThe recipient opened it (needs open tracking on the domain)
clickedThe recipient clicked a link (needs click tracking on the domain)
bouncedThe recipient's server rejected itYes
complainedThe recipient marked it as spamYes
failedIt couldn't be sent, for example because the domain stopped being verified. error says whyYes
canceledA scheduled email you canceledYes
suppressedEvery recipient was on your suppression list, so nothing was sentYes

delivered means the receiving server accepted the message. Whether it lands in the inbox or spam folder is up to the receiving provider; the Deliverability guide covers how to stay in the inbox.

Event history

GET /emails/:id returns the email with every event:

{
  "object": "email",
  "id": "4ef9a417-02e9-4d39-ad75-9611e0fcc33c",
  "from": "Acme <orders@mail.acme.com>",
  "to": ["ada@example.com"],
  "subject": "Your order is confirmed",
  "last_event": "delivered",
  "created_at": "2026-11-14T09:12:04Z",
  "events": [
    { "type": "sent", "data": { "message_id": "0102019..." }, "created_at": "2026-11-14T09:12:05Z" },
    { "type": "delivered", "data": { "smtp_response": "250 2.0.0 OK", "latency_ms": 812 }, "created_at": "2026-11-14T09:12:06Z" }
  ]
}

Bounce events include the type (Permanent or Transient), the sub-type and the receiving server's message, which usually says exactly why: a mailbox that doesn't exist, a full inbox, or a blocked sender.

Bounces and complaints

Webhook events

StatusWebhook event
sentemail.sent
deliveredemail.delivered
delivery_delayedemail.delivery_delayed
openedemail.opened
clickedemail.clicked
bouncedemail.bounced
complainedemail.complained
failedemail.failed

Retention

After 30 days, an email's HTML, text and attachments are deleted. Its recipients, subject, status and events stay, so logs and metrics keep working.

Email content is kept for 30 days on every plan, for both sent and received email. Enterprise plans can keep it longer.

Use webhooks to keep your own copy if you need it longer.

More guides