Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?


A Message resource represents an inbound or outbound message. Twilio creates a Message when any of the following occur:

With this REST API, you can:

Are you looking for step-by-step instructions for sending your first SMS with Twilio using the helper libraries? Check out one of our SMS quickstarts in your programming language of choice: C#/.NET, Java, Node.js, PHP, Python, or Ruby.

Message properties

Names in cs format
sid<AC> Not PII


文字列 Not PII


文字列 PII MTL: 30 DAYS


date_time<rfc2822> Not PII

このリソースが生成された日付です。RFC 2822形式を使用します。

date_time<rfc2822> Not PII

このリソースが最後に更新された日付です。RFC 2822形式を使用します。

date_time<rfc2822> Not PII

メッセージの送信された日付です。 送信メッセージでは、Twilioのプラットフォームからメッセージの送信された日付となります。 受信メッセージでは、Twilioが開発者のアプリケーションにHTTPリクエストを発行した日付となります。 日付は RFC 2822 形式で与えられます。

enum:direction Not PII

メッセージの方向を表します。 inboundは到着したメッセージ、outbound-apiはREST APIを通じて開始されたメッセージ、outbound-callは通話の中で開始されたメッセージ、outbound-replyは到着したメッセージへの返信をもとに開始されたメッセージ をそれぞれ表します。

integer Not PII


文字列 Not PII

The human readable description of the ErrorCode above. If the message status is failed or undelivered it will have one of the values described below, otherwise, it will be null.

phone_number PII MTL: 120 DAYS

電話番号(E.164形式)、英数字の送信者ID、またはMessage送信を開始したWireless SIMです。 受信メッセージの場合は、これは相手の電話になります。 送信メッセージの場合は、Twilio電話番号のどれかひとつ、あるいは使用された英数字の送信者IDになります。

sid<MG> Not PII

このメッセージで使用されたMessaging Serviceの一意なIDです。 Messaging Serviceが使用されなかった場合、この値はnullになります。

文字列 Not PII


文字列 Not PII


decimal Not PII

メッセージに対して課金された額で、アカウントに関連づけられた通過で表されます。 宛先に送信されたセグメントごとに課金されることにご注意ください。

currency Not PII

Price で表される額面の通貨単位をISO4127形式で表します。 (例: usd, eur, jpy)。

sid<MM> Not PII

このリソースを一意に識別する 34 文字の文字列です。

enum:status Not PII

このメッセージのステータス。 accepted, queued, sending, sent,failed, delivered, undelivered, receiving , received のいずれかです。 下記の詳しい説明をご覧ください。

uri_map Not PII

このリソースに割り当てられた、URLのサブリソースをします。下記URLが関連しています。 https://api.twilio.com

文字列 PII MTL: 120 DAYS

このメッセージを受信した電話番号 ( E.164 フォーマット) です。 着信メッセージの場合は、自分の Twilio 番号です。 着信メッセージの場合は、相手の電話番号です。

文字列 Not PII

このリソースのURIで、右記のURLに対する相対パスです https://api.twilio.com

Create a Message resource


To send a new outgoing message, make an HTTP POST to this 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.

When creating a new message via the API, you must include the To parameter. This value should be either a destination phone number or a Channel address. You also need to pass a Body or MediaUrl containing the message's content.

You must also include either the From parameter or MessagingServiceSid parameter. Use MessagingServiceSid if sending your message with a messaging service.

There is a slight difference in how Twilio's API responds based on the parameter you include:

  • From: Twilio will validate the phone numbers or Channel addresses synchronously. The API returns either a queued status or an error.
  • MessagingServiceSid: the API will first return a status of accepted. Twilio then determines the optimal From phone number. Any delivery errors will be sent asynchronously to your StatusCallback URL. Note: you cannot currently use a MessagingServiceSid when sending a WhatsApp or Channel message.

If the body of your message is more than 160 GSM-7 characters (or 70 UCS-2characters), Twilio will send the message as a segmented SMS and charge your account accordingly.

Names in None format
post phone_number PII MTL: 120 DAYS

The destination phone number for SMS/MMS or a Channel user address for other 3rd party channels. Destination phone numbers should be formatted with a '+' and country code e.g., +16175551212 (E.164 format).

post url Not PII

A URL where Twilio will POST each time your message status changes to one of the following: queued, failed, sent, delivered, or undelivered. Twilio will POST its standard request parameters as well as some additional parameters including MessageSid, MessageStatus, and ErrorCode(see more details below). If you include this parameter in addition to a MessagingServiceSid, Twilio will override the Status Callback URL of the Messaging Service. URLs must contain a valid hostname – underscores are not allowed.

post sid<AP> Not PII

Twilio will POST a MessageSid as well as MessageStatus=sent or MessageStatus=failed to the URL in the MessageStatusCallback property of this application. If the StatusCallback parameter is also passed, the application's MessageStatusCallback parameter will take precedence.

post decimal Not PII

The total maximum price up to the fourth decimal (0.0001) in US dollars acceptable for the message to be delivered. All messages will be queued for delivery regardless of the price point. A POST request will later be made to your Status Callback URL with a status change of Sent or Failed. When the price of the message is greater than this value, the message will fail and not be sent. When MaxPrice is not set, all prices for the message are accepted.

post boolean Not PII

Set this value to true if you are sending messages that have a trackable user action and you intend to confirm delivery of the message using the Message Feedback API. This parameter is false by default.

post integer Not PII

メッセージがTwilioのキューに滞留できる秒数です。 この時間制限を超過すると、メッセージ送信は失敗し、後にステータスコールバックURLにPOSTリクエストが発行されます。 有効な値は1〜14400秒(既定)です。 キャリアーによるメッセージの受け入れ後、メッセージがキューに入らないことをTwilioが保証できない点についてご留意ください。 5秒未満の有効期限を使用しないことを推奨します。

post 文字列 Not PII

A JSON string that represents interactive message which is a category of messages including list picker, time picker, and an Apple Pay request.

post boolean Not PII

A boolean that forcefully whitelists a from:to pair when set to true.

Required if messaging_service_sid is not passed
post phone_number PII MTL: 120 DAYS

A Twilio phone number (in E.164 format), alphanumeric sender ID or a Channel Endpoint address enabled for the type of message you wish to send. Phone numbers or short codes purchased from Twilio work here. You cannot (for example) spoof messages from your own cell phone number. Do not use this parameter if you are using MessagingServiceSid.

Required if from is not passed
post sid<MG> Not PII

The 34-character unique ID of the Messaging Service you want to associate with this Message. Set this parameter to use the Messaging Service Settings and Copilot Features you have configured. When only this parameter is set, Twilio will use your enabled Copilot Features to select the From phone number for delivery. Do not pass this value if you are using From.

Required if media_url is not passed
post 文字列 PII MTL: 30 DAYS


Required if body is not passed
post url[] Not PII

The URL containing the media you wish to send with the message. gif , png and jpeg content is currently supported and will be formatted correctly on the recipient's device. Other types are also accepted by the API. The media size limit is 5MB. If you wish to send more than one image in the message body, please provide multiple MediaUrl values in the POST request. You may include up to 10 MediaUrls per message. Sending images via SMS is currently only possible in the US and Canada

例 1
        例 2

              A note on message rate limiting

              As you send more messages via the API, Twilio will queue them up 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 your application tries to enqueue more than 4 hours worth of outbound traffic (e.g., enqueuing more than 14,400 messages to Canada over one long code phone number), the API will start returning 429 errors.

              If you need to enqueue a large volume of messages, you may find that it's helpful to leverage Twilio's Messaging Services. See our guide on how to set up and send messages from a messaging service in your language of choice for more tips.

              Fetch a Message resource


              Returns a single message specified by the provided Message {SID}.

              Names in None format
              GET sid<MM> Not PII

              The message Sid that uniquely identifies this resource


                    Read multiple Message resources



                    When getting the list of all messages, results will be sorted on the DateSent field with the most recent messages appearing first.

                    If you plan on requesting more records than will fit on a single page, you may want to use the provided nextpageuri. This method 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.

                    You may also limit the list by providing the following query string parameters to the listing resource:

                    Names in None format
                    GET phone_number PII MTL: 120 DAYS


                    GET phone_number PII MTL: 120 DAYS


                    GET date_time_inequality<iso8601> Not PII

                    YYYY-MM-DDのように指定した日付(GMTフォーマット)に送信したメッセージを表示することができます。例 DateSent=2009-07-06.DateSent<=YYYY-MM-DDDateSent>=YYYY-MM-DDのように不等号を使って表現する事もできます。前者ではその日付以前、後者ではその日付後を検索できます。

                    例 1
                          Get all messages associated with your account

                          Read: List all messages

                          Get all messages associated with your account
                          例 2
                                List all messages sent on August 31, 2016 from +15017122661 and to +15558675310

                                Read: List messages matching filter criteria

                                List all messages sent on August 31, 2016 from +15017122661 and to +15558675310

                                Update a Message resource


                                Updates the body of a Message resource.

                                This action is primarily used to redact messages: to do so, POST to the above URI and set the Body parameter as an empty string: "". This will allow you to effectively redact the text of a message while keeping the other message resource properties intact.

                                Names in None format
                                post sid<MM> Not PII

                                The message to redact

                                post 文字列 PII MTL: 30 DAYS


                                例 1
                                      例 2
                                            To redact the message-body from a message record, POST to the instance with an empty Body

                                            Update: redact a message

                                            To redact the message-body from a message record, POST to the instance with an empty Body

                                            Delete a Message resource


                                            Deletes a message record from your account. Once the record is deleted, it will no longer appear in the API and Account Portal logs.

                                            成功すると、Bodyのない HTTP 204 (No Content) を返します。

                                            Attempting to delete an in-progress message record will result in an error.

                                            Names in None format
                                            削除する sid<MM> Not PII

                                            The message sid that uniquely identifies the message to delete


                                                  Note: Deleting a message does not delete any media associated with the message. That media is still available at its original URI.

                                                  Message Media Subresources


                                                  Message instance resources have a Media list resource for the set of media elements included with a given Message:



                                                  Message instance resources have Media instance subresources. If media exists on a given message, you can retrieve information about images and other media.




                                                  The following are the possible values for the 'Status' parameter:

                                                  Status 概要
                                                  accepted Twilio has received your API request to send a message with a Messaging Service and a From number is being dynamically selected. This will be the initial status when sending with a Messaging Service and the From parameter.
                                                  queued The API request to send a message was successful and the message is queued to be sent out. This will be the initial status when you are not using a Messaging Service.
                                                  sending Twilioはネットワークで一番近いキャリアにメッセージを送信中です。
                                                  sent The nearest upstream carrier accepted the message.
                                                  receiving インバウンドメッセージがTwilioで受信され、現在処理中です。
                                                  received 受信メッセージ専用です。 いずれかのTwilio番号でメッセージが受信されました。
                                                  delivered Twilioは上位キャリアーからのメッセージ送達確認(利用可能な場合は宛先の電話機への送達確認)を受信しました。
                                                  undelivered Twilio has received a delivery receipt indicating that the message was not delivered. This can happen for many reasons including carrier content filtering and the availability of the destination handset.
                                                  failed メッセージが送信できませんでした。 これはキューのオーバーフロー、アカウントの停止、およびメディアのエラー(MMSの場合)を含むさまざまな理由で起こりえます。 failedのメッセージに対してはTwilioによる課金は行われません。

                                                  Back to the Message properties list.


                                                  When a message's status is 'failed' or 'undelivered', the ErrorCode and ErrorMessage properties will contain one of the following.

                                                  Note that the ErrorMessage is meant to be a human-readable description – the values returned are subject to change in the future. A full list of Twilio Error Codes and troubleshooting tips can help you troubleshoot delivery issues.

                                                  エラー コード エラーメッセージ 概要
                                                  30001 キューオーバーフロー You tried to send too many messages too quickly, and your message queue overflowed. Try sending your message again after waiting for some time.
                                                  30002 アカウントサスペンド メッセージ送信と配送の間にあなたのアカウントがサスペンド状態になりました。
                                                  30003 到達できない電話機 送信先の電話機の電源がオフになっているか、無効な電話機です。
                                                  30004 メッセージがブロックされました The destination number you are trying to reach is blocked from receiving this message (e.g., due to blacklisting).
                                                  30005 不明な到達先電話機 あなたが送信しようとしている先の番号は不明か、すでに存在していません。
                                                  30006 固定電話回線もしくはキャリアに到達不可 この番号はメッセージの受信ができません。
                                                  30007 キャリア違反 Your message was flagged as objectionable by the carrier. To protect their subscribers, many carriers have implemented content or spam filtering. Learn more about carrier filtering
                                                  30008 不明なエラー いずれのカテゴリーにも属さないエラーです。
                                                  30009 失われたセグメント マルチパートの受信メッセージに関連づけられたひとつ以上のセグメントが受信されませんでした。
                                                  30010 メッセージの金額が設定した最大理金額を超えました。 メッセージの料金が、max priceパラメータの値を超えました。

                                                  The following ErrorCodes apply only when you are sending a message via WhatsApp or a Channel.

                                                  ErrorCode ErrorMessage 概要
                                                  63001 Channelがリクエストを認証できませんでした Channelの認証クレデンシャルが不正です。 Console内のChannelページでクレデンシャルを確認するか、Channelとの再認証を行なってください。
                                                  63002 ChannelがFromアドレスを見つけられませんでした。 Fromアドレスが構成済みのChannelと一致しませんでした。 Channelページから、正しいChannelエンドポイントアドレスを使用していることを確認してください。
                                                  63003 ChannelがFromアドレスを見つけられませんでした Toアドレスが不正です。
                                                  63005 Channelが指定されたコンテンツを受け付けませんでした
                                                  63006 Channelに対して指定されたコンテンツの書式設定に失敗しました
                                                  63007 指定されたFromアドレスのChannelが見つかりませんでした Fromアドレスが構成済みのChannelと一致しませんでした。 Channelページから、正しいChannelエンドポイントアドレスを使用していることを確認してください。
                                                  63008 Could not execute the request because the channel module is misconfigured TwilioでChannel構成を確認してください。
                                                  63009 リクエストの実行時にChannelがエラーを返しました 詳細情報については、Channel固有のエラーメッセージを参照してください。
                                                  63010 Channels - Twilio内部エラー
                                                  63012 Channelが、リクエストの完了を妨げる内部エラーを返しました
                                                  63013 Channelプロバイダーのポリシーに違反したため、メッセージの送信に失敗しました。 詳細情報については、Channel固有のエラーメッセージを参照してください。
                                                  63014 ユーザーアクションによってブロックされたため、そのユーザーへのメッセージ配信に失敗しました。 詳細情報については、Channel固有のエラーメッセージを参照してください。

                                                  Back to the Message properties list.


                                                  For outbound 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 will segment and annotate 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 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 will attempt to reassemble the message received by your Twilio phone number. All carriers and handsets do not necessarily support this.


                                                  Back to the Message properties list.

                                                  StatusCallback Request Parameters

                                                  The parameters Twilio passes to your application in its request to the StatusCallback URL include a subset of the standard request parameters and these additional parameters:

                                                  パラメーター 概要
                                                  MessageStatus メッセージのステータスです。 メッセージの配信情報はメッセージステータスに反映されます。 取りうる値はMessage Resourceに一覧されています
                                                  ErrorCode The error code (if any) associated with your message. If your message status is failed or undelivered, the ErrorCode can give you more information about the failure. If the message was delivered successfully, no ErrorCode will be present. Find the possible values here.
                                                  ChannelInstallSid メッセージの送信に使用される、インストール済のChannelのSID(Channel詳細ページにて確認できます)です。 Channelを使用して送信されるメッセージにのみ存在します。
                                                  ChannelStatusMessage メッセージの配信失敗時にChannelによって返されるエラーメッセージです。 メッセージがChannelによって送信され、かつ配信に失敗した場合にのみ存在します。
                                                  ChannelPrefix このメッセージの送信されたChannelを識別するためのChannel固有のプレフィックスです。
                                                  EventType Contains post-delivery events. If the Channel supports Read receipts, this parameter will be included with a value of READ after the user has read the message. Currently supported only for WhatsApp.

                                                  Back to Create a Message resource

                                                  Rate this page:


                                                  We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.