Event types
All events share the envelope shown in Managing webhooks; this page
covers the data inside it. Every event’s data includes the email_id (except
email.received, which references the inbound message instead).
email.sent
Section titled “email.sent”The provider accepted the message.
{ "email_id": "…", "message_id": "<provider id>", "from": "Acme <hi@acme.com>", "to": ["user@example.com"], "subject": "Hello" }email.delivered
Section titled “email.delivered”The recipient’s mail server accepted delivery. Data: email_id, message_id, and
recipients when reported.
email.opened
Section titled “email.opened”The tracking pixel loaded (open tracking must be on). Data: email_id.
email.clicked
Section titled “email.clicked”A rewritten link was followed. Data: email_id and the destination link.
email.bounced
Section titled “email.bounced”Delivery bounced. The richest payload:
{ "email_id": "…", "message_id": "…", "recipients": ["user@example.com"], "bounce_type": "Permanent", "bounce_sub_type": "General", "bounce_classification": "hard_bounce", "bounce_recipients": [ { "…": "per-recipient diagnostic detail" } ]}bounce_classification is a stable, provider-neutral value: hard_bounce, soft_bounce,
no_email, suppressed, mailbox_full, message_too_large, content_rejected,
attachment_rejected, or undetermined. Permanent bounces add the recipient to your
suppression list.
email.complained
Section titled “email.complained”The recipient marked the mail as spam. Data: email_id, message_id, recipients. Also
suppresses the recipient.
email.delivery_delayed
Section titled “email.delivery_delayed”The receiving server deferred delivery (e.g. mailbox full, greylisting); the provider keeps
retrying. Data: email_id, message_id, recipients.
email.failed
Section titled “email.failed”The send failed before or at the provider. Data: email_id and an error description.
email.suppressed
Section titled “email.suppressed”A queued or scheduled send was blocked at send time because the recipient had become
suppressed. Data: email_id, recipient.
email.received
Section titled “email.received”Inbound mail arrived on a receiving domain. Data:
received_email_id, from, to; fetch the body via GET /emails/received/{id}.