email.bounced
Fires when the recipient's mail server permanently rejected the email. The address is added to your suppression list.
The email.bounced event fires when the recipient's mail server permanently rejected the email. The data.bounce object carries the SMTP diagnostics and a classification of the bounce.
A hard bounce adds the address to your account suppression list, so subsequent sends are skipped to protect your reputation.
{
"type": "email.bounced",
"created_at": "2026-06-22T23:41:12.126Z",
"data": {
"campaign_id": "8b146471-e88e-4322-86af-016cd36fd216",
"created_at": "2026-06-22T23:41:11.894719+00:00",
"email_id": "49a3999c-0ce1-4ea6-ab68-afcd6dc2e794",
"message_id": "<111-222-333@email.example.com>",
"from": "Acme <onboarding@example.com>",
"to": ["recipient@example.com"],
"subject": "Sending this example",
"template_id": "43f68331-0622-4e15-8202-246a0388854b",
"bounce": {
"message": "The recipient's email address is on the suppression list because it has a recent history of producing hard bounces.",
"subType": "Suppressed",
"type": "Permanent"
},
"tags": {
"category": "confirm_email"
}
}
}typestringoptionalThe event type that triggered the webhook.
created_atstringoptionalISO 8601 timestamp when the webhook event was created.
dataobjectoptionalEvent-specific data. The fields below live inside this object.
data.campaign_idstringoptionalIdentifier for the campaign, if applicable.
data.created_atstringoptionalISO 8601 timestamp when the email was created.
data.email_idstringoptionalUnique identifier for this email.
data.message_idstringoptionalRFC Message-ID header value for the email.
data.fromstringoptionalSender address; may include a display name.
data.tostring[]optionalRecipient email address(es).
data.subjectstringoptionalEmail subject line.
data.template_idstringoptionalIdentifier of the template used, if applicable.
data.bounceobjectoptionalBounce details from the receiving server (see below).
data.bounce.diagnosticCodestring[]optionalSMTP diagnostic responses from the receiving server, including status code and reason.
data.bounce.messagestringoptionalDetailed bounce message from the receiving server.
data.bounce.subTypestringoptionalBounce sub-type, e.g. Suppressed, MessageRejected.
data.bounce.typestringoptionalBounce type, e.g. Permanent, Temporary.
data.tagsobjectoptionalObject of tag key-value pairs associated with the email.