# email.unsubscribed

> Fires the first time a recipient unsubscribes from your mail.

The `email.unsubscribed` event fires the **first time** a recipient opts out — via an RFC 8058 one-click List-Unsubscribe, the unsubscribe footer link, or the hosted preference center. Repeat opt-outs of an already-unsubscribed address do **not** re-fire it.

The recipient is marked unsubscribed in the relevant audience, so future campaign sends skip them automatically.

```json
{
  "type": "email.unsubscribed",
  "created_at": "2026-06-22T23:41:12.126Z",
  "data": {
    "recipient_email": "recipient@example.com",
    "audience_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
    "occurred_at": "2026-06-22T23:41:11.894Z"
  }
}
```

**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.recipient_email` | string | No | The address that unsubscribed. |
| `data.audience_id` | string | No | The audience (contact pool) the opt-out applied to. |
| `data.occurred_at` | string | No | ISO 8601 timestamp when the unsubscribe was recorded. |

> **Note:** This event covers **account-wide** opt-outs only. A [topic](https://www.sendping.co/docs/topics/overview) opt-out — the unsubscribe link on a `POST /emails` send that set a `topic_id`, or a single topic switched off in the preference center — is scoped to that topic, leaves the recipient subscribed to everything else, and does **not** fire `email.unsubscribed`. Topic opt-outs are listed per topic in the dashboard.

> **Note:** SendPing records the opt-out and skips the recipient on future sends; it does not modify your email body.

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