# Outbound Message

## Delivered

`com.twilio.messaging.message.delivered`

Outbound Message Delivered events are compatible with Webhook, Kinesis and Segment sinks. To learn more, you can get started with the [Webhook](/docs/events/webhook-quickstart), [Kinesis](/docs/events/eventstreams-quickstart) or [Segment](/docs/events/segment-quickstart) quickstarts and refer to the [product documentation](/docs/messaging/api/message-resource#message-status-values).

**Examples**

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.delivered",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "QUEUED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.delivered",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "DELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.delivered",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "UNDELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "errorCode" : 30450,
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

**Versions**

#### v7 (latest)

> \[!NOTE]
>
> v7 only contains updates to the schema metadata. In other words, there are no new fields between v6 and v7.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. Number of segments for the message.
* `string` **dateUpdated**. Date of status update in ISO 8601 format.

The full specification for version 7 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/7).

#### v6

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. \[NEW] Number of segments for the message.
* `string` **dateUpdated**. \[NEW] Date of status update in ISO 8601 format.

The full specification for version 6 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/6).

#### v5

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. \[NEW] Mobile Network Code for the FROM number.
* `string` **mcc**. \[NEW] Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. \[NEW] Dlr delivered time.

The full specification for version 5 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/5).

#### v4

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. \[NEW] Customer message tags.

The full specification for version 4 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/4).

#### v3

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. \[NEW] Status callback url.

The full specification for version 3 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/3).

#### v2

> \[!NOTE]
>
> v2 only contains updates to the schema metadata. In other words, there are no new fields between v1 and v2.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 2 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/2).

#### v1

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 1 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/1).

## Failed

`com.twilio.messaging.message.failed`

Outbound Message Failed events are compatible with Webhook, Kinesis and Segment sinks. To learn more, you can get started with the [Webhook](/docs/events/webhook-quickstart), [Kinesis](/docs/events/eventstreams-quickstart) or [Segment](/docs/events/segment-quickstart) quickstarts and refer to the [product documentation](/docs/messaging/api/message-resource#message-status-values).

**Examples**

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.failed",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "QUEUED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.failed",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "DELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.failed",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "UNDELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "errorCode" : 30450,
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

**Versions**

#### v7 (latest)

> \[!NOTE]
>
> v7 only contains updates to the schema metadata. In other words, there are no new fields between v6 and v7.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. Number of segments for the message.
* `string` **dateUpdated**. Date of status update in ISO 8601 format.

The full specification for version 7 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/7).

#### v6

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. \[NEW] Number of segments for the message.
* `string` **dateUpdated**. \[NEW] Date of status update in ISO 8601 format.

The full specification for version 6 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/6).

#### v5

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. \[NEW] Mobile Network Code for the FROM number.
* `string` **mcc**. \[NEW] Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. \[NEW] Dlr delivered time.

The full specification for version 5 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/5).

#### v4

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. \[NEW] Customer message tags.

The full specification for version 4 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/4).

#### v3

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. \[NEW] Status callback url.

The full specification for version 3 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/3).

#### v2

> \[!NOTE]
>
> v2 only contains updates to the schema metadata. In other words, there are no new fields between v1 and v2.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 2 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/2).

#### v1

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 1 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/1).

## Queued

`com.twilio.messaging.message.queued`

Outbound Message Queued events are compatible with Webhook, Kinesis and Segment sinks. To learn more, you can get started with the [Webhook](/docs/events/webhook-quickstart), [Kinesis](/docs/events/eventstreams-quickstart) or [Segment](/docs/events/segment-quickstart) quickstarts and refer to the [product documentation](/docs/messaging/api/message-resource#message-status-values).

**Examples**

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.queued",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "QUEUED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.queued",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "DELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.queued",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "UNDELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "errorCode" : 30450,
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

**Versions**

#### v7 (latest)

> \[!NOTE]
>
> v7 only contains updates to the schema metadata. In other words, there are no new fields between v6 and v7.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. Number of segments for the message.
* `string` **dateUpdated**. Date of status update in ISO 8601 format.

The full specification for version 7 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/7).

#### v6

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. \[NEW] Number of segments for the message.
* `string` **dateUpdated**. \[NEW] Date of status update in ISO 8601 format.

The full specification for version 6 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/6).

#### v5

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. \[NEW] Mobile Network Code for the FROM number.
* `string` **mcc**. \[NEW] Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. \[NEW] Dlr delivered time.

The full specification for version 5 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/5).

#### v4

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. \[NEW] Customer message tags.

The full specification for version 4 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/4).

#### v3

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. \[NEW] Status callback url.

The full specification for version 3 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/3).

#### v2

> \[!NOTE]
>
> v2 only contains updates to the schema metadata. In other words, there are no new fields between v1 and v2.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 2 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/2).

#### v1

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 1 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/1).

## Read

`com.twilio.messaging.message.read`

Outbound Message Read events are compatible with Webhook, Kinesis and Segment sinks. To learn more, you can get started with the [Webhook](/docs/events/webhook-quickstart), [Kinesis](/docs/events/eventstreams-quickstart) or [Segment](/docs/events/segment-quickstart) quickstarts and refer to the [product documentation](/docs/messaging/api/message-resource#message-status-values).

**Examples**

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.read",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "QUEUED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.read",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "DELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.read",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "UNDELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "errorCode" : 30450,
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

**Versions**

#### v7 (latest)

> \[!NOTE]
>
> v7 only contains updates to the schema metadata. In other words, there are no new fields between v6 and v7.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. Number of segments for the message.
* `string` **dateUpdated**. Date of status update in ISO 8601 format.

The full specification for version 7 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/7).

#### v6

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. \[NEW] Number of segments for the message.
* `string` **dateUpdated**. \[NEW] Date of status update in ISO 8601 format.

The full specification for version 6 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/6).

#### v5

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. \[NEW] Mobile Network Code for the FROM number.
* `string` **mcc**. \[NEW] Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. \[NEW] Dlr delivered time.

The full specification for version 5 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/5).

#### v4

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. \[NEW] Customer message tags.

The full specification for version 4 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/4).

#### v3

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. \[NEW] Status callback url.

The full specification for version 3 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/3).

#### v2

> \[!NOTE]
>
> v2 only contains updates to the schema metadata. In other words, there are no new fields between v1 and v2.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 2 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/2).

#### v1

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 1 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/1).

## Sent

`com.twilio.messaging.message.sent`

Outbound Message Sent events are compatible with Webhook, Kinesis and Segment sinks. To learn more, you can get started with the [Webhook](/docs/events/webhook-quickstart), [Kinesis](/docs/events/eventstreams-quickstart) or [Segment](/docs/events/segment-quickstart) quickstarts and refer to the [product documentation](/docs/messaging/api/message-resource#message-status-values).

**Examples**

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.sent",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "QUEUED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.sent",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "DELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.sent",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "UNDELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "errorCode" : 30450,
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

**Versions**

#### v7 (latest)

> \[!NOTE]
>
> v7 only contains updates to the schema metadata. In other words, there are no new fields between v6 and v7.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. Number of segments for the message.
* `string` **dateUpdated**. Date of status update in ISO 8601 format.

The full specification for version 7 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/7).

#### v6

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. \[NEW] Number of segments for the message.
* `string` **dateUpdated**. \[NEW] Date of status update in ISO 8601 format.

The full specification for version 6 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/6).

#### v5

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. \[NEW] Mobile Network Code for the FROM number.
* `string` **mcc**. \[NEW] Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. \[NEW] Dlr delivered time.

The full specification for version 5 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/5).

#### v4

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. \[NEW] Customer message tags.

The full specification for version 4 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/4).

#### v3

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. \[NEW] Status callback url.

The full specification for version 3 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/3).

#### v2

> \[!NOTE]
>
> v2 only contains updates to the schema metadata. In other words, there are no new fields between v1 and v2.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 2 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/2).

#### v1

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 1 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/1).

## Undelivered

`com.twilio.messaging.message.undelivered`

Outbound Message Undelivered events are compatible with Webhook, Kinesis and Segment sinks. To learn more, you can get started with the [Webhook](/docs/events/webhook-quickstart), [Kinesis](/docs/events/eventstreams-quickstart) or [Segment](/docs/events/segment-quickstart) quickstarts and refer to the [product documentation](/docs/messaging/api/message-resource#message-status-values).

**Examples**

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.undelivered",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "QUEUED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.undelivered",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "DELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.messaging.message.undelivered",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/Messaging.MessageStatus/7",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "messageSid" : "SM0000000000000000000000000000001",
    "timestamp" : "2025-01-01T00:00:00.000Z",
    "accountSid" : "AC0000000000000000000000000000001",
    "eventName" : "com.twilio.messaging.message.delivered",
    "apiVersion" : "2010-04-01",
    "from" : "+11234567890",
    "to" : "+12345678901",
    "messageStatus" : "UNDELIVERED",
    "messagingServiceSid" : "MG0000000000000000000000000000001",
    "errorCode" : 30450,
    "body" : "Ahoy!",
    "statusCallBackUrl" : "https://mycompany.com/an-endpoint",
    "mnc" : "090",
    "mcc" : "310",
    "rawDlrDoneDate" : "2508240944",
    "numberOfSegments" : 1,
    "dateUpdated" : "2025-01-01T00:01:00.000Z"
  }
}
```

**Versions**

#### v7 (latest)

> \[!NOTE]
>
> v7 only contains updates to the schema metadata. In other words, there are no new fields between v6 and v7.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. Number of segments for the message.
* `string` **dateUpdated**. Date of status update in ISO 8601 format.

The full specification for version 7 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/7).

#### v6

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. Mobile Network Code for the FROM number.
* `string` **mcc**. Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. Dlr delivered time.
* `integer` **numberOfSegments**. \[NEW] Number of segments for the message.
* `string` **dateUpdated**. \[NEW] Date of status update in ISO 8601 format.

The full specification for version 6 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/6).

#### v5

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. Customer message tags.
* `string` **mnc**. \[NEW] Mobile Network Code for the FROM number.
* `string` **mcc**. \[NEW] Mobile Country Code for the FROM number.
* `string` **rawDlrDoneDate**. \[NEW] Dlr delivered time.

The full specification for version 5 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/5).

#### v4

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. Status callback url.
* `object` **tags**. \[NEW] Customer message tags.

The full specification for version 4 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/4).

#### v3

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.
* `string` **statusCallBackUrl**. \[NEW] Status callback url.

The full specification for version 3 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/3).

#### v2

> \[!NOTE]
>
> v2 only contains updates to the schema metadata. In other words, there are no new fields between v1 and v2.

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 2 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/2).

#### v1

* `string` **messageSid** (required). Id of message which the event belongs to.
* `string` **timestamp** (required). Time of the event.
* `string` **accountSid** (required). Id of the Twilio account which was used while sending the message.
* `string` **eventName** (required). Description of this event.
* `string` **apiVersion** (required). Twilio API version used while sending the message.
* `string` **from** (required). From number of the message.
* `string` **to** (required). To number of the message.
* `string` **messageStatus** (required). The status of the message. Message delivery information is reflected in message status. The possible values are: QUEUED, FAILED, SENT, DELIVERED, UNDELIVERED, READ.
* `string` **messagingServiceSid**. This field is set to id of messaging service used if the message is sent through a messaging service.
* `integer` **errorCode**. This field is set to the error code if delivery wasn't successful and an error has occurred.
* `string` **body**. Body of the message.

The full specification for version 1 is also available as a [JSON schema](https://events-schemas.twilio.com/Messaging.MessageStatus/1).
