For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SDKsHelp CenterLog inSign up
    • Overview
  • Getting Started
    • API Mechanics
    • Quickstart
  • Guides
    • Communications API
    • Troubleshooting
    • Events
    • Changelog
  • Comms API Reference
      • Summary
      • POSTSend Messages
      • GETList Messages
      • GETFetch a Message
      • GETFetch a Message Operation
      • GETList Message Operations
      • GETSeek a Message by an Identifier
LogoLogo
SDKsHelp CenterLog inSign up
Comms API ReferenceMessages

Send Messages

POST
https://comms.twilio.com/v1/Messages
POST
/v1/Messages
1import { TwilioClient } from "twilio-comms";
2
3async function main() {
4 const client = new TwilioClient({
5 accountId: "YOUR_ACCOUNTID_HERE",
6 authToken: "YOUR_AUTHTOKEN_HERE",
7 });
8 await client.messages.send({
9 to: [
10 {
11 address: "+14153902337",
12 channel: "PHONE",
13 },
14 ],
15 content: {
16 text: "Hello, World!",
17 },
18 });
19}
20main();
1{
2 "operationId": "comms_operation_01h9krwprkeee8fzqspvwy6nq8",
3 "operationLocation": "https://comms.twilio.com/v1/Messages/Operations/comms_operation_01h9krwprkeee8fzqspvwy6nq8"
4}
This operation creates and sends out messages to the specified recipients.
Was this page helpful?
Previous

List Messages

Next
Built with

Authentication

AuthorizationBasic

Basic authentication of the form Basic <account_id:auth_token>.

OR
AuthorizationBasic

Basic authentication of the form Basic <api_key:api_key_secret>.

Request

This endpoint expects an object.
tolist of objectsRequired

An array of recipient objects to send the Message(s) to.

contentobjectRequired
The content of the Message. *** * Use the [Liquid](https://shopify.github.io/liquid/) templating language for personalization in any text-based field. * When using a templated content, use the `variables` field on each recipient to specify the values to substitute. * For each variable you specify in your template, you should have a matching key in each recipient's `variables` object. * When targeting `Audience` or `Profile` recipients, you may specify `variables` with values that reference stored traits on the `Profile` -- for example: `${Twilio.Profile.firstName}` or `${Twilio.Profile.myCustomField}`.
fromobjectOptional

The sending identity to associate with the Message(s).

scheduleobjectOptional

A schedule defines when a communication will be sent to a recipient.

tagsmap from strings to stringsOptional
Custom metadata in the form of key-value pairs. Maximum size of a tag key is 128 characters. Maximum size of a tag value is 256 characters. There can be a maximum of 10 key-value pairs. This field can be templated with [Liquid](https://shopify.github.io/liquid/). Specify `variables` with each recipient for personalization.

Response headers

Locationstring

The location (uri) of the Operation resource. Issue a GET request to this URI to retrieve the status of the Operation.

Response

The request was accepted and an Operation was created to track its progress. The response body contains the ID and link to the Operation resource.
operationIdstringformat: "^comms_operation_[0-7][a-hjkmnpqrstv-z0-9]{25,34}"
The Operation ID is an identifier that can be used to correlate all of the resources created in a request. Issue a GET request to the resource list location, using the Operation ID as a query parameter to retrieve the resources that correlate with the Operation.
operationLocationstringformat: "uri"

The location (uri) of the Operation resource identified by operationId.

Errors

400
Bad Request Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error

The content of the Message.


  • Use the Liquid templating language for personalization in any text-based field.

  • When using a templated content, use the variables field on each recipient to specify the values to substitute.

  • For each variable you specify in your template, you should have a matching key in each recipient’s variables object.

  • When targeting Audience or Profile recipients, you may specify variables with values that reference stored traits on the Profile — for example: ${Twilio.Profile.firstName} or ${Twilio.Profile.myCustomField}.

Custom metadata in the form of key-value pairs. Maximum size of a tag key is 128 characters. Maximum size of a tag value is 256 characters. There can be a maximum of 10 key-value pairs.

This field can be templated with Liquid. Specify variables with each recipient for personalization.