> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.brevo.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.brevo.com/_mcp/server.

This page lists all transactional events you can track. Review the request schema and parameters for each event when building your Notify URL.

**Transactional Email events**

* [Sent](/docs/transactional-webhooks#sent)
* [Clicked](/docs/transactional-webhooks#clicked)
* [Deferred](/docs/transactional-webhooks#deferred)
* [Delivered](/docs/transactional-webhooks#delivered)
* [Soft Bounced](/docs/transactional-webhooks#soft-bounced)
* [Spam](/docs/transactional-webhooks#complaint)
* [First Opening](/docs/transactional-webhooks#first-opening)
* [Hard Bounced](/docs/transactional-webhooks#hard-bounced)
* [Opened](/docs/transactional-webhooks#opened)
* [Invalid Email](/docs/transactional-webhooks#invalid-email)
* [Blocked](/docs/transactional-webhooks#blocked)
* [Error](/docs/transactional-webhooks#error)
* [Unsubscribed](/docs/transactional-webhooks#unsubscribed)
* [Proxy Open](/docs/transactional-webhooks#proxy-open)
* [Unique Proxy Open](/docs/transactional-webhooks#unique-proxy-open)

**Transactional SMS events**

* [Sent](/docs/transactional-webhooks#sent-1)
* [Accepted](/docs/transactional-webhooks#accepted)
* [Delivered](/docs/transactional-webhooks#delivered-1)
* [Replied](/docs/transactional-webhooks#replied)
* [Soft bounce](/docs/transactional-webhooks#soft-bounce)
* [Hard bounce](/docs/transactional-webhooks#hard-bounce)
* [Subscribe](/docs/transactional-webhooks#subscribe)
* [Unsubscribe](/docs/transactional-webhooks#unsubscribe)
* [Skip](/docs/transactional-webhooks#skip)
* [Rejected](/docs/transactional-webhooks#rejected)

\
\


#### Datetime parameters 🕗

The following parameters appear in most tracked events. Keep this in mind when working with webhook datetime values.

`ts_epoch`, `ts_event`: **UTC Timezone**
`date`: **CET/CEST Timezone**

\


# Transactional Email

## Sent

| Attribute name    | Data type        | Description                                                                    |
| :---------------- | :--------------- | :----------------------------------------------------------------------------- |
| `event`           | string           | "request"                                                                      |
| `email`           | string           | recipient of message                                                           |
| `id`              | integer          | webhook id                                                                     |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone        |
| `ts`              | integer          | timestamp in seconds of when event occurred                                    |
| `message-id`      | string           | internal message id                                                            |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred                   |
| `subject`         | string           | message subject                                                                |
| `X-Mailin-custom` | string           | custom added header                                                            |
| `sending_ip`      | string           | ip used to send message                                                        |
| `ts_epoch`        | integer          | time stamp in milliseconds UTC of when message was sent                        |
| `template_id`     | integer          | internal id of the template                                                    |
| `tags`            | array of strings | tags you might have used to identify your message                              |
| `mirror_link`     | string           | A preview link corresponding to the UI logs for the event                      |
| `contact_id`      | integer          | Brevo identifier for an existing contact. If contact is not present , return 0 |

```json
{
	"event":"request",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
  "X-Mailin-custom": "some_custom_header",
  "sending_ip": "xxx.xxx.xxx.xxx",
  "ts_epoch": 1604933654,
  "template_id": 22,
  "mirror_link": "https://app-smtp.brevo.com/log/preview/1a2000f4-4e33-23aa-ab68-900dxxx9152c",
  "contact_id": 8,
  "tags": ["transac_messages"]
}
```

## Clicked

| Attribute name    | Data type        | Description                                                                     |
| :---------------- | :--------------- | :------------------------------------------------------------------------------ |
| `event`           | string           | "click"                                                                         |
| `email`           | string           | recipient of message                                                            |
| `id`              | integer          | webhook id                                                                      |
| `date`            | string           | date of the event listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                                     |
| `message-id`      | string           | internal message id                                                             |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred                    |
| `subject`         | string           | message subject                                                                 |
| `X-Mailin-custom` | string           | custom added header                                                             |
| `sending_ip`      | string           | ip used to send message                                                         |
| `ts_epoch`        | integer          | time stamp in milliseconds UTC of when event occurred                           |
| `template_id`     | integer          | internal id of the template                                                     |
| `tags`            | array of strings | tags you might have used to identify your message                               |
| `link`            | string           | URL accessed by recipient                                                       |
| `user_agent`      | string           | Information about the user’s browser or email client                            |
| `device_used`     | string           | Details about the device from which the action originated                       |
| `contact_id`      | integer          | Brevo identifier for an existing contact. If contact is not present , return 0  |
| `mirror_link`     | string           | A preview link corresponding to the UI logs for the event                       |

```json
{
	"event":"click",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
  "X-Mailin-custom": "some_custom_header",
  "sending_ip": "xxx.xxx.xxx.xxx",
  "ts_epoch": 1604933654,
  "template_id": 22,
  "tags": ["transac_messages"],
  "user_agent": "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)",
  "device_used": "DESKTOP",
  "mirror_link": "https://app-smtp.brevo.com/log/preview/1a2000f4-4e33-23aa-ab68-900dxxx9152c",
  "contact_id": 8,
  "link": "https://domain.com/product"
}
```

## Deferred

| Attribute name    | Data type        | Description                                                             |
| :---------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`           | string           | "deferred"                                                              |
| `email`           | string           | recipient of message                                                    |
| `id`              | integer          | webhook id                                                              |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                             |
| `message-id`      | string           | internal message id                                                     |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred            |
| `subject`         | string           | message subject                                                         |
| `X-Mailin-custom` | string           | custom added header                                                     |
| `sending_ip`      | string           | ip used to send message                                                 |
| `ts_epoch`        | integer          | time stamp in milliseconds UTC of when message was sent                 |
| `template_id`     | integer          | internal id of the template                                             |
| `tags`            | array of strings | tags you might have used to identify your message                       |
| `reason`          | string           | the reason the message has been deferred                                |

```json
{
	"event":"deferred",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
	"X-Mailin-custom": "some_custom_header",
  "sending_ip": "xxx.xxx.xxx.xxx",
  "ts_epoch": 1604933654,
  "template_id": 22,
  "tags": ["transac_messages"],
  "reason": "spam"
}
```

## Delivered

| Attribute name    | Data type        | Description                                                             |
| :---------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`           | string           | "delivered"                                                             |
| `email`           | string           | recipient of message                                                    |
| `id`              | integer          | webhook id                                                              |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                             |
| `message-id`      | string           | internal message id                                                     |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred            |
| `ts_epoch`        | integer          | time stamp in milliseconds UTC of when message was sent                 |
| `subject`         | string           | message subject                                                         |
| `X-Mailin-custom` | string           | custom added header                                                     |
| `sending_ip`      | string           | ip used to send message                                                 |
| `template_id`     | integer          | internal id of the template                                             |
| `tags`            | array of strings | tags you might have used to identify your message                       |

```json
{
	"event":"delivered",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
	"X-Mailin-custom": "some_custom_header",
  "sending_ip": "xxx.xxx.xxx.xxx",
  "template_id": 22,
  "tags": ["transac_messages"],
}
```

## Soft bounced

| Attribute name    | Data type        | Description                                                             |
| :---------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`           | string           | "soft\_bounce"                                                          |
| `email`           | string           | recipient of message                                                    |
| `id`              | integer          | webhook id                                                              |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                             |
| `message-id`      | string           | internal message id                                                     |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred            |
| `subject`         | string           | message subject                                                         |
| `X-Mailin-custom` | string           | custom added header                                                     |
| `sending_ip`      | string           | ip used to send message                                                 |
| `template_id`     | integer          | internal id of the template                                             |
| `tags`            | array of strings | tags you might have used to identify your message                       |
| `reason`          | string           | the reason the message has been soft bounced                            |

```json
{
	"event":"soft_bounce",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
	"X-Mailin-custom": "some_custom_header",
  "sending_ip": "xxx.xxx.xxx.xxx",
  "template_id": 22,
  "tags": ["transac_messages"],
  "reason": "server is down"
}
```

## Hard bounced

| Attribute name    | Data type        | Description                                                             |
| :---------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`           | string           | "hard\_bounce"                                                          |
| `email`           | string           | recipient of message                                                    |
| `id`              | integer          | webhook id                                                              |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                             |
| `message-id`      | string           | internal message id                                                     |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred            |
| `subject`         | string           | message subject                                                         |
| `X-Mailin-custom` | string           | custom added header                                                     |
| `sending_ip`      | string           | ip used to send message                                                 |
| `template_id`     | integer          | internal id of the template                                             |
| `tags`            | array of strings | tags you might have used to identify your message                       |
| `reason`          | string           | the reason the message has been soft bounced                            |
| `ts_epoch`        | integer          | time stamp in milliseconds UTC of when message was sent                 |

```json
{
	"event":"hard_bounce",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
	"X-Mailin-custom": "some_custom_header",
  "sending_ip": "xxx.xxx.xxx.xxx",
  "template_id": 22,
  "tags": ["transac_messages"],
  "reason": "server is down",
  "ts_epoch":1604933653 
}
```

## Spam

| Attribute name    | Data type        | Description                                                             |
| :---------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`           | string           | "spam"                                                                  |
| `email`           | string           | recipient of message                                                    |
| `id`              | integer          | webhook id                                                              |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                             |
| `message-id`      | string           | internal message id                                                     |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred            |
| `X-Mailin-custom` | string           | custom added header                                                     |
| `tags`            | array of strings | tags you might have used to identify your message                       |

```json
{
	"event":"spam",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
	"X-Mailin-custom": "some_custom_header",
  "tags": ["transac_messages"],
}
```

## First opening

| Attribute name    | Data type        | Description                                                             |
| :---------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`           | string           | "unique\_opened"                                                        |
| `email`           | string           | recipient of message                                                    |
| `id`              | integer          | webhook id                                                              |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                             |
| `message-id`      | string           | internal message id                                                     |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred            |
| `subject`         | string           | message subject                                                         |
| `X-Mailin-custom` | string           | custom added header                                                     |
| `sending_ip`      | string           | ip used to send message                                                 |
| `template_id`     | integer          | internal id of the template                                             |
| `tags`            | array of strings | tags you might have used to identify your message                       |
| `ts_epoch`        | integer          | time stamp in milliseconds UTC of when message was sent                 |
| `user_agent`      | string           | Information about the user’s browser or email client                    |
| `device_used`     | string           | Details about the device from which the action originated               |
| `mirror_link`     | string           | A preview link corresponding to the UI logs for the event               |
| `contact_id`      | integer          | Brevo identifier for an existing contact. If its not present , return 0 |

```json
{
	"event":"unique_opened",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
	"X-Mailin-custom": "some_custom_header",
  "sending_ip": "xxx.xxx.xxx.xxx",
  "template_id": 22,
  "tags": ["transac_messages"],
  "user_agent": "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)",
 	"device_used": "DESKTOP",
  "mirror_link": "https://app-smtp.brevo.com/log/preview/1a2000f4-4e33-23aa-ab68-900dxxx9152c",
  "contact_id": 8,
  "ts_epoch": 1604933623
}
```

## Opened

| Attribute name    | Data type        | Description                                                             |
| :---------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`           | string           | "opened"                                                                |
| `email`           | string           | recipient of message                                                    |
| `id`              | integer          | webhook id                                                              |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                             |
| `message-id`      | string           | internal message id                                                     |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred            |
| `subject`         | string           | message subject                                                         |
| `X-Mailin-custom` | string           | custom added header                                                     |
| `sending_ip`      | string           | ip used to send message                                                 |
| `template_id`     | integer          | internal id of the template                                             |
| `tags`            | array of strings | tags you might have used to identify your message                       |
| `ts_epoch`        | integer          | time stamp in milliseconds UTC of when message was sent                 |
| `user_agent`      | string           | Information about the user’s browser or email client                    |
| `device_used`     | string           | Details about the device from which the action originated               |
| `contact_id`      | integer          | Brevo identifier for an existing contact. If its not present , return 0 |
| `mirror_link`     | string           | A preview link corresponding to the UI logs for the event               |

```json
{
	"event":"opened",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
	"X-Mailin-custom": "some_custom_header",
  "sending_ip": "xxx.xxx.xxx.xxx",
  "template_id": 22,
  "user_agent": "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)",
 	"device_used": "DESKTOP",
  "mirror_link": "https://app-smtp.brevo.com/log/preview/1a2000f4-4e33-23aa-ab68-900dxxx9152c",
  "contact_id": 8,
  "tags": ["transac_messages"],
  "ts_epoch": 1604933623
}
```

## Invalid email

| Attribute name    | Data type        | Description                                                             |
| :---------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`           | string           | "invalid\_email"                                                        |
| `email`           | string           | recipient of message                                                    |
| `id`              | integer          | webhook id                                                              |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                             |
| `message-id`      | string           | internal message id                                                     |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred            |
| `subject`         | string           | message subject                                                         |
| `X-Mailin-custom` | string           | custom added header                                                     |
| `template_id`     | integer          | internal id of the template                                             |
| `tags`            | array of strings | tags you might have used to identify your message                       |
| `ts_epoch`        | integer          | time stamp in milliseconds UTC of when message was sent                 |

```json
{
	"event":"invalid_email",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
	"X-Mailin-custom": "some_custom_header",
  "template_id": 22,
  "tags": ["transac_messages"],
  "ts_epoch": 1604933623
}
```

## Blocked

| Attribute name    | Data type        | Description                                                             |
| :---------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`           | string           | "blocked"                                                               |
| `email`           | string           | recipient of message                                                    |
| `id`              | integer          | webhook id                                                              |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                             |
| `message-id`      | string           | internal message id                                                     |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred            |
| `subject`         | string           | message subject                                                         |
| `X-Mailin-custom` | string           | custom added header                                                     |
| `template_id`     | integer          | internal id of the template                                             |
| `tags`            | array of strings | tags you might have used to identify your message                       |
| `ts_epoch`        | integer          | time stamp in milliseconds UTC of when message was sent                 |

```json
{
	"event":"blocked",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
	"X-Mailin-custom": "some_custom_header",
  "template_id": 22,
  "tags": ["transac_messages"],
  "ts_epoch": 1604933623
}
```

## Error

| Attribute name    | Data type        | Description                                                             |
| :---------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`           | string           | "error"                                                                 |
| `email`           | string           | recipient of message                                                    |
| `id`              | integer          | webhook id                                                              |
| `date`            | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer          | timestamp in seconds of when event occurred                             |
| `message-id`      | string           | internal message id                                                     |
| `ts_event`        | integer          | time stamp in seconds GMT of when the webhook event occurred            |
| `subject`         | string           | message subject                                                         |
| `X-Mailin-custom` | string           | custom added header                                                     |
| `template_id`     | integer          | internal id of the template                                             |
| `tags`            | array of strings | tags you might have used to identify your message                       |
| `ts_epoch`        | integer          | time stamp in milliseconds UTC of when message was sent                 |

```json
{
	"event":"invalid_email",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
	"X-Mailin-custom": "some_custom_header",
  "template_id": 22,
  "tags": ["transac_messages"],
  "ts_epoch": 1604933623
}
```

## Unsubscribed

| Attribute name    | Data type | Description                                                             |
| :---------------- | :-------- | :---------------------------------------------------------------------- |
| `event`           | string    | "unsubscribed"                                                          |
| `email`           | string    | recipient of message                                                    |
| `id`              | integer   | webhook id                                                              |
| `date`            | string    | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `ts`              | integer   | timestamp in seconds of when event occurred                             |
| `message-id`      | string    | internal message id                                                     |
| `ts_event`        | integer   | time stamp in seconds GMT of when the webhook event occurred            |
| `subject`         | string    | message subject                                                         |
| `X-Mailin-custom` | string    | custom added header                                                     |
| `template_id`     | integer   | internal id of the template                                             |
| `tag`             | string    | tag you might have used to identify your message                        |
| `ts_epoch`        | integer   | time stamp in milliseconds UTC of when message was sent                 |
| `sending_ip`      | string    | IP used to send the message                                             |
| `user_agent`      | string    | Information about the user’s browser or email client                    |
| `device_used`     | string    | Details about the device from which the action originated               |
| `mirror_link`     | string    | A preview link corresponding to the UI logs for the event               |
| `contact_id`      | integer   | Brevo identifier for an existing contact. If its not present , return 0 |

```json
{
	"event":"unsubscribed",
  "email": "example@domain.com",
  "id": xxxxx,
  "date": "2020-10-09 00:00:00",
  "ts":1604933619,
  "message-id": "201798300811.5787683@relay.domain.com",
  "ts_event": 1604933654,
  "subject": "My first Transactional",
	"X-Mailin-custom": "some_custom_header",
  "template_id": 22,
  "tag":"[\"transactionalTag\"]",
  "user_agent": "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)",
  "device_used": "MOBILE",
  "mirror_link": "https://app-smtp.brevo.com/log/preview/1a2000f4-4e33-23aa-ab68-900dxxx9152c",
  "contact_id": 8,
  "ts_epoch": 1604933623,
  "sending_ip": "xxx.xxx.xxx.xxx"
}
```

## Proxy open

| Attribute name | Data type | Description                                                             |
| :------------- | :-------- | :---------------------------------------------------------------------- |
| `event`        | string    | "proxy\_open"                                                           |
| `email`        | string    | recipient of message                                                    |
| `id`           | integer   | webhook id                                                              |
| `date`         | string    | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `message-id`   | string    | internal message id                                                     |
| `subject`      | string    | message subject                                                         |
| `tag`          | string    | tag you might have used to identify your message                        |
| `sending_ip`   | string    | IP used to send the message                                             |
| `ts_epoch`     | integer   | time stamp in milliseconds UTC of when message was sent                 |
| `ts_event`     | integer   | it is the time at which the callback is sent to client in Unix format   |
| `template_id`  | integer   | internal id of the template                                             |
| `user_agent`   | string    | Information about the user’s browser or email client                    |
| `device_used`  | string    | Details about the device from which the action originated               |
| `mirror_link`  | string    | A preview link corresponding to the UI logs for the event               |
| `contact_id`   | integer   | Brevo identifier for an existing contact. If its not present , return 0 |

```json
{
	"event": "proxy_open",
	"email": "example@domain.com"
	"id": 1,
	"date": "2020-10-09 00:00:00",
	"message-id": "201798300811.5787683@relay.domain.com".
	"subject": "My first Transactional",
	"tag": "[\"transactionalTag\"]",
	"sending_ip": "xxx.xxx.xxx.xxx",
	"ts_epoch": 1534486682000,
  "user_agent": "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)",
  "device_used": "DESKTOP",
  "mirror_link": "https://app-smtp.brevo.com/log/preview/1a2000f4-4e33-23aa-ab68-900dxxx9152c",
  "contact_id": 8,
	"template_id": 1
}
```

## Unique proxy open

| Attribute name | Data type        | Description                                                             |
| :------------- | :--------------- | :---------------------------------------------------------------------- |
| `event`        | string           | "unique\_proxy\_open"                                                   |
| `email`        | string           | recipient of message                                                    |
| `id`           | integer          | webhook id                                                              |
| `date`         | string           | date sent listed in YEAR-MONTH-DAY, HOUR:MINUTE:SECOND in your timezone |
| `message-id`   | string           | internal message id                                                     |
| `subject`      | string           | message subject                                                         |
| `tag`          | string           | tag you might have used to identify your message                        |
| `sending_ip`   | string           | IP used to send the message                                             |
| `ts`           | integer          | timestamp in seconds of when event occurred                             |
| `ts_epoch`     | integer          | time stamp in milliseconds UTC of when message was sent                 |
| `ts_event`     | integer          | it is the time at which the callback is sent to client in Unix format   |
| `template_id`  | integer          | internal id of the template                                             |
| `link`         | string           | URL accessed by recipient                                               |
| `mirror_link`  | string           | A preview link corresponding to the UI logs for the event               |
| `tags`         | array of strings | tags you might have used to identify your message                       |
| `user_agent`   | string           | Information about the user’s browser or email client                    |
| `device_used`  | string           | Details about the device from which the action originated               |
| `contact_id`   | integer          | Brevo identifier for an existing contact. If its not present , return 0 |
| `sender_email` | string           | Email of the sender                                                     |

```json
{
   "id":25290,
   "email":"",
   "message-id":"an#2705147202202651768",
   "date":"2024-08-22 16:03:29",
   "tags":[
      "this_tag",
      "tag_thos"
   ],
   "tag":"[\"this_tag\", \"tag_thos\"]",
   "event":"unique_proxy_open",
   "subject":"this is required subject",
   "sending ip":"::",
   "ts":1724322809,
   "template_id":660,
   "ts_epoch":1724322809710,
   "ts_event":1724322809,
   "link":"",
   "sender_email":"abc@sendinblue.com",
   "mirror_link":"https://app-smtp.brevo.com/log/preview/1a2000f4-4e33-23aa-ab68-900dxxx9152c",
   "user_agent":"Mozilla/5.0",
   "device_used":"DESKTOP",
   "contact_id":4816445214646337536
}
```

\


# Transactional SMS

Parameters and webhook responses for each event are listed below. The Transactional SMS webhook events are:

* [Sent](/docs/transactional-webhooks#sent-1)
* [Accepted](/docs/transactional-webhooks#accepted)
* [Delivered](/docs/transactional-webhooks#delivered-1)
* [Replied](/docs/transactional-webhooks#replied)
* [Soft bounce](/docs/transactional-webhooks#soft-bounce)
* [Hard bounce](/docs/transactional-webhooks#hard-bounce)
* [Subscribe](/docs/transactional-webhooks#subscribe)
* [Unsubscribe](/docs/transactional-webhooks#unsubscribe)
* [Skip](/docs/transactional-webhooks#skip)
* [Blacklisted](/docs/transactional-webhooks#blacklisted)
* [Rejected](/docs/transactional-webhooks#rejected)

## Sent

| Attribute name     | Datatype | Description                                                                                            |
| :----------------- | :------- | :----------------------------------------------------------------------------------------------------- |
| `id`               | Integer  | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `to`               | String   | Mobile number of the recipient                                                                         |
| `sms_count`        | Integer  | Number of sms parts sent                                                                               |
| `credits_used`     | Float    | Credits deducted                                                                                       |
| `messageId`        | Integer  | Message id for Transactional SMS                                                                       |
| `remaining_credit` | Float    | Remaining balance credit                                                                               |
| `msg_status`       | String   | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `date`             | String   | Time at which the event is generated                                                                   |
| `type`             | String   | Type of SMS (Marketing/Transactional)                                                                  |
| `reference`        | String   | id generated for every Transactional SMS                                                               |

```json
{
	"id": 26570,
	"to": "918076001713",
	"sms_count": 1,
	"credits_used": 1.5,
  "messageId": 123,
	"remaining_credit": 11488.845,
	"msg_status": "sent",
	"date": "2024-10-11 14:19:59",
	"type": "transactional"
  "reference":{
      "1":"1hi8srff049z0qzvgt3f"
   },
}
```

## Accepted

| Attribute name | Datatype         | Description                                                                                            |
| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------- |
| `id`           | Integer          | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `msg_status`   | String           | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `status`       | String           | Status                                                                                                 |
| `description`  | String           | Describes the event i.e delivered, accepted, replied etc.                                              |
| `reference`    | String           | id generated for every Transactional SMS                                                               |
| `to`           | String           | Mobile number of the recipient                                                                         |
| `ts_event`     | String           | it is the time at which the callback is sent to client in Unix format                                  |
| `date`         | String           | Time at which the event is generated                                                                   |
| `messageId`    | Integer          | Message Id for Transactional SMS                                                                       |
| `tag`          | Array of strings | SMS tag if the client has used any                                                                     |
| `type`         | String           | Type of SMS (Marketing/Transactional)                                                                  |

```json
{
	"id": 26519,
	"msg_status": "accepted",
  "status": "OK",
	"description": "accepted",
  "reference":{
      "1":"1hi8srff049z0qzvgt3f"
   },
	"to": "12018500757",
	"ts_event": 1728390414,
	"date": "2024-10-08 17:56:54",
	"messageId": 123,
	"tag": [
	"tag1name","tag2name"
	],
	"type": "transactional"
}
```

## Delivered

| Attribute name | Datatype         | Description                                                                                            |
| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------- |
| `id`           | Integer          | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `status`       | String           | Status                                                                                                 |
| `reference`    | String           | id generated for every Transactional SMS                                                               |
| `msg_status`   | String           | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `description`  | String           | Describes the event i.e delivered, accepted, replied etc.                                              |
| `to`           | String           | Mobile number of the recipient                                                                         |
| `ts_event`     | Integer          | It is the time at which the callback is sent to client in Unix format                                  |
| `date`         | String           | Time at which the event is generated                                                                   |
| `messageId`    | Integer          | Message id of Transactional SMS                                                                        |
| `tag`          | Array of strings | SMS tag if the client has used any                                                                     |
| `type`         | String           | Type of SMS (Marketing/Transactional)                                                                  |

```json
{
	"id": 26527,
	"status": "OK",
  "reference":{
      "1":"1hi8srff049z0qzvgt3f"
   },
	"msg_status": "delivered",
	"description": "delivered",
	"to": "919102600071",
	"ts_event": 1728459617,
	"date": "2024-10-09 13:10:17",
  "messageId": 123,
	"tag": [
	"tag1name"
	],
	"type": "transactional"
}
```

## Replied

| Attribute name | Datatype         | Description                                                                                            |
| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------- |
| `id`           | Integer          | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `msg_status`   | String           | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `status`       | String           | Status                                                                                                 |
| `reference`    | String           | id generated for every Transactional SMS                                                               |
| `error_code`   | Integer          | Error code                                                                                             |
| `description`  | String           | Bounce Reason for Failed to deliver message                                                            |
| `to`           | String           | Mobile number of the recipient                                                                         |
| `reply`        | String           | Reply of SMS                                                                                           |
| `ts_event`     | Integer          | It is the time at which the callback is sent to client in Unix format                                  |
| `date`         | String           | Time at which the event is generated                                                                   |
| `messageId`    | Integer          | Message id for Transactional SMS                                                                       |
| `tag`          | Array of strings | SMS tag if the client has used any                                                                     |
| `type`         | String           | Type of SMS (Marketing/Transactional)                                                                  |

```json
{
	"id": 26519,
	"msg_status": "replied",
	"status": "OK",
	"reference":{
      "1":"1hi8srff049z0qzvgt3f"
   },
	"error_code": 101,
	"description": "replied",
	"to": "919368207022",
	"reply": "Hi",
	"ts_event": 1728386415,
	"date": "2024-10-08 16:50:16",
	"messageId": 123,
	"tag": [
	"tag1name","tag2name"
	],
	
	"type": "transactional",
}
```

## Soft bounce

| Attribute name | Datatype         | Description                                                                                            |
| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------- |
| `id`           | Integer          | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `msg_status`   | String           | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `status`       | String           | Status                                                                                                 |
| `reference`    | String           | id generated for every Transactional SMS                                                               |
| `description`  | String           | Bounce reason for failed to deliver message                                                            |
| `bounce_type`  | String           | Hard bounce or soft bounce                                                                             |
| `error_code`   | Integer          | Error code                                                                                             |
| `to`           | String           | Mobile number of the recipient                                                                         |
| `ts_event`     | Integer          | It is the time at which the callback is sent to client in Unix format                                  |
| `date`         | String           | Time at which the event is generated                                                                   |
| `messageId`    | Integer          | Message id for Transactional SMS                                                                       |
| `tag`          | Array of strings | SMS tag if the client has used any                                                                     |
| `type`         | String           | Type of SMS (Marketing/Transactional)                                                                  |

```json
{
	"id": 26519,
	"msg_status": "soft_bounce",
  "status": "OK",
  "reference":{
      "1":"1hi8srff049z0qzvgt3f"
   },
	"description": "Failed to deliver message for reasons unknown",
	"bounce_type": "soft_bounce",
	"error_code": 7,
	"to": "916778670023",
	"ts_event": 1728390422,
	"date": "2024-10-08 17:57:03",
  "messageId": 123,
	"tag": [
	"tag1name","tag2name"
	],
	"type": "transactional"
}
```

## Hard bounce

| Attribute name | Datatype         | Description                                                                                            |
| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------- |
| `id`           | Integer          | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `msg_status`   | String           | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `status`       | String           | Status                                                                                                 |
| `reference`    | String           | id generated for every Transactional SMS                                                               |
| `description`  | String           | Bounce reason for failed to deliver message                                                            |
| `bounce_type`  | String           | Hard bounce or soft bounce                                                                             |
| `error_code`   | Integer          | Error code                                                                                             |
| `messageId`    | Integer          | Message Id for Transactional SMS                                                                       |
| `to`           | String           | Mobile number of the recipient                                                                         |
| `ts_event`     | Integer          | It is the time at which the callback is sent to client in Unix format                                  |
| `date`         | String           | Time at which the event is generated                                                                   |
| `tag`          | Array of strings | SMS tag if the client has used any                                                                     |
| `type`         | String           | Type of SMS (Marketing/Transactional)                                                                  |

```json
{
	"id": 26519,
	"msg_status": "hard_bounce",
  "status": "OK",
  "reference":{
      "1":"1hi8srff049z0qzvgt3f"
   },
	"description": "Message is undeliverable due to an incorrect / invalid / permanently barred MSISDN for this operator",
	"bounce_type": "hard_bounce",
	"error_code": 23,
	"messageId": 123,
	"to": "916008678623",
	"ts_event": 1728390422,
	"date": "2024-10-08 17:57:03",
	"tag": [
	"tag1name","tag2name"
	],
	"type": "transactional"
}
```

## Subscribe

| Attribute name | Datatype         | Description                                                                                            |
| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------- |
| `id`           | Integer          | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `msg_status`   | String           | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `status`       | String           | Status                                                                                                 |
| `description`  | String           | Describes the event i.e delivered, accepted, replied etc.                                              |
| `reference`    | String           | id generated for every Transactional SMS                                                               |
| `to`           | String           | Mobile number of the recipient                                                                         |
| `error_code`   | Integer          | Error code                                                                                             |
| `ts_event`     | Integer          | It is the time at which the callback is sent to client in Unix format                                  |
| `date`         | String           | Time at which the event is generated                                                                   |
| `messageId`    | Integer          | Message Id for Transactional SMS                                                                       |
| `tag`          | Array of strings | SMS tag if the client has used any                                                                     |
| `type`         | String           | Type of SMS (Marketing/Transactional)                                                                  |

```json
{
	"id": 26519,
	"msg_status": "subscribe",
  "status": "OK",
	"description": "subscribe",
  "reference":{
      "1":"1hi8srff049z0qzvgt3f"
   },
	"to": "12010077757",
	"error_code": 101,
	"ts_event": 1728390414,
	"date": "2024-10-08 17:56:54",
	"messageId": 123,
	"tag": [
	"tag1name","tag2name"
	],
	"type": "transactional"
}
```

## Unsubscribe

| Attribute name | Datatype         | Description                                                                                            |
| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------- |
| `id`           | Integer          | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `msg_status`   | String           | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `status`       | String           | Status                                                                                                 |
| `description`  | String           | Describes the event i.e delivered, accepted, replied etc.                                              |
| `reference`    | String           | id generated for every Transactional SMS                                                               |
| `to`           | String           | Mobile number of the recipient                                                                         |
| `ts_event`     | Integer          | It is the time at which the callback is sent to client in Unix format                                  |
| `date`         | String           | Time at which the event is generated                                                                   |
| `messageId`    | Integer          | Message Id for Transactional SMS                                                                       |
| `error_code`   | Integer          | Error code                                                                                             |
| `tag`          | Array of strings | SMS tag if the client has used any                                                                     |
| `type`         | String           | Type of SMS (Marketing/Transactional)                                                                  |

```json
{
	"id": 26519,
	"msg_status": "unsubscribed",
  "status": "OK",
	"description": "unsubscribed",
  "reference":{
      "1":"1hi8srff049z0qzvgt3f"
   },
	"to": "12018570057",
	"ts_event": 1728390414,
	"date": "2024-10-08 17:56:54",
	"messageId": 123,
	"error_code": 100,
	"tag": [
	"tag1name","tag2name"
	],
	"type": "transactional"
}
```

## Skip

| Attribute name | Datatype         | Description                                                                                            |
| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------- |
| `id`           | Integer          | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `msg_status`   | String           | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `status`       | String           | Status                                                                                                 |
| `description`  | String           | Describes the event i.e delivered, accepted, replied etc.                                              |
| `reference`    | String           | id generated for every Transactional SMS                                                               |
| `to`           | String           | Mobile number of the recipient                                                                         |
| `ts_event`     | Integer          | It is the time at which the callback is sent to client in Unix format                                  |
| `date`         | String           | Time at which the event is generated                                                                   |
| `messageId`    | Integer          | Message Id for Transactional SMS                                                                       |
| `tag`          | Array of strings | SMS tag if the client has used any                                                                     |
| `type`         | String           | Type of SMS (Marketing/Transactional)                                                                  |

```json
{
	"id": 26519,
	"msg_status": "skip",
  "status": "OK",
	"description": "skip",
  "reference":{
      "1":"1hi8srff049z0qzvgt3f"
   },
	"to": "00018577757",
	"ts_event": 1728390414,
	"date": "2024-10-08 17:56:54",
	"messageId": 0,
	"tag": [
	"tag1name","tag2name"
	],
	"type": "transactional"
}
```

## Blacklisted

| Attribute name | Datatype | Description                                                                                            |
| :------------- | :------- | :----------------------------------------------------------------------------------------------------- |
| `id`           | Integer  | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `to`           | String   | Mobile number of the recipient                                                                         |
| `messageId`    | Integer  | Message Id for Transactional SMS                                                                       |
| `msg_status`   | String   | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `date`         | String   | Time at which the event is generated                                                                   |
| `type`         | String   | Type of SMS (Marketing/Transactional)                                                                  |
| `reference`    | String   | id generated for every Transactional SMS                                                               |

```json
{
"id": 26570,
"to": "918076721713",
"messageId": 123,
"msg_status": "bl",
"date": "2024-10-11 14:19:59",
"type": "transactional",
"reference":{
      "1":"1hi8srff049z0qzvgt3f"
},
}
```

## Rejected

| Attribute name | Datatype         | Description                                                                                            |
| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------- |
| `id`           | Integer          | The id is the webhook ID, so it will remain the same for webhook payloads sent to a single webhook URL |
| `msg_status`   | String           | Status of the message(sent, delivered, soft\_bounce, hard\_bounce)                                     |
| `status`       | String           | Status of webhook request                                                                              |
| `reference`    | String           | id generated for every Transactional SMS                                                               |
| `to`           | String           | Mobile number of the recipient                                                                         |
| `date`         | String           | Time at which the event is generated                                                                   |
| `messageId`    | Integer          | Message Id for Transactional SMS                                                                       |
| `tag`          | Array of strings | SMS tag if the client has used any                                                                     |
| `type`         | String           | Type of SMS (Marketing/Transactional)                                                                  |

```json
{
	"id": 26519,
	"msg_status": "rej",
	"status": "OK",
	"reference":{
      "1":"1hissrff04ss0qzv003f"
   },
 	"to": "12000500757",
	"date": "2024-10-08 17:56:54",
	"messageId": 123,
	"tag": [
	"tag1name","tag2name"
	],
	"type": "transactional",
}
```