Skip to contentSkip to navigationSkip to topbar
On this page

Programmable Video REST API


The Programmable Video REST API allows you to control your video applications from your back-end server via HTTP requests. You can create and complete Rooms, query their status, retrieve Recording files, configure a webhook for Status Callbacks, and more.

All Programmable Video REST API resources use the following base URL.

1
https://video.twilio.com
2

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


Authentication

authentication page anchor

To authenticate requests to the Twilio APIs, Twilio supports HTTP Basic authentication(link takes you to an external page). Use your API key as the username and your API key's secret as the password. You can create an API key either in the Twilio Console or using the API.

Note: Twilio doesn't recommend using your Account SID and Auth Token in production. For local testing, you can use your Account SID as the username and your Auth token as the password. You can find your Account SID and Auth Token in the Twilio Console(link takes you to an external page).

Learn more about Twilio API authentication.

1
curl -G https://video.twilio.com/v1/Rooms \
2
-u $TWILIO_API_KEY:$TWILIO_API_KEY_SECRET

The resources you will be interacting with via the Programmable Video REST API are:

ResourceDescription
RoomsA Room represents a multi-party communications session among users in your application, where users can share and receive real-time audio and video tracks with one another.
ParticipantsA Participant is one user session in a Room.
PublishedTrackPublished Tracks represent media shared in a Room by a Participant.
Track SubscriptionsSubscribe Rules represent Participant's Track Subscriptions.
RecordingsA Recording represents the recorded media for an audio, video, or screen share Track shared in a Room.
CompositionsA Composition represents a playable media file resulting from the mixing of a set of Room video Recordings.