Webhooks

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"
    }
  }
}
Payload
typestringoptional

The event type that triggered the webhook.

created_atstringoptional

ISO 8601 timestamp when the webhook event was created.

dataobjectoptional

Event-specific data. The fields below live inside this object.

data.campaign_idstringoptional

Identifier for the campaign, if applicable.

data.created_atstringoptional

ISO 8601 timestamp when the email was created.

data.email_idstringoptional

Unique identifier for this email.

data.message_idstringoptional

RFC Message-ID header value for the email.

data.fromstringoptional

Sender address; may include a display name.

data.tostring[]optional

Recipient email address(es).

data.subjectstringoptional

Email subject line.

data.template_idstringoptional

Identifier of the template used, if applicable.

data.bounceobjectoptional

Bounce details from the receiving server (see below).

data.bounce.diagnosticCodestring[]optional

SMTP diagnostic responses from the receiving server, including status code and reason.

data.bounce.messagestringoptional

Detailed bounce message from the receiving server.

data.bounce.subTypestringoptional

Bounce sub-type, e.g. Suppressed, MessageRejected.

data.bounce.typestringoptional

Bounce type, e.g. Permanent, Temporary.

data.tagsobjectoptional

Object of tag key-value pairs associated with the email.

This is one of several events MailBlastr can deliver. See the full list of webhook event types.