A Message resource represents an inbound or outbound message. Twilio creates a Message when any of the following occur:
With the Message resource, you can:
If you're using Messaging Services, you can also use the Message resource to:
A Message resource can also have a Media sub-resource and/or a MessageFeedback sub-resource.
For step-by-step instructions for sending your first SMS with Twilio, check out one of the SMS quickstarts.
Looking to send WhatsApp messages with Twilio? Try one of the WhatsApp quickstarts.
If you're looking for how to respond to incoming messages, check out the How to Receive and Reply to SMS Messages tutorial.
The number of segments that make up the complete message. SMS message bodies that exceed the character limit are segmented and charged as multiple messages. Note: For messages sent via a Messaging Service, num_segments
is initially 0
, since a sender hasn't yet been assigned.
The direction of the message. Can be: inbound
for incoming messages, outbound-api
for messages created by the REST API, outbound-call
for messages created during a call, or outbound-reply
for messages created in response to an incoming message.
inbound
outbound-api
outbound-call
outbound-reply
The sender's phone number (in E.164 format), alphanumeric sender ID, Wireless SIM, short code, or channel address (e.g., whatsapp:+15554449999
). For incoming messages, this is the number or channel address of the sender. For outgoing messages, this value is a Twilio phone number, alphanumeric sender ID, short code, or channel address from which the message is sent.
The recipient's phone number (in E.164 format) or channel address (e.g. whatsapp:+15552229999
)
The RFC 2822 timestamp (in GMT) of when the Message resource was last updated
The amount billed for the message in the currency specified by price_unit
. The price
is populated after the message has been sent/received, and may not be immediately availalble. View the Pricing page for more details.
The description of the error_code
if the Message status
is failed
or undelivered
. If no error was encountered, the value is null
. The value returned in this field for a specific error cause is subject to change as Twilio improves errors. Users should not use the error_code
and error_message
fields programmatically.
The SID of the Account associated with the Message resource
^AC[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The status of the Message. Possible values: accepted
, scheduled
, canceled
, queued
, sending
, sent
, failed
, delivered
, undelivered
, receiving
, received
, or read
(WhatsApp only). For more information, See detailed descriptions.
queued
sending
sent
failed
delivered
undelivered
receiving
received
accepted
scheduled
The SID of the Messaging Service associated with the Message resource. A unique default value is assigned if a Messaging Service is not used.
^MG[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The unique, Twilio-provided string that identifies the Message resource.
^(SM|MM)[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The RFC 2822 timestamp (in GMT) of when the Message was sent. For an outgoing message, this is when Twilio sent the message. For an incoming message, this is when Twilio sent the HTTP request to your incoming message webhook URL.
The RFC 2822 timestamp (in GMT) of when the Message resource was created
The error code returned if the Message status
is failed
or undelivered
. If no error was encountered, the value is null
. The value returned in this field for a specific error cause is subject to change as Twilio improves errors. Users should not use the error_code
and error_message
fields programmatically.
The currency in which price
is measured, in ISO 4127 format (e.g. usd
, eur
, jpy
).
A list of related resources identified by their URIs relative to https://api.twilio.com
The table below lists possible values of a Message resource's Status
. As messages can be either outbound or inbound, each status description explicitly indicates to which message direction the status applies.
ENUM:STATUS possible values in REST API format | |
---|---|
'queued' | The API request to send an outbound message was successful and the message is queued to be sent out by a specific From sender. For messages sent without a Messaging Service this is the initial Status value of the Message resource. |
'sending' | Twilio is in the process of dispatching the outbound message to the nearest upstream carrier in the network. |
'sent' | The nearest upstream carrier accepted the outbound message. |
'failed' | The outbound message failed to send. This can happen for various reasons including queue overflows, Account suspensions and media errors. Twilio does not charge you for failed messages. |
'delivered' | Twilio has received confirmation of outbound message delivery from the upstream carrier, and, where available, the destination handset. |
'undelivered' | Twilio received a delivery receipt indicating that the outbound message was not delivered. This can happen for many reasons including carrier content filtering and the availability of the destination handset. |
'receiving' | The inbound message was received by Twilio and is currently being processed. |
'received' | The inbound message was received and processing is complete. |
'accepted' | [Messaging Service only] Twilio has received your API request to immediately send an outbound message with a Messaging Service. If you did not provide a specific From sender in the service's Sender Pool to use, the service is dynamically selecting a From sender. For unscheduled messages to be sent with a Messaging Service, this is the initial Status value of the Message resource. |
'scheduled' | [Messaging Service only] The Message resource is scheduled to be sent with a Messaging Service. If you schedule a message with a Messaging Service, this is the initial Status value of the Message resource. |
'read' | WhatsApp only: The recipient opened the outbound message. Recipient must have read receipts enabled. |
'partially_delivered' | [Deprecated] |
'canceled' | [Messaging Service only] The message scheduled with a Messaging Service has been canceled. |
The NumSegments
property is relevant for SMS messages only.
For outbound SMS messages, this property indicates the number of SMS messages it took to deliver the body of the message.
If the body of a message is more than 160 GSM-7 characters (or 70 UCS-2 characters), Twilio segments and annotates your messages to attempt proper reassembly on the recipient's handset (not supported by all carriers and handsets). This ensures your body text transmits with the highest fidelity.
On inbound SMS messages, this property indicates the number of SMS messages that make up the message received.
If the body of a message is more than 160 GSM-7 characters (or 70 UCS-2 characters), Twilio attempts to reassemble the message received by your Twilio phone number. All carriers and handsets do not necessarily support this.
Your account is charged for each segment sent or received.
Learn more on the SMS Character Limit Glossary page.
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json
To send a new outgoing message, send an HTTP POST
request to your Account's Messages list resource URI.
If you want to send messages while in trial mode, you must first verify your 'To' phone number with Twilio. You can verify your phone number by adding it to your Verified Caller IDs in the Console.
Twilio queues messages for delivery at your prescribed rate limit. API requests for messages that exceed the specified rates will be queued and executed as capacity is available.
If you need to enqueue a large number of messages, you may want to use Messaging Services.
Every request to create a new Message resource requires a recipient, a sender, and content.
A recipient is specified via the To
parameter.
The sender is specified via one of the following parameters:
From
MessagingServiceSid
The message content is specified via one of the following parameters:
MediaUrl
Body
ContentSid
The table below describes these parameters in more detail.
application/x-www-form-urlencoded
The recipient's phone number in E.164 format (for SMS/MMS) or channel address, e.g. whatsapp:+15552229999
.
The URL of the endpoint to which Twilio sends Message status callback requests. URL must contain a valid hostname and underscores are not allowed. If you include this parameter with the messaging_service_sid
, Twilio uses this URL instead of the Status Callback URL of the Messaging Service.
The SID of the associated TwiML Application. Message status callback requests are sent to the TwiML App's message_status_callback
URL. Note that the status_callback
parameter of a request takes priority over the application_sid
parameter; if both are included application_sid
is ignored.
^AP[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
[OBSOLETE] This parameter will no longer have any effect as of 2024-06-03.
Boolean indicating whether or not you intend to provide delivery confirmation feedback to Twilio (used in conjunction with the Message Feedback subresource). Default value is false
.
Total number of attempts made (including this request) to send the message regardless of the provider used
The maximum length in seconds that the Message can remain in Twilio's outgoing message queue. If a queued Message exceeds the validity_period
, the Message is not sent. Accepted values are integers from 1
to 36000
. Default value is 36000
. A validity_period
greater than 5
is recommended. Learn more about the validity period
Determines if the message content can be stored or redacted based on privacy settings
retain
discard
Determines if the address can be stored or obfuscated based on privacy settings
retain
obfuscate
Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: true
or false
.
Rich actions for non-SMS/MMS channels. Used for sending location in WhatsApp messages.
For Messaging Services with Link Shortening configured only: A Boolean indicating whether or not Twilio should shorten links in the body
of the Message. Default value is false
. If true
, the messaging_service_sid
parameter must also be provided.
For Messaging Services only: Include this parameter with a value of fixed
in conjuction with the send_time
parameter in order to schedule a Message.
fixed
The time that Twilio will send the message. Must be in ISO 8601 format.
If set to true
, Twilio delivers the message as a single MMS message, regardless of the presence of media.
For Content Editor/API only: Key-value pairs of Template variables and their substitution values. content_sid
parameter must also be provided. If values are not defined in the content_variables
parameter, the Template's default placeholder values are used.
Include this parameter with a value of disable
to skip any kind of risk check on the respective message request.
enable
disable
The sender's Twilio phone number (in E.164 format), alphanumeric sender ID, Wireless SIM, short code, or channel address (e.g., whatsapp:+15554449999
). The value of the from
parameter must be a sender that is hosted within Twilio and belongs to the Account creating the Message. If you are using messaging_service_sid
, this parameter can be empty (Twilio assigns a from
value from the Messaging Service's Sender Pool) or you can provide a specific sender from your Sender Pool.
The SID of the Messaging Service you want to associate with the Message. When this parameter is provided and the from
parameter is omitted, Twilio selects the optimal sender from the Messaging Service's Sender Pool. You may also provide a from
parameter if you want to use a specific Sender from the Sender Pool.
^MG[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The text content of the outgoing message. Can be up to 1,600 characters in length. SMS only: If the body
contains more than 160 GSM-7 characters (or 70 UCS-2 characters), the message is segmented and charged accordingly. For long body
text, consider using the send_as_mms parameter.
The URL of media to include in the Message content. jpeg
, jpg
, gif
, and png
file types are fully supported by Twilio and content is formatted for delivery on destination devices. The media size limit is 5 MB for supported file types (jpeg
, jpg
, png
, gif
) and 500 KB for other types of accepted media. To send more than one image in the message, provide multiple media_url
parameters in the POST request. You can include up to ten media_url
parameters per message. International and carrier limits apply.
For Content Editor/API only: The SID of the Content Template to be used with the Message, e.g., HXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
. If this parameter is not provided, a Content Template is not used. Find the SID in the Console on the Content Editor page. For Content API users, the SID is found in Twilio's response when creating the Template or by fetching your Templates.
^HX[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
Whenever a Message resource's Status
changes, Twilio sends a POST
request to the Message resource's StatusCallback
URL.
In a status callback request, Twilio provides a subset of the standard request properties, and additionally MessageStatus
and ErrorCode
. These properties are described in the table below.
Property | Description |
---|---|
MessageStatus | The status of the Message resource at the time the status callback request was sent. |
ErrorCode | If an error occurred (i.e. the MessageStatus is failed or undelivered ), this property provides additional information about the failure. |
The properties included in Twilio's request to the StatusCallback URL vary by messaging channel and event type and are subject to change.
Twilio occasionally adds new properties without advance notice.
When integrating with status callback requests, it is important that your implementation is able to accept and correctly run signature validation on an evolving set of parameters.
Twilio strongly recommends using the signature validation methods provided in the Helper Libraries and not implementing your own signature validation.
Learn more about status callbacks:
For most SMS/MMS Messages that have a Status
of delivered
or undelivered
, Twilio's request to the StatusCallback
URL contains an additional property:
Property | Description |
---|---|
RawDlrDoneDate | This property is a passthrough of the Done Date included in the DLR (Delivery Receipt) that Twilio received from the carrier. The value is in YYMMDDhhmm format.
|
If the Message resource uses WhatsApp or another messaging channel, Twilio's request to the StatusCallback
URL contains additional properties. These properties are listed in the table below.
Property | Description |
---|---|
ChannelInstallSid | The Installed Channel SID that was used to send this message |
ChannelStatusMessage | The error message returned by the underlying messaging channel if Message delivery failed. This property is present only if the Message delivery failed. |
ChannelPrefix | The channel-specific prefix identifying the messaging channel associated with this Message |
EventType | This property contains information about post-delivery events. If the channel supports read receipts (currently WhatsApp only), this property's value is READ after the recipient has read the message. |
The example below shows how to create a Message resource with an SMS recipient.
Sending this POST
request causes Twilio to send a text message from +15557122661
(a Twilio phone number belonging to the Account sending the request) to +15558675310
. The content of the text message is Hi there
.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function createMessage() {11const message = await client.messages.create({12body: "Hi there",13from: "+15557122661",14to: "+15558675310",15});1617console.log(message.body);18}1920createMessage();
1{2"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",3"api_version": "2010-04-01",4"body": "Hi there",5"date_created": "Thu, 24 Aug 2023 05:01:45 +0000",6"date_sent": "Thu, 24 Aug 2023 05:01:45 +0000",7"date_updated": "Thu, 24 Aug 2023 05:01:45 +0000",8"direction": "outbound-api",9"error_code": null,10"error_message": null,11"from": "+15557122661",12"num_media": "0",13"num_segments": "1",14"price": null,15"price_unit": null,16"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",17"sid": "SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",18"status": "queued",19"subresource_uris": {20"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media.json"21},22"tags": {23"campaign_name": "Spring Sale 2022",24"message_type": "cart_abandoned"25},26"to": "+15558675310",27"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"28}
After completing the setup and configuration steps in the Programmable Messaging RCS Onboarding Guide
, you can send a Rich Communication Services (RCS) message by creating a new Message resource. Set the MessageServiceSid
or From
parameter to the SID of the Messaging Service associated with your RCS Sender. To find your Messaging Service's SID, check the Sid column on the Messaging Services page in the Console.
Programmable Messaging proactively checks if the recipient's device can support RCS, and will send the message using SMS as a fallback if needed.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function createMessage() {11const message = await client.messages.create({12body: "My first RCS message. Hello, world!",13messagingServiceSid: "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",14to: "+155XXXXXXXX",15});1617console.log(message.body);18}1920createMessage();
1{2"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",3"api_version": "2010-04-01",4"body": "My first RCS message. Hello, world!",5"date_created": "Thu, 24 Aug 2023 05:01:45 +0000",6"date_sent": "Thu, 24 Aug 2023 05:01:45 +0000",7"date_updated": "Thu, 24 Aug 2023 05:01:45 +0000",8"direction": "outbound-api",9"error_code": null,10"error_message": null,11"from": "+14155552345",12"num_media": "0",13"num_segments": "1",14"price": null,15"price_unit": null,16"messaging_service_sid": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",17"sid": "SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",18"status": "queued",19"subresource_uris": {20"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media.json"21},22"tags": {23"campaign_name": "Spring Sale 2022",24"message_type": "cart_abandoned"25},26"to": "+155XXXXXXXX",27"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"28}
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function createMessage() {11const message = await client.messages.create({12body: "My first RCS message. Hello, world!",13from: "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",14to: "+155XXXXXXXX",15});1617console.log(message.body);18}1920createMessage();
1{2"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",3"api_version": "2010-04-01",4"body": "My first RCS message. Hello, world!",5"date_created": "Thu, 24 Aug 2023 05:01:45 +0000",6"date_sent": "Thu, 24 Aug 2023 05:01:45 +0000",7"date_updated": "Thu, 24 Aug 2023 05:01:45 +0000",8"direction": "outbound-api",9"error_code": null,10"error_message": null,11"from": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",12"num_media": "0",13"num_segments": "1",14"price": null,15"price_unit": null,16"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",17"sid": "SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",18"status": "queued",19"subresource_uris": {20"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media.json"21},22"tags": {23"campaign_name": "Spring Sale 2022",24"message_type": "cart_abandoned"25},26"to": "+155XXXXXXXX",27"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"28}
If you have a Twilio-approved WhatsApp sender, you can send WhatsApp messages by creating a new Message resource. (WhatsApp session limitations apply.)
The From
parameter value must be your approved WhatsApp sender address (e.g., whatsapp:+15552221111
).
The To
parameter value must be a WhatsApp recipient address (e.g., whatsapp:+15553334444
).
You must also provide message content via the Body
and/or MediaUrl
parameters.
If you're using Messaging Services with Content API/Content Editor, you can provide message content via the contentSid
and contentVariables
parameters.
Note: WhatsApp does not support including a text body in the same message as a video, audio file, document, contact (vCard), or location. If you pass the Body
parameter on a message with one of these media types, the body is ignored and not delivered to the recipient.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function createMessage() {11const message = await client.messages.create({12body: "This is a WhatsApp message sent with Twilio!",13from: "whatsapp:+15555238886",14to: "whatsapp:+15557770006",15});1617console.log(message.body);18}1920createMessage();
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"api_version": "2010-04-01",4"body": "This is a WhatsApp message sent with Twilio!",5"date_created": "Thu, 24 Aug 2023 05:01:45 +0000",6"date_sent": "Thu, 24 Aug 2023 05:01:45 +0000",7"date_updated": "Thu, 24 Aug 2023 05:01:45 +0000",8"direction": "outbound-api",9"error_code": null,10"error_message": null,11"from": "whatsapp:+15555238886",12"num_media": "0",13"num_segments": "1",14"price": null,15"price_unit": null,16"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",17"sid": "SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",18"status": "queued",19"subresource_uris": {20"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media.json"21},22"tags": {23"campaign_name": "Spring Sale 2022",24"message_type": "cart_abandoned"25},26"to": "whatsapp:+15557770006",27"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"28}
When sending a message with a Messaging Service, you must provide a recipient via the To
parameter and content via the Body
, ContentSid
, or MediaUrl
parameters. In addition, you must provide the MessagingServiceSid
.
If you provide a MessagingServiceSid
and no From
parameter, Twilio determines the optimal From
value from your Sender Pool. In this case, the Message resource's initial Status
value is accepted
.
Optionally, you can provide a MessagingServiceSid
and a From
parameter. The From
parameter must be a sender from your Messaging Service's Sender Pool. In this case, the Message resource's initial Status
value is queued
.
With Messaging Services, you can also schedule messages to be sent in the future and send messages with shortened links.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function createMessage() {11const message = await client.messages.create({12body: "Hello! This is a message sent from a Messaging Service.",13messagingServiceSid: "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",14to: "+15551212121",15});1617console.log(message.body);18}1920createMessage();
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"api_version": "2010-04-01",4"body": "Hello! This is a message sent from a Messaging Service.",5"date_created": "Thu, 24 Aug 2023 05:01:45 +0000",6"date_sent": "Thu, 24 Aug 2023 05:01:45 +0000",7"date_updated": "Thu, 24 Aug 2023 05:01:45 +0000",8"direction": "outbound-api",9"error_code": null,10"error_message": null,11"from": "+14155552345",12"num_media": "0",13"num_segments": "1",14"price": null,15"price_unit": null,16"messaging_service_sid": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",17"sid": "SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",18"status": "queued",19"subresource_uris": {20"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media.json"21},22"tags": {23"campaign_name": "Spring Sale 2022",24"message_type": "cart_abandoned"25},26"to": "+15551212121",27"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"28}
GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.json
Returns a single Message resource specified by the provided Message SID
.
The SID of the Account associated with the Message resource
^AC[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The SID of the Message resource to be fetched
^(SM|MM)[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function fetchMessage() {11const message = await client12.messages("SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.fetch();1415console.log(message.body);16}1718fetchMessage();
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"api_version": "2010-04-01",4"body": "testing",5"date_created": "Fri, 24 May 2019 17:18:27 +0000",6"date_sent": "Fri, 24 May 2019 17:18:28 +0000",7"date_updated": "Fri, 24 May 2019 17:18:28 +0000",8"direction": "outbound-api",9"error_code": 30007,10"error_message": "Carrier violation",11"from": "+12019235161",12"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",13"num_media": "0",14"num_segments": "1",15"price": "-0.00750",16"price_unit": "USD",17"sid": "SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",18"status": "sent",19"subresource_uris": {20"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMb7c0a2ce80504485a6f653a7110836f5/Media.json",21"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMb7c0a2ce80504485a6f653a7110836f5/Feedback.json"22},23"tags": {24"campaign_name": "Spring Sale 2022",25"message_type": "cart_abandoned"26},27"to": "+18182008801",28"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMb7c0a2ce80504485a6f653a7110836f5.json"29}
GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json
Read multiple Message resources by sending a GET
request to your Account's Messages list URI.
Results are sorted by the DateSent
field, with the most recent messages appearing first.
If you are using the Twilio REST API and plan on requesting more records than will fit on a single page, you may want to use the response's nextpageuri property. Requesting this URI ensures that your next request picks up where it left off and can prevent you from retrieving duplicate data if you are actively sending or receiving messages.
This is not necessary if you are using one of the Helper Libraries, which automatically handle pagination. Take a look at the Helper Library documentation for more information.
You can also filter the Messages list by providing the following query string parameters to the listing resource:
Filter by recipient. For example: Set this to
parameter to +15558881111
to retrieve a list of Message resources with to
properties of +15558881111
Filter by sender. For example: Set this from
parameter to +15552229999
to retrieve a list of Message resources with from
properties of +15552229999
Filter by Message sent_date
. Accepts GMT dates in the following formats: YYYY-MM-DD
(to find Messages with a specific sent_date
), <=YYYY-MM-DD
(to find Messages with sent_date
s on and before a specific date), and >=YYYY-MM-DD
(to find Messages with sent_dates
on and after a specific date).
Filter by Message sent_date
. Accepts GMT dates in the following formats: YYYY-MM-DD
(to find Messages with a specific sent_date
), <=YYYY-MM-DD
(to find Messages with sent_date
s on and before a specific date), and >=YYYY-MM-DD
(to find Messages with sent_dates
on and after a specific date).
Filter by Message sent_date
. Accepts GMT dates in the following formats: YYYY-MM-DD
(to find Messages with a specific sent_date
), <=YYYY-MM-DD
(to find Messages with sent_date
s on and before a specific date), and >=YYYY-MM-DD
(to find Messages with sent_dates
on and after a specific date).
How many resources to return in each list page. The default is 50, and the maximum is 1000.
1
Maximum: 1000
The page token. This is provided by the API.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function listMessage() {11const messages = await client.messages.list({ limit: 20 });1213messages.forEach((m) => console.log(m.body));14}1516listMessage();
1{2"end": 1,3"first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0",4"next_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=1&PageToken=PAMMc26223853f8c46b4ab7dfaa6abba0a26",5"page": 0,6"page_size": 2,7"previous_page_uri": null,8"messages": [9{10"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",11"api_version": "2010-04-01",12"body": "testing",13"date_created": "Fri, 24 May 2019 17:44:46 +0000",14"date_sent": "Fri, 24 May 2019 17:44:50 +0000",15"date_updated": "Fri, 24 May 2019 17:44:50 +0000",16"direction": "outbound-api",17"error_code": null,18"error_message": null,19"from": "+12019235161",20"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",21"num_media": "0",22"num_segments": "1",23"price": "-0.00750",24"price_unit": "USD",25"sid": "SMded05904ccb347238880ca9264e8fe1c",26"status": "sent",27"subresource_uris": {28"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c/Media.json",29"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c/Feedback.json"30},31"tags": {32"campaign_name": "Spring Sale 2022",33"message_type": "cart_abandoned"34},35"to": "+18182008801",36"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c.json"37},38{39"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",40"api_version": "2010-04-01",41"body": "look mom I have media!",42"date_created": "Fri, 24 May 2019 17:44:46 +0000",43"date_sent": "Fri, 24 May 2019 17:44:49 +0000",44"date_updated": "Fri, 24 May 2019 17:44:49 +0000",45"direction": "inbound",46"error_code": 30004,47"error_message": "Message blocked",48"from": "+12019235161",49"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",50"num_media": "3",51"num_segments": "1",52"price": "-0.00750",53"price_unit": "USD",54"sid": "MMc26223853f8c46b4ab7dfaa6abba0a26",55"status": "received",56"subresource_uris": {57"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Media.json",58"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Feedback.json"59},60"tags": {61"campaign_name": "Spring Sale 2022",62"message_type": "cart_abandoned"63},64"to": "+18182008801",65"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26.json"66}67],68"start": 0,69"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0"70}
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function listMessage() {11const messages = await client.messages.list({12dateSent: new Date("2016-08-31 00:00:00"),13from: "+15017122661",14to: "+15558675310",15limit: 20,16});1718messages.forEach((m) => console.log(m.body));19}2021listMessage();
1{2"end": 1,3"first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0",4"next_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=1&PageToken=PAMMc26223853f8c46b4ab7dfaa6abba0a26",5"page": 0,6"page_size": 2,7"previous_page_uri": null,8"messages": [9{10"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",11"api_version": "2010-04-01",12"body": "testing",13"date_created": "Fri, 24 May 2019 17:44:46 +0000",14"date_sent": "Fri, 24 May 2019 17:44:50 +0000",15"date_updated": "Fri, 24 May 2019 17:44:50 +0000",16"direction": "outbound-api",17"error_code": null,18"error_message": null,19"from": "+12019235161",20"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",21"num_media": "0",22"num_segments": "1",23"price": "-0.00750",24"price_unit": "USD",25"sid": "SMded05904ccb347238880ca9264e8fe1c",26"status": "sent",27"subresource_uris": {28"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c/Media.json",29"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c/Feedback.json"30},31"tags": {32"campaign_name": "Spring Sale 2022",33"message_type": "cart_abandoned"34},35"to": "+18182008801",36"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c.json"37},38{39"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",40"api_version": "2010-04-01",41"body": "look mom I have media!",42"date_created": "Fri, 24 May 2019 17:44:46 +0000",43"date_sent": "Fri, 24 May 2019 17:44:49 +0000",44"date_updated": "Fri, 24 May 2019 17:44:49 +0000",45"direction": "inbound",46"error_code": 30004,47"error_message": "Message blocked",48"from": "+12019235161",49"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",50"num_media": "3",51"num_segments": "1",52"price": "-0.00750",53"price_unit": "USD",54"sid": "MMc26223853f8c46b4ab7dfaa6abba0a26",55"status": "received",56"subresource_uris": {57"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Media.json",58"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Feedback.json"59},60"tags": {61"campaign_name": "Spring Sale 2022",62"message_type": "cart_abandoned"63},64"to": "+18182008801",65"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26.json"66}67],68"start": 0,69"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0"70}
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function listMessage() {11const messages = await client.messages.list({12dateSentBefore: new Date("2019-03-01 00:00:00"),13limit: 20,14});1516messages.forEach((m) => console.log(m.body));17}1819listMessage();
1{2"end": 1,3"first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0",4"next_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=1&PageToken=PAMMc26223853f8c46b4ab7dfaa6abba0a26",5"page": 0,6"page_size": 2,7"previous_page_uri": null,8"messages": [9{10"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",11"api_version": "2010-04-01",12"body": "testing",13"date_created": "Fri, 24 May 2019 17:44:46 +0000",14"date_sent": "Fri, 24 May 2019 17:44:50 +0000",15"date_updated": "Fri, 24 May 2019 17:44:50 +0000",16"direction": "outbound-api",17"error_code": null,18"error_message": null,19"from": "+12019235161",20"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",21"num_media": "0",22"num_segments": "1",23"price": "-0.00750",24"price_unit": "USD",25"sid": "SMded05904ccb347238880ca9264e8fe1c",26"status": "sent",27"subresource_uris": {28"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c/Media.json",29"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c/Feedback.json"30},31"tags": {32"campaign_name": "Spring Sale 2022",33"message_type": "cart_abandoned"34},35"to": "+18182008801",36"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c.json"37},38{39"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",40"api_version": "2010-04-01",41"body": "look mom I have media!",42"date_created": "Fri, 24 May 2019 17:44:46 +0000",43"date_sent": "Fri, 24 May 2019 17:44:49 +0000",44"date_updated": "Fri, 24 May 2019 17:44:49 +0000",45"direction": "inbound",46"error_code": 30004,47"error_message": "Message blocked",48"from": "+12019235161",49"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",50"num_media": "3",51"num_segments": "1",52"price": "-0.00750",53"price_unit": "USD",54"sid": "MMc26223853f8c46b4ab7dfaa6abba0a26",55"status": "received",56"subresource_uris": {57"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Media.json",58"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Feedback.json"59},60"tags": {61"campaign_name": "Spring Sale 2022",62"message_type": "cart_abandoned"63},64"to": "+18182008801",65"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26.json"66}67],68"start": 0,69"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0"70}
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function listMessage() {11const messages = await client.messages.list({12dateSentBefore: new Date("2021-01-17 01:23:45"),13dateSentAfter: new Date("2021-01-15 01:23:45"),14limit: 20,15});1617messages.forEach((m) => console.log(m.body));18}1920listMessage();
1{2"end": 1,3"first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0",4"next_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=1&PageToken=PAMMc26223853f8c46b4ab7dfaa6abba0a26",5"page": 0,6"page_size": 2,7"previous_page_uri": null,8"messages": [9{10"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",11"api_version": "2010-04-01",12"body": "testing",13"date_created": "Fri, 24 May 2019 17:44:46 +0000",14"date_sent": "Fri, 24 May 2019 17:44:50 +0000",15"date_updated": "Fri, 24 May 2019 17:44:50 +0000",16"direction": "outbound-api",17"error_code": null,18"error_message": null,19"from": "+12019235161",20"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",21"num_media": "0",22"num_segments": "1",23"price": "-0.00750",24"price_unit": "USD",25"sid": "SMded05904ccb347238880ca9264e8fe1c",26"status": "sent",27"subresource_uris": {28"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c/Media.json",29"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c/Feedback.json"30},31"tags": {32"campaign_name": "Spring Sale 2022",33"message_type": "cart_abandoned"34},35"to": "+18182008801",36"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMded05904ccb347238880ca9264e8fe1c.json"37},38{39"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",40"api_version": "2010-04-01",41"body": "look mom I have media!",42"date_created": "Fri, 24 May 2019 17:44:46 +0000",43"date_sent": "Fri, 24 May 2019 17:44:49 +0000",44"date_updated": "Fri, 24 May 2019 17:44:49 +0000",45"direction": "inbound",46"error_code": 30004,47"error_message": "Message blocked",48"from": "+12019235161",49"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",50"num_media": "3",51"num_segments": "1",52"price": "-0.00750",53"price_unit": "USD",54"sid": "MMc26223853f8c46b4ab7dfaa6abba0a26",55"status": "received",56"subresource_uris": {57"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Media.json",58"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26/Feedback.json"59},60"tags": {61"campaign_name": "Spring Sale 2022",62"message_type": "cart_abandoned"63},64"to": "+18182008801",65"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMc26223853f8c46b4ab7dfaa6abba0a26.json"66}67],68"start": 0,69"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0"70}
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.json
Updates the body of a Message resource. Send a POST
request to a Message resource's URI containing the updated parameters.
This action is primarily used to redact Message content. To redact a Message resources's Body
, send a POST
request to the Message resource's URI and set the Body
parameter as an empty string: ""
. This redacts the Body
of a message while keeping the other Message resource properties intact.
The SID of the Account that created the Message resources to update.
^AC[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The SID of the Message resource to be updated
^(SM|MM)[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
application/x-www-form-urlencoded
The new body
of the Message resource. To redact the text content of a Message, this parameter's value must be an empty string
Set as canceled
to prevent a not-yet-sent Message from being sent. Can be used to cancel sending a scheduled Message (Messaging Services only).
canceled
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function updateMessage() {11const message = await client12.messages("SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")13.update({ body: "" });1415console.log(message.body);16}1718updateMessage();
1{2"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",3"api_version": "2010-04-01",4"body": "",5"date_created": "Fri, 24 May 2019 17:18:27 +0000",6"date_sent": "Fri, 24 May 2019 17:18:28 +0000",7"date_updated": "Fri, 24 May 2019 17:18:28 +0000",8"direction": "outbound-api",9"error_code": null,10"error_message": null,11"from": "+12019235161",12"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",13"num_media": "0",14"num_segments": "1",15"price": null,16"price_unit": "USD",17"sid": "SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",18"status": "sent",19"subresource_uris": {20"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMb7c0a2ce80504485a6f653a7110836f5/Media.json",21"feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMb7c0a2ce80504485a6f653a7110836f5/Feedback.json"22},23"tags": {},24"to": "+18182008801",25"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMb7c0a2ce80504485a6f653a7110836f5.json"26}
DELETE https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.json
To delete a Message resource, send a DELETE
request to the Message resource's URI.
If the DELETE
request is successful, Twilio's response status code is HTTP 204 (No Content)
.
A deleted Message resource no longer appears in your Account's Messaging logs. Deleted messages cannot be recovered.
Deleting a Message resource also deletes any associated Media and/or MessageFeedback sub-resources. Any associated media file is also deleted unless the same media file is associated with another Message resource in your Account. For example, if you send 1,000 messages with the same media file (e.g., a .jpeg
file), that media file remains accessible until all 1,000 associated Message resources (and/or the associated Media sub-resources) are deleted.
Message bodies may persist for up to 30 days after an HTTP DELETE
request in our database backups.
The SID of the Account associated with the Message resource
^AC[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The SID of the Message resource you wish to delete
^(SM|MM)[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function deleteMessage() {11await client.messages("SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").remove();12}1314deleteMessage();