# Webhook events

> Every event with its meaning, the permission needed to subscribe and an example body. Events that are not sent yet are marked.

Last updated: 2026-10-30. Source: https://docs.smartchat.marketing/en/webhooks/events/

Event names have the form `resource.event` in the past tense. To subscribe an endpoint to an event your key needs the permission shown in the table. Events marked **coming soon** are listed so that you can plan; an endpoint cannot subscribe to them yet and the API answers with [`validation_failed`](https://docs.smartchat.marketing/en/errors/#validation_failed).

The status in the table is the truth for today: **available** means that SmartChat sends the event now, **coming soon** means that nothing sends it yet.

Every body has the same envelope. See [Webhooks](https://docs.smartchat.marketing/en/webhooks/overview/). Some events add fields inside `data`, next to `object`: `contact.updated` has `previous_attributes` and `changed_fields`, `contact.tag_removed` has `tag`, `contact.opted_out` has `reason`, and `message.failed` has `failure_code`.

When you create an endpoint, `["*"]` means all available events (never `webhook.test`). `webhook.test` needs only the permission `webhooks:write`.

| Event | When it happens | Permission to subscribe | Status |
|---|---|---|---|
| [`contact.created`](#contact-created) | A contact was created. | `contacts:read` | available |
| [`contact.updated`](#contact-updated) | Name, email, phone number or tags of a contact changed (see changed_fields). | `contacts:read` | coming soon (cannot be subscribed to yet) |
| [`contact.deleted`](#contact-deleted) | A contact was deleted. Only id and deleted_at are sent. | `contacts:read` | coming soon (cannot be subscribed to yet) |
| [`contact.tag_removed`](#contact-tag_removed) | A tag was removed from a contact (see tag). | `contacts:read` | coming soon (cannot be subscribed to yet) |
| [`contact.opted_in`](#contact-opted_in) | A contact confirmed the WhatsApp opt-in. | `contacts:read` | coming soon (cannot be subscribed to yet) |
| [`contact.opted_out`](#contact-opted_out) | A contact unsubscribed (see reason). | `contacts:read` | coming soon (cannot be subscribed to yet) |
| [`conversation.created`](#conversation-created) | A new conversation started. | `inbox:read` | available |
| [`conversation.handover_requested`](#conversation-handover_requested) | The AI handed a conversation over to a human. | `inbox:read` | coming soon (cannot be subscribed to yet) |
| [`message.received`](#message-received) | An incoming message arrived. | `inbox:read` | available |
| [`message.sent`](#message-sent) | An outgoing message was sent to WhatsApp. | `inbox:read` | coming soon (cannot be subscribed to yet) |
| [`message.delivered`](#message-delivered) | An outgoing message was delivered. | `inbox:read` | coming soon (cannot be subscribed to yet) |
| [`message.read`](#message-read) | An outgoing message was read. | `inbox:read` | coming soon (cannot be subscribed to yet) |
| [`message.failed`](#message-failed) | An outgoing message failed (see failure_code). | `inbox:read` | coming soon (cannot be subscribed to yet) |
| [`send.completed`](#send-completed) | A send created through the API completed. | `sends:read` | coming soon (cannot be subscribed to yet) |
| [`send.failed`](#send-failed) | A send created through the API failed. | `sends:read` | coming soon (cannot be subscribed to yet) |
| [`template.status_changed`](#template-status_changed) | The WhatsApp approval status of a template changed. | `templates:read` | coming soon (cannot be subscribed to yet) |
| [`newsletter.scheduled`](#newsletter-scheduled) | A newsletter was scheduled. | `newsletters:read` | coming soon (cannot be subscribed to yet) |
| [`newsletter.started`](#newsletter-started) | Sending of a newsletter started. | `newsletters:read` | coming soon (cannot be subscribed to yet) |
| [`newsletter.completed`](#newsletter-completed) | Sending of a newsletter completed. | `newsletters:read` | coming soon (cannot be subscribed to yet) |
| [`newsletter.failed`](#newsletter-failed) | Sending of a newsletter failed. | `newsletters:read` | coming soon (cannot be subscribed to yet) |
| [`automation.run_failed`](#automation-run_failed) | An automation run failed. | `automations:read` | coming soon (cannot be subscribed to yet) |
| [`account.limit_reached`](#account-limit_reached) | The monthly message quota or the credits of the account are used up. Not about API keys: a key has no usage limit. | `account:read` | coming soon (cannot be subscribed to yet) |
| [`account.limit_warning`](#account-limit_warning) | The monthly message quota or the credits of the account are at 80 percent. Not about API keys: a key has no usage limit. | `account:read` | coming soon (cannot be subscribed to yet) |
| [`webhook.test`](#webhook-test) | Test ping sent on request to an endpoint. | `webhooks:write` | available |

### contact.created


A contact was created. Object in `data.object`: `contact`. Permission to subscribe: `contacts:read`. Status: available.

```json
{
  "id": "evt_000000000000000000000000000000e0",
  "object": "event",
  "type": "contact.created",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:07.412Z",
  "sequence": 128734,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "contact",
      "id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "name": "Mia Muster",
      "phone": "+4915112345678",
      "email": "mia@example.com",
      "tags": [
        "regular customer"
      ],
      "optin_whatsapp": "none",
      "created_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### contact.updated


Name, email, phone number or tags of a contact changed (see changed_fields). Object in `data.object`: `contact`. Permission to subscribe: `contacts:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000e1",
  "object": "event",
  "type": "contact.updated",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:08.412Z",
  "sequence": 128735,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "contact",
      "id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "name": "Mia Muster-Berg",
      "phone": "+4915112345678",
      "email": "mia@example.com",
      "tags": [
        "regular customer"
      ],
      "optin_whatsapp": "none",
      "created_at": "2026-10-25T09:41:07Z"
    },
    "previous_attributes": {
      "name": "Mia Muster"
    },
    "changed_fields": [
      "name"
    ]
  }
}
```

### contact.deleted


A contact was deleted. Only id and deleted_at are sent. Object in `data.object`: `contact`. Permission to subscribe: `contacts:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000e2",
  "object": "event",
  "type": "contact.deleted",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:09.412Z",
  "sequence": 128736,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "contact",
      "id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "deleted_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### contact.tag_removed


A tag was removed from a contact (see tag). Object in `data.object`: `contact`. Permission to subscribe: `contacts:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000e3",
  "object": "event",
  "type": "contact.tag_removed",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:10.412Z",
  "sequence": 128737,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "contact",
      "id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "name": "Mia Muster",
      "phone": "+4915112345678",
      "email": "mia@example.com",
      "tags": [],
      "optin_whatsapp": "none",
      "created_at": "2026-10-25T09:41:07Z"
    },
    "tag": "regular customer"
  }
}
```

### contact.opted_in


A contact confirmed the WhatsApp opt-in. Object in `data.object`: `contact`. Permission to subscribe: `contacts:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000e4",
  "object": "event",
  "type": "contact.opted_in",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:11.412Z",
  "sequence": 128738,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "contact",
      "id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "name": "Mia Muster",
      "phone": "+4915112345678",
      "email": "mia@example.com",
      "tags": [
        "regular customer"
      ],
      "optin_whatsapp": "confirmed",
      "created_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### contact.opted_out


A contact unsubscribed (see reason). Object in `data.object`: `contact`. Permission to subscribe: `contacts:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000e5",
  "object": "event",
  "type": "contact.opted_out",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:12.412Z",
  "sequence": 128739,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "contact",
      "id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "name": "Mia Muster",
      "phone": "+4915112345678",
      "email": "mia@example.com",
      "tags": [
        "regular customer"
      ],
      "optin_whatsapp": "opted_out",
      "created_at": "2026-10-25T09:41:07Z"
    },
    "previous_attributes": {
      "optin_whatsapp": "confirmed"
    },
    "reason": "stop_keyword"
  }
}
```

### conversation.created


A new conversation started. Object in `data.object`: `conversation`. Permission to subscribe: `inbox:read`. Status: available.

```json
{
  "id": "evt_000000000000000000000000000000e6",
  "object": "event",
  "type": "conversation.created",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:13.412Z",
  "sequence": 128740,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "conversation",
      "id": "cnv_0f8c1a2e4b7d4c3e9a5b6d7e8f905678",
      "contact_id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "channel": "whatsapp",
      "window_expires_at": "2026-10-26T09:41:07Z",
      "created_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### conversation.handover_requested


The AI handed a conversation over to a human. Object in `data.object`: `conversation`. Permission to subscribe: `inbox:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000e7",
  "object": "event",
  "type": "conversation.handover_requested",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:14.412Z",
  "sequence": 128741,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "conversation",
      "id": "cnv_0f8c1a2e4b7d4c3e9a5b6d7e8f905678",
      "contact_id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "channel": "whatsapp",
      "window_expires_at": "2026-10-26T09:41:07Z",
      "created_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### message.received


An incoming message arrived. Object in `data.object`: `message`. Permission to subscribe: `inbox:read`. Status: available.

```json
{
  "id": "evt_000000000000000000000000000000e8",
  "object": "event",
  "type": "message.received",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:15.412Z",
  "sequence": 128742,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "message",
      "id": "msg_0f8c1a2e4b7d4c3e9a5b6d7e8f909999",
      "conversation_id": "cnv_0f8c1a2e4b7d4c3e9a5b6d7e8f905678",
      "contact_id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "direction": "inbound",
      "text": "Hello, do you have a table for two?",
      "status": "received",
      "created_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### message.sent


An outgoing message was sent to WhatsApp. Object in `data.object`: `message`. Permission to subscribe: `inbox:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000e9",
  "object": "event",
  "type": "message.sent",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:16.412Z",
  "sequence": 128743,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "message",
      "id": "msg_0f8c1a2e4b7d4c3e9a5b6d7e8f909999",
      "conversation_id": "cnv_0f8c1a2e4b7d4c3e9a5b6d7e8f905678",
      "contact_id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "direction": "outbound",
      "text": "Your table is booked for 7 pm.",
      "status": "sent",
      "created_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### message.delivered


An outgoing message was delivered. Object in `data.object`: `message`. Permission to subscribe: `inbox:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000ea",
  "object": "event",
  "type": "message.delivered",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:17.412Z",
  "sequence": 128744,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "message",
      "id": "msg_0f8c1a2e4b7d4c3e9a5b6d7e8f909999",
      "conversation_id": "cnv_0f8c1a2e4b7d4c3e9a5b6d7e8f905678",
      "contact_id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "direction": "outbound",
      "text": "Your table is booked for 7 pm.",
      "status": "delivered",
      "created_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### message.read


An outgoing message was read. Object in `data.object`: `message`. Permission to subscribe: `inbox:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000eb",
  "object": "event",
  "type": "message.read",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:18.412Z",
  "sequence": 128745,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "message",
      "id": "msg_0f8c1a2e4b7d4c3e9a5b6d7e8f909999",
      "conversation_id": "cnv_0f8c1a2e4b7d4c3e9a5b6d7e8f905678",
      "contact_id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "direction": "outbound",
      "text": "Your table is booked for 7 pm.",
      "status": "read",
      "created_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### message.failed


An outgoing message failed (see failure_code). Object in `data.object`: `message`. Permission to subscribe: `inbox:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000ec",
  "object": "event",
  "type": "message.failed",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:19.412Z",
  "sequence": 128746,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "message",
      "id": "msg_0f8c1a2e4b7d4c3e9a5b6d7e8f909999",
      "conversation_id": "cnv_0f8c1a2e4b7d4c3e9a5b6d7e8f905678",
      "contact_id": "con_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
      "direction": "outbound",
      "text": "Your table is booked for 7 pm.",
      "status": "failed",
      "created_at": "2026-10-25T09:41:07Z"
    },
    "failure_code": "window_closed"
  }
}
```

### send.completed


A send created through the API completed. Object in `data.object`: `send`. Permission to subscribe: `sends:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000ed",
  "object": "event",
  "type": "send.completed",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:20.412Z",
  "sequence": 128747,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "send",
      "id": "snd_00000000000000000000000000000051",
      "status": "completed",
      "created_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### send.failed


A send created through the API failed. Object in `data.object`: `send`. Permission to subscribe: `sends:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000ee",
  "object": "event",
  "type": "send.failed",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:21.412Z",
  "sequence": 128748,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "send",
      "id": "snd_00000000000000000000000000000052",
      "status": "failed",
      "created_at": "2026-10-25T09:41:07Z"
    }
  }
}
```

### template.status_changed


The WhatsApp approval status of a template changed. Object in `data.object`: `template`. Permission to subscribe: `templates:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000ef",
  "object": "event",
  "type": "template.status_changed",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:22.412Z",
  "sequence": 128749,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "template",
      "id": "tpl_00000000000000000000000000000061",
      "status": "approved"
    }
  }
}
```

### newsletter.scheduled


A newsletter was scheduled. Object in `data.object`: `newsletter`. Permission to subscribe: `newsletters:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000f0",
  "object": "event",
  "type": "newsletter.scheduled",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:23.412Z",
  "sequence": 128750,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "newsletter",
      "id": "nwl_00000000000000000000000000000071",
      "status": "scheduled"
    }
  }
}
```

### newsletter.started


Sending of a newsletter started. Object in `data.object`: `newsletter`. Permission to subscribe: `newsletters:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000f1",
  "object": "event",
  "type": "newsletter.started",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:24.412Z",
  "sequence": 128751,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "newsletter",
      "id": "nwl_00000000000000000000000000000072",
      "status": "sending"
    }
  }
}
```

### newsletter.completed


Sending of a newsletter completed. Object in `data.object`: `newsletter`. Permission to subscribe: `newsletters:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000f2",
  "object": "event",
  "type": "newsletter.completed",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:25.412Z",
  "sequence": 128752,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "newsletter",
      "id": "nwl_00000000000000000000000000000073",
      "status": "completed"
    }
  }
}
```

### newsletter.failed


Sending of a newsletter failed. Object in `data.object`: `newsletter`. Permission to subscribe: `newsletters:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000f3",
  "object": "event",
  "type": "newsletter.failed",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:26.412Z",
  "sequence": 128753,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "newsletter",
      "id": "nwl_00000000000000000000000000000074",
      "status": "failed"
    }
  }
}
```

### automation.run_failed


An automation run failed. Object in `data.object`: `automation_run`. Permission to subscribe: `automations:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000f4",
  "object": "event",
  "type": "automation.run_failed",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:27.412Z",
  "sequence": 128754,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "automation_run",
      "id": "run_00000000000000000000000000000081",
      "automation_id": "aut_00000000000000000000000000000082",
      "status": "failed"
    }
  }
}
```

### account.limit_reached


The monthly message quota or the credits of the account are used up. Not about API keys: a key has no usage limit. Object in `data.object`: `account`. Permission to subscribe: `account:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000f5",
  "object": "event",
  "type": "account.limit_reached",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:28.412Z",
  "sequence": 128755,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "account",
      "id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234"
    }
  }
}
```

### account.limit_warning


The monthly message quota or the credits of the account are at 80 percent. Not about API keys: a key has no usage limit. Object in `data.object`: `account`. Permission to subscribe: `account:read`. Status: coming soon. It is listed so that you can plan, but an endpoint cannot subscribe to it yet. The example shows the planned shape and can still change.

```json
{
  "id": "evt_000000000000000000000000000000f6",
  "object": "event",
  "type": "account.limit_warning",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:29.412Z",
  "sequence": 128756,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "account",
      "id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234"
    }
  }
}
```

### webhook.test


Test ping sent on request to an endpoint. Object in `data.object`: `webhook_test`. Permission to subscribe: `webhooks:write`. Status: available.

```json
{
  "id": "evt_000000000000000000000000000000f7",
  "object": "event",
  "type": "webhook.test",
  "api_version": "2026-10-25",
  "created_at": "2026-10-25T09:41:30.412Z",
  "sequence": 128757,
  "account_id": "acc_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "livemode": true,
  "request_id": "req_01JAB9C3X7K2M4N5P6Q7R8S9T0",
  "data": {
    "object": {
      "object": "webhook_test",
      "id": "whe_00000000000000000000000000000091"
    }
  }
}
```

