components: schemas: video.v1.composition: properties: account_sid: description: The SID of the Account that created the resource maxLength: 34 minLength: 34 nullable: true pattern: ^AC[0-9a-fA-F]{32}$ type: string audio_sources: description: The array of track names to include in the composition items: type: string nullable: true type: array audio_sources_excluded: description: The array of track names to exclude from the composition items: type: string nullable: true type: array bitrate: description: The average bit rate of the composition's media nullable: true type: integer date_completed: description: Date when the media processing task finished format: date-time nullable: true type: string date_created: description: The ISO 8601 date and time in GMT when the resource was created format: date-time nullable: true type: string date_deleted: description: The ISO 8601 date and time in GMT when the composition generated media was deleted format: date-time nullable: true type: string duration: description: The duration of the composition's media file in seconds nullable: true type: integer format: description: The container format of the composition's media files as specified in the POST request that created the Composition resource enum: - mp4 - webm nullable: true type: string links: description: The URL of the media file associated with the composition nullable: true type: object media_external_location: description: The URL of the media file associated with the composition when stored externally format: uri nullable: true type: string resolution: description: The dimensions of the video image in pixels expressed as columns (width) and rows (height) nullable: true type: string room_sid: description: The SID of the Group Room that generated the audio and video tracks used in the composition maxLength: 34 minLength: 34 nullable: true pattern: ^RM[0-9a-fA-F]{32}$ type: string sid: description: The unique string that identifies the resource maxLength: 34 minLength: 34 nullable: true pattern: ^CJ[0-9a-fA-F]{32}$ type: string size: description: The size of the composed media file in bytes nullable: true type: integer status: description: The status of the composition enum: - enqueued - processing - completed - deleted - failed nullable: true type: string trim: description: Whether to remove intervals with no media nullable: true type: boolean url: description: The absolute URL of the resource format: uri nullable: true type: string video_layout: description: An object that describes the video layout of the composition nullable: true type: object type: object video.v1.composition_hook: properties: account_sid: description: The SID of the Account that created the resource maxLength: 34 minLength: 34 nullable: true pattern: ^AC[0-9a-fA-F]{32}$ type: string audio_sources: description: The array of track names to include in the compositions created by the composition hook items: type: string nullable: true type: array audio_sources_excluded: description: The array of track names to exclude from the compositions created by the composition hook items: type: string nullable: true type: array date_created: description: The ISO 8601 date and time in GMT when the resource was created format: date-time nullable: true type: string date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated format: date-time nullable: true type: string enabled: description: Whether the CompositionHook is active nullable: true type: boolean format: description: The container format of the media files used by the compositions created by the composition hook enum: - mp4 - webm nullable: true type: string friendly_name: description: The string that you assigned to describe the resource nullable: true type: string resolution: description: The dimensions of the video image in pixels expressed as columns (width) and rows (height) nullable: true type: string sid: description: The unique string that identifies the resource maxLength: 34 minLength: 34 nullable: true pattern: ^HK[0-9a-fA-F]{32}$ type: string status_callback: description: The URL to send status information to your application format: uri nullable: true type: string status_callback_method: description: The HTTP method we should use to call status_callback enum: - HEAD - GET - POST - PATCH - PUT - DELETE nullable: true type: string trim: description: Whether intervals with no media are clipped nullable: true type: boolean url: description: The absolute URL of the resource format: uri nullable: true type: string video_layout: description: A JSON object that describes the video layout of the Composition nullable: true type: object type: object video.v1.composition_settings: properties: account_sid: description: The SID of the Account that created the resource maxLength: 34 minLength: 34 nullable: true pattern: ^AC[0-9a-fA-F]{32}$ type: string aws_credentials_sid: description: The SID of the stored Credential resource maxLength: 34 minLength: 34 nullable: true pattern: ^CR[0-9a-fA-F]{32}$ type: string aws_s3_url: description: The URL of the AWS S3 bucket where the compositions are stored format: uri nullable: true type: string aws_storage_enabled: description: Whether all compositions are written to the aws_s3_url nullable: true type: boolean encryption_enabled: description: Whether all compositions are stored in an encrypted form nullable: true type: boolean encryption_key_sid: description: The SID of the Public Key resource used for encryption maxLength: 34 minLength: 34 nullable: true pattern: ^CR[0-9a-fA-F]{32}$ type: string friendly_name: description: The string that you assigned to describe the resource nullable: true type: string url: description: The absolute URL of the resource format: uri nullable: true type: string type: object video.v1.recording: properties: account_sid: description: The SID of the Account that created the resource maxLength: 34 minLength: 34 nullable: true pattern: ^AC[0-9a-fA-F]{32}$ type: string codec: description: The codec used to encode the track enum: - VP8 - H264 - OPUS - PCMU nullable: true type: string container_format: description: The file format for the recording enum: - mka - mkv nullable: true type: string date_created: description: The ISO 8601 date and time in GMT when the resource was created format: date-time nullable: true type: string duration: description: The duration of the recording in seconds nullable: true type: integer grouping_sids: description: A list of SIDs related to the recording nullable: true type: object links: description: The URLs of related resources nullable: true type: object media_external_location: description: The URL of the media file associated with the recording when stored externally format: uri nullable: true type: string offset: description: The number of milliseconds between a point in time that is common to all rooms in a group and when the source room of the recording started nullable: true type: integer sid: description: The unique string that identifies the resource maxLength: 34 minLength: 34 nullable: true pattern: ^RT[0-9a-fA-F]{32}$ type: string size: description: The size of the recorded track, in bytes nullable: true type: integer source_sid: description: The SID of the recording source maxLength: 34 minLength: 34 nullable: true pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ type: string status: description: The status of the recording enum: - processing - completed - deleted - failed nullable: true type: string track_name: description: The name that was given to the source track of the recording nullable: true type: string type: description: The recording's media type enum: - audio - video - data nullable: true type: string url: description: The absolute URL of the resource format: uri nullable: true type: string type: object video.v1.recording_settings: properties: account_sid: description: The SID of the Account that created the resource maxLength: 34 minLength: 34 nullable: true pattern: ^AC[0-9a-fA-F]{32}$ type: string aws_credentials_sid: description: The SID of the stored Credential resource maxLength: 34 minLength: 34 nullable: true pattern: ^CR[0-9a-fA-F]{32}$ type: string aws_s3_url: description: The URL of the AWS S3 bucket where the recordings are stored format: uri nullable: true type: string aws_storage_enabled: description: Whether all recordings are written to the aws_s3_url nullable: true type: boolean encryption_enabled: description: Whether all recordings are stored in an encrypted form nullable: true type: boolean encryption_key_sid: description: The SID of the Public Key resource used for encryption maxLength: 34 minLength: 34 nullable: true pattern: ^CR[0-9a-fA-F]{32}$ type: string friendly_name: description: The string that you assigned to describe the resource nullable: true type: string url: description: The absolute URL of the resource format: uri nullable: true type: string type: object video.v1.room: properties: account_sid: description: The SID of the Account that created the resource maxLength: 34 minLength: 34 nullable: true pattern: ^AC[0-9a-fA-F]{32}$ type: string audio_only: description: Indicates whether the room will only contain audio track participants for group rooms. nullable: true type: boolean date_created: description: The ISO 8601 date and time in GMT when the resource was created format: date-time nullable: true type: string date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated format: date-time nullable: true type: string duration: description: The duration of the room in seconds nullable: true type: integer empty_room_timeout: description: The time a room will remain active after last participant leaves. nullable: true type: integer enable_turn: description: Enable Twilio's Network Traversal TURN service nullable: true type: boolean end_time: description: The UTC end time of the room in UTC ISO 8601 format format: date-time nullable: true type: string links: description: The URLs of related resources nullable: true type: object max_concurrent_published_tracks: description: The maximum number of published tracks allowed in the room at the same time nullable: true type: integer max_participant_duration: description: The maximum number of seconds a Participant can be connected to the room nullable: true type: integer max_participants: description: The maximum number of concurrent Participants allowed in the room nullable: true type: integer media_region: description: The region for the media server in Group Rooms nullable: true type: string record_participants_on_connect: description: Whether to start recording when Participants connect nullable: true type: boolean sid: description: The unique string that identifies the resource maxLength: 34 minLength: 34 nullable: true pattern: ^RM[0-9a-fA-F]{32}$ type: string status: description: The status of the room enum: - in-progress - completed - failed nullable: true type: string status_callback: description: The URL to send status information to your application format: uri nullable: true type: string status_callback_method: description: The HTTP method we use to call status_callback enum: - HEAD - GET - POST - PATCH - PUT - DELETE nullable: true type: string type: description: The type of room enum: - go - peer-to-peer - group - group-small nullable: true type: string unique_name: description: An application-defined string that uniquely identifies the resource nullable: true type: string unused_room_timeout: description: The time a room will remain active when no one joins. nullable: true type: integer url: description: The absolute URL of the resource format: uri nullable: true type: string video_codecs: description: An array of the video codecs that are supported when publishing a track in the room items: enum: - VP8 - H264 type: string nullable: true type: array type: object video.v1.room.room_participant: properties: account_sid: description: The SID of the Account that created the resource maxLength: 34 minLength: 34 nullable: true pattern: ^AC[0-9a-fA-F]{32}$ type: string date_created: description: The ISO 8601 date and time in GMT when the resource was created format: date-time nullable: true type: string date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated format: date-time nullable: true type: string duration: description: Duration of time in seconds the participant was connected nullable: true type: integer end_time: description: The time when the participant disconnected from the room in ISO 8601 format format: date-time nullable: true type: string identity: description: The string that identifies the resource's User nullable: true type: string links: description: The URLs of related resources nullable: true type: object room_sid: description: The SID of the participant's room maxLength: 34 minLength: 34 nullable: true pattern: ^RM[0-9a-fA-F]{32}$ type: string sid: description: The unique string that identifies the resource maxLength: 34 minLength: 34 nullable: true pattern: ^PA[0-9a-fA-F]{32}$ type: string start_time: description: The time of participant connected to the room in ISO 8601 format format: date-time nullable: true type: string status: description: The status of the Participant enum: - connected - disconnected nullable: true type: string url: description: The absolute URL of the resource format: uri nullable: true type: string type: object video.v1.room.room_participant.room_participant_published_track: properties: date_created: description: The ISO 8601 date and time in GMT when the resource was created format: date-time nullable: true type: string date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated format: date-time nullable: true type: string enabled: description: Whether the track is enabled nullable: true type: boolean kind: description: The track type enum: - audio - video - data nullable: true type: string name: description: The track name nullable: true type: string participant_sid: description: The SID of the Participant resource with the published track maxLength: 34 minLength: 34 nullable: true pattern: ^PA[0-9a-fA-F]{32}$ type: string room_sid: description: The SID of the Room resource where the track is published maxLength: 34 minLength: 34 nullable: true pattern: ^RM[0-9a-fA-F]{32}$ type: string sid: description: The unique string that identifies the resource maxLength: 34 minLength: 34 nullable: true pattern: ^MT[0-9a-fA-F]{32}$ type: string url: description: The absolute URL of the resource format: uri nullable: true type: string type: object video.v1.room.room_participant.room_participant_subscribe_rule: properties: date_created: description: The ISO 8601 date and time in GMT when the resource was created format: date-time nullable: true type: string date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated format: date-time nullable: true type: string participant_sid: description: The SID of the Participant resource for the Subscribe Rules maxLength: 34 minLength: 34 nullable: true pattern: ^PA[0-9a-fA-F]{32}$ type: string room_sid: description: The SID of the Room resource for the Subscribe Rules maxLength: 34 minLength: 34 nullable: true pattern: ^RM[0-9a-fA-F]{32}$ type: string rules: description: A collection of Subscribe Rules that describe how to include or exclude matching tracks items: type: object nullable: true type: array type: object video.v1.room.room_participant.room_participant_subscribed_track: properties: date_created: description: The ISO 8601 date and time in GMT when the resource was created format: date-time nullable: true type: string date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated format: date-time nullable: true type: string enabled: description: Whether the track is enabled nullable: true type: boolean kind: description: The track type enum: - audio - video - data nullable: true type: string name: description: The track name nullable: true type: string participant_sid: description: The SID of the participant that subscribes to the track maxLength: 34 minLength: 34 nullable: true pattern: ^PA[0-9a-fA-F]{32}$ type: string publisher_sid: description: The SID of the participant that publishes the track maxLength: 34 minLength: 34 nullable: true pattern: ^PA[0-9a-fA-F]{32}$ type: string room_sid: description: The SID of the room where the track is published maxLength: 34 minLength: 34 nullable: true pattern: ^RM[0-9a-fA-F]{32}$ type: string sid: description: The unique string that identifies the resource maxLength: 34 minLength: 34 nullable: true pattern: ^MT[0-9a-fA-F]{32}$ type: string url: description: The absolute URL of the resource format: uri nullable: true type: string type: object video.v1.room.room_recording: properties: account_sid: description: The SID of the Account that created the resource maxLength: 34 minLength: 34 nullable: true pattern: ^AC[0-9a-fA-F]{32}$ type: string codec: description: The codec used for the recording enum: - VP8 - H264 - OPUS - PCMU nullable: true type: string container_format: description: The file format for the recording enum: - mka - mkv nullable: true type: string date_created: description: The ISO 8601 date and time in GMT when the resource was created format: date-time nullable: true type: string duration: description: The duration of the recording in seconds nullable: true type: integer grouping_sids: description: A list of SIDs related to the Recording nullable: true type: object links: description: The URLs of related resources nullable: true type: object media_external_location: description: The URL of the media file associated with the recording when stored externally format: uri nullable: true type: string offset: description: The number of milliseconds between a point in time that is common to all rooms in a group and when the source room of the recording started nullable: true type: integer room_sid: description: The SID of the Room resource the recording is associated with maxLength: 34 minLength: 34 nullable: true pattern: ^RM[0-9a-fA-F]{32}$ type: string sid: description: The unique string that identifies the resource maxLength: 34 minLength: 34 nullable: true pattern: ^RT[0-9a-fA-F]{32}$ type: string size: description: The size of the recorded track in bytes nullable: true type: integer source_sid: description: The SID of the recording source maxLength: 34 minLength: 34 nullable: true pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ type: string status: description: The status of the recording enum: - processing - completed - deleted - failed nullable: true type: string track_name: description: The name that was given to the source track of the recording nullable: true type: string type: description: The recording's media type enum: - audio - video - data nullable: true type: string url: description: The absolute URL of the resource format: uri nullable: true type: string type: object video.v1.room.room_recording_rule: properties: date_created: description: The ISO 8601 date and time in GMT when the resource was created format: date-time nullable: true type: string date_updated: description: The ISO 8601 date and time in GMT when the resource was last updated format: date-time nullable: true type: string room_sid: description: The SID of the Room resource for the Recording Rules maxLength: 34 minLength: 34 nullable: true pattern: ^RM[0-9a-fA-F]{32}$ type: string rules: description: A collection of recording Rules that describe how to include or exclude matching tracks for recording items: properties: all: type: boolean kind: type: string publisher: type: string track: type: string type: type: string type: object nullable: true type: array type: object securitySchemes: accountSid_authToken: scheme: basic type: http info: contact: email: support@twilio.com name: Twilio Support url: https://support.twilio.com description: This is the public Twilio REST API. license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html termsOfService: https://www.twilio.com/legal/tos title: Twilio - Video version: 1.27.0 openapi: 3.0.1 paths: /v1/CompositionHooks: description: Recording composition hooks get: description: List of all Recording CompositionHook resources. operationId: ListCompositionHook parameters: - description: Read only CompositionHook resources with an `enabled` value that matches this parameter. in: query name: Enabled schema: type: boolean - description: Read only CompositionHook resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. in: query name: DateCreatedAfter schema: format: date-time type: string - description: Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. in: query name: DateCreatedBefore schema: format: date-time type: string - description: Read only CompositionHook resources with friendly names that match this string. The match is not case sensitive and can include asterisk `*` characters as wildcard match. in: query name: FriendlyName schema: type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query name: PageSize schema: maximum: 1000 minimum: 1 type: integer responses: '200': content: application/json: schema: properties: composition_hooks: items: $ref: '#/components/schemas/video.v1.composition_hook' type: array meta: properties: first_page_url: format: uri type: string key: type: string next_page_url: format: uri type: string page: type: integer page_size: type: integer previous_page_url: format: uri type: string url: format: uri type: string type: object title: ListCompositionHookResponse type: object description: OK security: - accountSid_authToken: [] x-maturity: - GA post: description: '' operationId: CreateCompositionHook requestBody: content: application/x-www-form-urlencoded: schema: properties: AudioSources: description: An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`. items: type: string type: array AudioSourcesExcluded: description: An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty. items: type: string type: array Enabled: description: Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook will never be triggered. type: boolean Format: description: 'The container format of the media files used by the compositions created by the composition hook. Can be: `mp4` or `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have one or more tracks and/or a `video_layout` element must contain a valid `video_sources` list, otherwise an error occurs.' enum: - mp4 - webm type: string FriendlyName: description: A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account. type: string Resolution: description: "A string that describes the columns (width) and rows\ \ (height) of the generated composed video in pixels. Defaults\ \ to `640x480`. \nThe string's format is `{width}x{height}` where:\ \ \n\n* 16 <= `{width}` <= 1280\n* 16 <= `{height}` <= 1280\n\ * `{width}` * `{height}` <= 921,600\n\nTypical values are: \n\n\ * HD = `1280x720`\n* PAL = `1024x576`\n* VGA = `640x480`\n* CIF\ \ = `320x240`\n\nNote that the `resolution` imposes an aspect\ \ ratio to the resulting composition. When the original video\ \ tracks are constrained by the aspect ratio, they are scaled\ \ to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)\ \ for more info." type: string StatusCallback: description: The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched. format: uri type: string StatusCallbackMethod: description: 'The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.' enum: - HEAD - GET - POST - PATCH - PUT - DELETE type: string Trim: description: Whether to clip the intervals where there is no active media in the Compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. type: boolean VideoLayout: description: An object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. type: object required: - FriendlyName title: CreateCompositionHookRequest type: object responses: '201': content: application/json: schema: $ref: '#/components/schemas/video.v1.composition_hook' description: Created security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - friendly_name - date_created pathType: list /v1/CompositionHooks/{Sid}: delete: description: Delete a Recording CompositionHook resource identified by a `CompositionHook SID`. operationId: DeleteCompositionHook parameters: - description: The SID of the CompositionHook resource to delete. in: path name: Sid required: true schema: maxLength: 34 minLength: 34 pattern: ^HK[0-9a-fA-F]{32}$ type: string responses: '204': description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA description: Recording composition hooks get: description: Returns a single CompositionHook resource identified by a CompositionHook SID. operationId: FetchCompositionHook parameters: - description: The SID of the CompositionHook resource to fetch. in: path name: Sid required: true schema: maxLength: 34 minLength: 34 pattern: ^HK[0-9a-fA-F]{32}$ type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.composition_hook' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: description: '' operationId: UpdateCompositionHook parameters: - description: The SID of the CompositionHook resource to update. in: path name: Sid required: true schema: maxLength: 34 minLength: 34 pattern: ^HK[0-9a-fA-F]{32}$ type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: AudioSources: description: An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`. items: type: string type: array AudioSourcesExcluded: description: An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty. items: type: string type: array Enabled: description: Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook never triggers. type: boolean Format: description: 'The container format of the media files used by the compositions created by the composition hook. Can be: `mp4` or `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have one or more tracks and/or a `video_layout` element must contain a valid `video_sources` list, otherwise an error occurs.' enum: - mp4 - webm type: string FriendlyName: description: A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account. type: string Resolution: description: "A string that describes the columns (width) and rows\ \ (height) of the generated composed video in pixels. Defaults\ \ to `640x480`. \nThe string's format is `{width}x{height}` where:\ \ \n\n* 16 <= `{width}` <= 1280\n* 16 <= `{height}` <= 1280\n\ * `{width}` * `{height}` <= 921,600\n\nTypical values are: \n\n\ * HD = `1280x720`\n* PAL = `1024x576`\n* VGA = `640x480`\n* CIF\ \ = `320x240`\n\nNote that the `resolution` imposes an aspect\ \ ratio to the resulting composition. When the original video\ \ tracks are constrained by the aspect ratio, they are scaled\ \ to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)\ \ for more info." type: string StatusCallback: description: The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched. format: uri type: string StatusCallbackMethod: description: 'The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.' enum: - HEAD - GET - POST - PATCH - PUT - DELETE type: string Trim: description: Whether to clip the intervals where there is no active media in the compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. type: boolean VideoLayout: description: A JSON object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. type: object required: - FriendlyName title: UpdateCompositionHookRequest type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.composition_hook' description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - friendly_name - date_created pathType: instance /v1/CompositionSettings/Default: description: Recording composition settings get: description: '' operationId: FetchCompositionSettings responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.composition_settings' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: description: '' operationId: CreateCompositionSettings requestBody: content: application/x-www-form-urlencoded: schema: properties: AwsCredentialsSid: description: The SID of the stored Credential resource. maxLength: 34 minLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ type: string AwsS3Url: description: 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. format: uri type: string AwsStorageEnabled: description: Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud. type: boolean EncryptionEnabled: description: Whether all compositions should be stored in an encrypted form. The default is `false`. type: boolean EncryptionKeySid: description: The SID of the Public Key resource to use for encryption. maxLength: 34 minLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ type: string FriendlyName: description: A descriptive string that you create to describe the resource and show to the user in the console type: string required: - FriendlyName title: CreateCompositionSettingsRequest type: object responses: '201': content: application/json: schema: $ref: '#/components/schemas/video.v1.composition_settings' description: Created security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - friendly_name - aws_storage_enabled - encryption_enabled pathType: instance /v1/Compositions: description: Recording compositions get: description: List of all Recording compositions. operationId: ListComposition parameters: - description: 'Read only Composition resources with this status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.' in: query name: Status schema: enum: - enqueued - processing - completed - deleted - failed type: string - description: Read only Composition resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone. in: query name: DateCreatedAfter schema: format: date-time type: string - description: Read only Composition resources created before this ISO 8601 date-time with time zone. in: query name: DateCreatedBefore schema: format: date-time type: string - description: Read only Composition resources with this Room SID. in: query name: RoomSid schema: maxLength: 34 minLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query name: PageSize schema: maximum: 1000 minimum: 1 type: integer responses: '200': content: application/json: schema: properties: compositions: items: $ref: '#/components/schemas/video.v1.composition' type: array meta: properties: first_page_url: format: uri type: string key: type: string next_page_url: format: uri type: string page: type: integer page_size: type: integer previous_page_url: format: uri type: string url: format: uri type: string type: object title: ListCompositionResponse type: object description: OK security: - accountSid_authToken: [] x-maturity: - GA post: description: '' operationId: CreateComposition requestBody: content: application/x-www-form-urlencoded: schema: properties: AudioSources: description: An array of track names from the same group room to merge into the new composition. Can include zero or more track names. The new composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which will match zero or more characters in a track name. For example, `student*` includes `student` as well as `studentTeam`. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request items: type: string type: array AudioSourcesExcluded: description: An array of track names to exclude. The new composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which will match zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty. items: type: string type: array Format: description: 'The container format of the composition''s media files. Can be: `mp4` or `webm` and the default is `webm`. If you specify `mp4` or `webm`, you must also specify one or more `audio_sources` and/or a `video_layout` element that contains a valid `video_sources` list, otherwise an error occurs.' enum: - mp4 - webm type: string Resolution: description: "A string that describes the columns (width) and rows\ \ (height) of the generated composed video in pixels. Defaults\ \ to `640x480`. \nThe string's format is `{width}x{height}` where:\ \ \n\n* 16 <= `{width}` <= 1280\n* 16 <= `{height}` <= 1280\n\ * `{width}` * `{height}` <= 921,600\n\nTypical values are: \n\n\ * HD = `1280x720`\n* PAL = `1024x576`\n* VGA = `640x480`\n* CIF\ \ = `320x240`\n\nNote that the `resolution` imposes an aspect\ \ ratio to the resulting composition. When the original video\ \ tracks are constrained by the aspect ratio, they are scaled\ \ to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts)\ \ for more info." type: string RoomSid: description: The SID of the Group Room with the media tracks to be used as composition sources. maxLength: 34 minLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ type: string StatusCallback: description: The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched. format: uri type: string StatusCallbackMethod: description: 'The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.' enum: - HEAD - GET - POST - PATCH - PUT - DELETE type: string Trim: description: Whether to clip the intervals where there is no active media in the composition. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. type: boolean VideoLayout: description: An object that describes the video layout of the composition in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request type: object required: - RoomSid title: CreateCompositionRequest type: object responses: '201': content: application/json: schema: $ref: '#/components/schemas/video.v1.composition' description: Created security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - status - resolution - format pathType: list /v1/Compositions/{Sid}: delete: description: Delete a Recording Composition resource identified by a Composition SID. operationId: DeleteComposition parameters: - description: The SID of the Composition resource to delete. in: path name: Sid required: true schema: maxLength: 34 minLength: 34 pattern: ^CJ[0-9a-fA-F]{32}$ type: string responses: '204': description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA description: Recording compositions get: description: Returns a single Composition resource identified by a Composition SID. operationId: FetchComposition parameters: - description: The SID of the Composition resource to fetch. in: path name: Sid required: true schema: maxLength: 34 minLength: 34 pattern: ^CJ[0-9a-fA-F]{32}$ type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.composition' description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - status - resolution - format pathType: instance /v1/RecordingSettings/Default: description: Recording settings get: description: '' operationId: FetchRecordingSettings responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.recording_settings' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: description: '' operationId: CreateRecordingSettings requestBody: content: application/x-www-form-urlencoded: schema: properties: AwsCredentialsSid: description: The SID of the stored Credential resource. maxLength: 34 minLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ type: string AwsS3Url: description: The URL of the AWS S3 bucket where the recordings should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/recordings`, where `recordings` is the path in which you want the recordings to be stored. This URL accepts only URI-valid characters, as described in the RFC 3986. format: uri type: string AwsStorageEnabled: description: Whether all recordings should be written to the `aws_s3_url`. When `false`, all recordings are stored in our cloud. type: boolean EncryptionEnabled: description: Whether all recordings should be stored in an encrypted form. The default is `false`. type: boolean EncryptionKeySid: description: The SID of the Public Key resource to use for encryption. maxLength: 34 minLength: 34 pattern: ^CR[0-9a-fA-F]{32}$ type: string FriendlyName: description: A descriptive string that you create to describe the resource and be shown to users in the console type: string required: - FriendlyName title: CreateRecordingSettingsRequest type: object responses: '201': content: application/json: schema: $ref: '#/components/schemas/video.v1.recording_settings' description: Created security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - friendly_name - aws_storage_enabled - encryption_enabled pathType: instance /v1/Recordings: description: Single-track, single-media recordings get: description: List of all Track recordings. operationId: ListRecording parameters: - description: 'Read only the recordings that have this status. Can be: `processing`, `completed`, or `deleted`.' in: query name: Status schema: enum: - processing - completed - deleted - failed type: string - description: Read only the recordings that have this `source_sid`. in: query name: SourceSid schema: maxLength: 34 minLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ type: string - description: Read only recordings with this `grouping_sid`, which may include a `participant_sid` and/or a `room_sid`. in: query name: GroupingSid schema: items: maxLength: 34 minLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ type: string type: array - description: Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone. in: query name: DateCreatedAfter schema: format: date-time type: string - description: Read only recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or `YYYY-MM-DDThh:mm:ssZ`. in: query name: DateCreatedBefore schema: format: date-time type: string - description: Read only recordings that have this media type. Can be either `audio` or `video`. in: query name: MediaType schema: enum: - audio - video - data type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query name: PageSize schema: maximum: 1000 minimum: 1 type: integer responses: '200': content: application/json: schema: properties: meta: properties: first_page_url: format: uri type: string key: type: string next_page_url: format: uri type: string page: type: integer page_size: type: integer previous_page_url: format: uri type: string url: format: uri type: string type: object recordings: items: $ref: '#/components/schemas/video.v1.recording' type: array title: ListRecordingResponse type: object description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - date_created - status - type - duration - codec pathType: list /v1/Recordings/{Sid}: delete: description: Delete a Recording resource identified by a Recording SID. operationId: DeleteRecording parameters: - description: The SID of the Recording resource to delete. in: path name: Sid required: true schema: maxLength: 34 minLength: 34 pattern: ^RT[0-9a-fA-F]{32}$ type: string responses: '204': description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA description: Single-track, single-media recordings get: description: Returns a single Recording resource identified by a Recording SID. operationId: FetchRecording parameters: - description: The SID of the Recording resource to fetch. in: path name: Sid required: true schema: maxLength: 34 minLength: 34 pattern: ^RT[0-9a-fA-F]{32}$ type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.recording' description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - date_created - status - type - duration - codec pathType: instance /v1/Rooms: description: Video rooms with one or more participants get: description: '' operationId: ListRoom parameters: - description: 'Read only the rooms with this status. Can be: `in-progress` (default) or `completed`' in: query name: Status schema: enum: - in-progress - completed - failed type: string - description: Read only rooms with the this `unique_name`. in: query name: UniqueName schema: type: string - description: Read only rooms that started on or after this date, given as `YYYY-MM-DD`. in: query name: DateCreatedAfter schema: format: date-time type: string - description: Read only rooms that started before this date, given as `YYYY-MM-DD`. in: query name: DateCreatedBefore schema: format: date-time type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query name: PageSize schema: maximum: 1000 minimum: 1 type: integer responses: '200': content: application/json: schema: properties: meta: properties: first_page_url: format: uri type: string key: type: string next_page_url: format: uri type: string page: type: integer page_size: type: integer previous_page_url: format: uri type: string url: format: uri type: string type: object rooms: items: $ref: '#/components/schemas/video.v1.room' type: array title: ListRoomResponse type: object description: OK security: - accountSid_authToken: [] x-maturity: - GA post: description: '' operationId: CreateRoom requestBody: content: application/x-www-form-urlencoded: schema: properties: AudioOnly: description: When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed. Group rooms only. type: boolean EmptyRoomTimeout: description: Configures how long (in minutes) a room will remain active after last participant leaves. Valid values range from 1 to 60 minutes (no fractions). type: integer EnableTurn: description: Deprecated, now always considered to be true. type: boolean MaxParticipantDuration: description: The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours). type: integer MaxParticipants: description: The maximum number of concurrent Participants allowed in the room. Peer-to-peer rooms can have up to 10 Participants. Small Group rooms can have up to 4 Participants. Group rooms can have up to 50 Participants. type: integer MediaRegion: description: 'The region for the media server in Group Rooms. Can be: one of the [available Media Regions](https://www.twilio.com/docs/video/ip-address-whitelisting#group-rooms-media-servers). ***This feature is not available in `peer-to-peer` rooms.***' type: string RecordParticipantsOnConnect: description: Whether to start recording when Participants connect. ***This feature is not available in `peer-to-peer` rooms.*** type: boolean RecordingRules: description: A collection of Recording Rules that describe how to include or exclude matching tracks for recording type: object StatusCallback: description: The URL we should call using the `status_callback_method` to send status information to your application on every room event. See [Status Callbacks](https://www.twilio.com/docs/video/api/status-callbacks) for more info. format: uri type: string StatusCallbackMethod: description: The HTTP method we should use to call `status_callback`. Can be `POST` or `GET`. enum: - HEAD - GET - POST - PATCH - PUT - DELETE type: string Type: description: 'The type of room. Can be: `go`, `peer-to-peer`, `group-small`, or `group`. The default value is `group`.' enum: - go - peer-to-peer - group - group-small type: string UniqueName: description: An application-defined string that uniquely identifies the resource. It can be used as a `room_sid` in place of the resource's `sid` in the URL to address the resource, assuming it does not contain any [reserved characters](https://tools.ietf.org/html/rfc3986#section-2.2) that would need to be URL encoded. This value is unique for `in-progress` rooms. SDK clients can use this name to connect to the room. REST API clients can use this name in place of the Room SID to interact with the room as long as the room is `in-progress`. type: string UnusedRoomTimeout: description: Configures how long (in minutes) a room will remain active if no one joins. Valid values range from 1 to 60 minutes (no fractions). type: integer VideoCodecs: description: 'An array of the video codecs that are supported when publishing a track in the room. Can be: `VP8` and `H264`. ***This feature is not available in `peer-to-peer` rooms***' items: enum: - VP8 - H264 type: string type: array title: CreateRoomRequest type: object responses: '201': content: application/json: schema: $ref: '#/components/schemas/video.v1.room' description: Created security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - unique_name - status pathType: list /v1/Rooms/{RoomSid}/Participants: description: Participants in video rooms get: description: '' operationId: ListRoomParticipant parameters: - description: The SID of the room with the Participant resources to read. in: path name: RoomSid required: true schema: type: string - description: 'Read only the participants with this status. Can be: `connected` or `disconnected`. For `in-progress` Rooms the default Status is `connected`, for `completed` Rooms only `disconnected` Participants are returned.' in: query name: Status schema: enum: - connected - disconnected type: string - description: Read only the Participants with this [User](https://www.twilio.com/docs/chat/rest/user-resource) `identity` value. in: query name: Identity schema: type: string - description: Read only Participants that started after this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format. in: query name: DateCreatedAfter schema: format: date-time type: string - description: Read only Participants that started before this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format. in: query name: DateCreatedBefore schema: format: date-time type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query name: PageSize schema: maximum: 1000 minimum: 1 type: integer responses: '200': content: application/json: schema: properties: meta: properties: first_page_url: format: uri type: string key: type: string next_page_url: format: uri type: string page: type: integer page_size: type: integer previous_page_url: format: uri type: string url: format: uri type: string type: object participants: items: $ref: '#/components/schemas/video.v1.room.room_participant' type: array title: ListRoomParticipantResponse type: object description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - identity - status pathType: list /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks: description: 'TODO: Resource-level docs' get: description: Returns a list of tracks associated with a given Participant. Only `currently` Published Tracks are in the list resource. operationId: ListRoomParticipantPublishedTrack parameters: - description: The SID of the Room resource where the Track resources to read are published. in: path name: RoomSid required: true schema: type: string - description: The SID of the Participant resource with the published tracks to read. in: path name: ParticipantSid required: true schema: type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query name: PageSize schema: maximum: 1000 minimum: 1 type: integer responses: '200': content: application/json: schema: properties: meta: properties: first_page_url: format: uri type: string key: type: string next_page_url: format: uri type: string page: type: integer page_size: type: integer previous_page_url: format: uri type: string url: format: uri type: string type: object published_tracks: items: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_published_track' type: array title: ListRoomParticipantPublishedTrackResponse type: object description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - name - enabled - kind pathType: list /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks/{Sid}: description: 'TODO: Resource-level docs' get: description: Returns a single Track resource represented by TrackName or SID. operationId: FetchRoomParticipantPublishedTrack parameters: - description: The SID of the Room resource where the Track resource to fetch is published. in: path name: RoomSid required: true schema: type: string - description: The SID of the Participant resource with the published track to fetch. in: path name: ParticipantSid required: true schema: type: string - description: The SID of the RoomParticipantPublishedTrack resource to fetch. in: path name: Sid required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_published_track' description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - name - enabled - kind pathType: instance /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribeRules: description: 'TODO: Resource-level docs' get: description: Returns a list of Subscribe Rules for the Participant. operationId: FetchRoomParticipantSubscribeRule parameters: - description: The SID of the Room resource where the subscribe rules to fetch apply. in: path name: RoomSid required: true schema: type: string - description: The SID of the Participant resource with the subscribe rules to fetch. in: path name: ParticipantSid required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_subscribe_rule' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: description: Update the Subscribe Rules for the Participant operationId: UpdateRoomParticipantSubscribeRule parameters: - description: The SID of the Room resource where the subscribe rules to update apply. in: path name: RoomSid required: true schema: type: string - description: The SID of the Participant resource to update the Subscribe Rules. in: path name: ParticipantSid required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: Rules: description: A JSON-encoded array of subscribe rules. See the [Specifying Subscribe Rules](https://www.twilio.com/docs/video/api/track-subscriptions#specifying-sr) section for further information. type: object title: UpdateRoomParticipantSubscribeRuleRequest type: object responses: '202': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_subscribe_rule' description: Accepted security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - participant_sid - room_sid - rules pathType: list /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks: description: 'TODO: Resource-level docs' get: description: Returns a list of tracks that are subscribed for the participant. operationId: ListRoomParticipantSubscribedTrack parameters: - description: The SID of the Room resource with the Track resources to read. in: path name: RoomSid required: true schema: type: string - description: The SID of the participant that subscribes to the Track resources to read. in: path name: ParticipantSid required: true schema: type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query name: PageSize schema: maximum: 1000 minimum: 1 type: integer responses: '200': content: application/json: schema: properties: meta: properties: first_page_url: format: uri type: string key: type: string next_page_url: format: uri type: string page: type: integer page_size: type: integer previous_page_url: format: uri type: string url: format: uri type: string type: object subscribed_tracks: items: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_subscribed_track' type: array title: ListRoomParticipantSubscribedTrackResponse type: object description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - name - enabled - kind pathType: list /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks/{Sid}: description: 'TODO: Resource-level docs' get: description: 'Returns a single Track resource represented by `track_sid`. Note: This is one resource with the Video API that requires a SID, be Track Name on the subscriber side is not guaranteed to be unique.' operationId: FetchRoomParticipantSubscribedTrack parameters: - description: The SID of the Room where the Track resource to fetch is subscribed. in: path name: RoomSid required: true schema: type: string - description: The SID of the participant that subscribes to the Track resource to fetch. in: path name: ParticipantSid required: true schema: type: string - description: The SID of the RoomParticipantSubscribedTrack resource to fetch. in: path name: Sid required: true schema: maxLength: 34 minLength: 34 pattern: ^MT[0-9a-fA-F]{32}$ type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_subscribed_track' description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - name - enabled - kind pathType: instance /v1/Rooms/{RoomSid}/Participants/{Sid}: description: Participants in video rooms get: description: '' operationId: FetchRoomParticipant parameters: - description: The SID of the room with the Participant resource to fetch. in: path name: RoomSid required: true schema: type: string - description: The SID of the RoomParticipant resource to fetch. in: path name: Sid required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: description: '' operationId: UpdateRoomParticipant parameters: - description: The SID of the room with the participant to update. in: path name: RoomSid required: true schema: type: string - description: The SID of the RoomParticipant resource to update. in: path name: Sid required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: Status: description: 'The new status of the resource. Can be: `connected` or `disconnected`. For `in-progress` Rooms the default Status is `connected`, for `completed` Rooms only `disconnected` Participants are returned.' enum: - connected - disconnected type: string title: UpdateRoomParticipantRequest type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant' description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - identity - status pathType: instance /v1/Rooms/{RoomSid}/RecordingRules: description: 'TODO: Resource-level docs' get: description: Returns a list of Recording Rules for the Room. operationId: FetchRoomRecordingRule parameters: - description: The SID of the Room resource where the recording rules to fetch apply. in: path name: RoomSid required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_recording_rule' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: description: Update the Recording Rules for the Room operationId: UpdateRoomRecordingRule parameters: - description: The SID of the Room resource where the recording rules to update apply. in: path name: RoomSid required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: Rules: description: A JSON-encoded array of recording rules. type: object title: UpdateRoomRecordingRuleRequest type: object responses: '202': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_recording_rule' description: Accepted security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - room_sid - rules pathType: list /v1/Rooms/{RoomSid}/Recordings: description: Single-track, single-media room recordings get: description: '' operationId: ListRoomRecording parameters: - description: The SID of the room with the RoomRecording resources to read. in: path name: RoomSid required: true schema: maxLength: 34 minLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ type: string - description: 'Read only the recordings with this status. Can be: `processing`, `completed`, or `deleted`.' in: query name: Status schema: enum: - processing - completed - deleted - failed type: string - description: Read only the recordings that have this `source_sid`. in: query name: SourceSid schema: maxLength: 34 minLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ type: string - description: Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. in: query name: DateCreatedAfter schema: format: date-time type: string - description: Read only Recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. in: query name: DateCreatedBefore schema: format: date-time type: string - description: How many resources to return in each list page. The default is 50, and the maximum is 1000. in: query name: PageSize schema: maximum: 1000 minimum: 1 type: integer responses: '200': content: application/json: schema: properties: meta: properties: first_page_url: format: uri type: string key: type: string next_page_url: format: uri type: string page: type: integer page_size: type: integer previous_page_url: format: uri type: string url: format: uri type: string type: object recordings: items: $ref: '#/components/schemas/video.v1.room.room_recording' type: array title: ListRoomRecordingResponse type: object description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - date_created - status - type - duration - codec pathType: list /v1/Rooms/{RoomSid}/Recordings/{Sid}: delete: description: '' operationId: DeleteRoomRecording parameters: - description: The SID of the room with the RoomRecording resource to delete. in: path name: RoomSid required: true schema: maxLength: 34 minLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ type: string - description: The SID of the RoomRecording resource to delete. in: path name: Sid required: true schema: maxLength: 34 minLength: 34 pattern: ^RT[0-9a-fA-F]{32}$ type: string responses: '204': description: The resource was deleted successfully. security: - accountSid_authToken: [] x-maturity: - GA description: Single-track, single-media room recordings get: description: '' operationId: FetchRoomRecording parameters: - description: The SID of the Room resource with the recording to fetch. in: path name: RoomSid required: true schema: maxLength: 34 minLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ type: string - description: The SID of the RoomRecording resource to fetch. in: path name: Sid required: true schema: maxLength: 34 minLength: 34 pattern: ^RT[0-9a-fA-F]{32}$ type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_recording' description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - date_created - status - type - duration - codec pathType: instance /v1/Rooms/{Sid}: description: Video rooms with one or more participants get: description: '' operationId: FetchRoom parameters: - description: The SID of the Room resource to fetch. in: path name: Sid required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room' description: OK security: - accountSid_authToken: [] x-maturity: - GA post: description: '' operationId: UpdateRoom parameters: - description: The SID of the Room resource to update. in: path name: Sid required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: properties: Status: description: The new status of the resource. Set to `completed` to end the room. enum: - in-progress - completed - failed type: string required: - Status title: UpdateRoomRequest type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room' description: OK security: - accountSid_authToken: [] x-maturity: - GA servers: - url: https://video.twilio.com x-twilio: defaultOutputProperties: - sid - unique_name - status pathType: instance servers: - url: https://video.twilio.com x-maturity: - description: This product is Generally Available. name: GA