Rate this page:

Programmable Chat REST API

We intend to sunset the Programmable Chat API on July 25, 2022 to focus on the next generation of chat: the Twilio Conversations API. Find out about the EOL process. We have also prepared this Migration Guide to assist in the transition from Chat to Conversations.

The Programmable Chat REST API allows you to control your Chat applications from the server in much the same way you can from the client, except from a service perspective rather than a 1st person one. You can create channels, send messages, and query the state of your messaging applications using the resources in this REST API.


All URLs in the reference documentation use the following base URL:

All requests to the Programmable Chat REST API are served over HTTPS. Unencrypted HTTP is not supported.


HTTP requests to the REST API are protected with HTTP Basic authentication like other REST APIs provided by Twilio. To learn more about how Twilio handles authentication, please refer to our security documentation. In short, you will use your Twilio account SID as the username and your auth token as the password for HTTP Basic authentication.

curl -G \

You can find your account SID and auth token in the admin console. Alternately, you can also use API keys and secrets to authenticate REST API requests - you can manage API key pairs in the console also.

Twilio Helper Libraries

You can use the Twilio Helper Libraries to interact with the Programmable Chat REST endpoints.

Programmable Chat is available in the Next Gen Release builds of the Twilio Helper Libraries.


Here are the resources you will be interacting with via the REST API:

Resource Description
Binding A push notification subscription for Users within the Service instance
Channel A "chat room" - a container having members, in which messages can be exchanged.
Credential Credentials used by Twilio to integrate with Google Cloud Messaging or Apple Push Notifications Service
Invite Invitations to a Channel
Member Members of a Channel
Message Messages sent to a Channel
Role Define actions users are allowed to take in a Channel or Service scope
Service A service roughly maps to a Chat app. Channels, Users, Credentials, and all the REST (see what I did there?) are scoped to a Service. Can define webhook URLs for events in a Service
User A user with a unique identity within the scope of your Service

Media Messaging

Programmable Chat Multimedia Messaging feature has a REST API available via stand-alone API endpoint. Please refer to the Media Resource documentation for more details.

Rate this page:

Need some help?

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


        Thank you for your feedback!

        We are always striving to improve our documentation quality, and your feedback is valuable to us. Please select the reason(s) for your feedback or provide additional information about how we can improve:

        Sending your feedback...
        🎉 Thank you for your feedback!
        Something went wrong. Please try again.

        Thanks for your feedback!

        Refer us and get $10 in 3 simple steps!

        Step 1

        Get link

        Get a free personal referral link here

        Step 2

        Give $10

        Your user signs up and upgrade using link

        Step 3

        Get $10

        1,250 free SMSes
        OR 1,000 free voice mins
        OR 12,000 chats
        OR more