This documentation is for reference only. We are no longer onboarding new customers to Programmable Video. Existing customers can continue to use the product until December 5, 2026.
We recommend migrating your application to the API provided by our preferred video partner, Zoom. We've prepared this migration guide to assist you in minimizing any service disruption.
These are the URI schemes for the Composition Settings REST API and the supported methods:
/v1/CompositionSettings/Default
GET
: Retrieves current Composition Settings.
POST
: Updates the Composition Settings.
The Default
CompositionSettings
resource holds the default composition settings for the given Twilio account (or project). Its configuration will be applied to all Recording Compositions created in such account (or project).
The Compositions Settings default resource is located at the following Base URL:
_10https://video.twilio.com/v1/CompositionSettings/Default
A CompositionSettings resource has the following properties:
account_sid
type: SID<AC>The SID of the Account that created the CompositionSettings resource.
^AC[0-9a-fA-F]{32}$
34
34
friendly_name
type: stringThe string that you assigned to describe the resource and that will be shown in the console
aws_credentials_sid
type: SID<CR>The SID of the stored Credential resource.
^CR[0-9a-fA-F]{32}$
34
34
aws_s3_url
type: string<uri>The URL of the AWS S3 bucket where the compositions are stored. We only support DNS-compliant URLs like https://documentation-example-twilio-bucket/compositions
, where compositions
is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the RFC 3986.
aws_storage_enabled
type: booleanWhether all compositions are written to the aws_s3_url
. When false
, all compositions are stored in our cloud.
encryption_key_sid
type: SID<CR>The SID of the Public Key resource used for encryption.
^CR[0-9a-fA-F]{32}$
34
34
encryption_enabled
type: booleanWhether all compositions are stored in an encrypted form. The default is false
.
The Twilio Composition Settings REST API lets you configure Twilio to store your compositions in an external AWS S3 bucket. Composition Settings work per-account (i.e. project). If you activate external S3 storage, all Video Compositions in your account (or project) will be stored in the specified external bucket.
This document contains reference information about the Composition Settings REST API for external S3 storage. For a step-by-step guide you can also read the Storing into AWS S3 developer guide
In the table above, the following properties are reserved for the feature called Encrypted Compositions:
encryption_key_sid
encryption_enabled
If you have an interest in activating Encrypted Compositions in you account, please contact the Twilio Support Service.
Retrieves your account's default Composition Settings.
For example:
Sets your account's default Composition Settings. POST requests support the following parameters:
FriendlyName
type: stringRequiredA descriptive string that you create to describe the resource and show to the user in the console
AwsCredentialsSid
type: SID<CR>The SID of the stored Credential resource.
^CR[0-9a-fA-F]{32}$
34
34
EncryptionKeySid
type: SID<CR>The SID of the Public Key resource to use for encryption.
^CR[0-9a-fA-F]{32}$
34
34
AwsS3Url
type: string<uri>The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like https://documentation-example-twilio-bucket/compositions
, where compositions
is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the RFC 3986.
AwsStorageEnabled
type: booleanWhether all compositions should be written to the aws_s3_url
. When false
, all compositions are stored in our cloud.
EncryptionEnabled
type: booleanWhether all compositions should be stored in an encrypted form. The default is false
.
In the table above, the following parameters are reserved for the feature called Encrypted Compositions:
EncryptionKeySid
EncryptionEnabled
If you have an interest in activating Encrypted Compositions and enable the use of these parameters in your account, please contact the Twilio Support Service.
The following code snippet illustrate how you can set your Compositions to be stored in an external S3 bucket:
To stop storing compositions in an AWS S3 Bucket by default, you can create a new default configuration with AWS storage disabled. If you disable external AWS S3 storage, compositions will be stored in the Twilio cloud.