# 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.

```json
{
  "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**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `type` | string | No | The event type that triggered the webhook. |
| `created_at` | string | No | ISO 8601 timestamp when the webhook event was created. |
| `data` | object | No | Event-specific data. The fields below live inside this object. |
| `data.campaign_id` | string | No | Identifier for the campaign, if applicable. |
| `data.created_at` | string | No | ISO 8601 timestamp when the email was created. |
| `data.email_id` | string | No | Unique identifier for this email. |
| `data.message_id` | string | No | RFC Message-ID header value for the email. |
| `data.from` | string | No | Sender address; may include a display name. |
| `data.to` | string[] | No | Recipient email address(es). |
| `data.subject` | string | No | Email subject line. |
| `data.template_id` | string | No | Identifier of the template used, if applicable. |
| `data.bounce` | object | No | Bounce details from the receiving server (see below). |
| `data.bounce.diagnosticCode` | string[] | No | SMTP diagnostic responses from the receiving server, including status code and reason. |
| `data.bounce.message` | string | No | Detailed bounce message from the receiving server. |
| `data.bounce.subType` | string | No | Bounce sub-type, e.g. `Suppressed`, `MessageRejected`. |
| `data.bounce.type` | string | No | Bounce type, e.g. `Permanent`, `Temporary`. |
| `data.tags` | object | No | Object of tag key-value pairs associated with the email. |

> **Note:** This is one of several events MailBlastr can deliver. See the full list of [webhook event types](https://www.mailblastr.com/docs/webhooks/events).
