openapi: 3.0.1 info: title: Twilio - Accounts A2p Rooms API description: This is the public Twilio REST API. termsOfService: https://www.twilio.com/legal/tos contact: name: Twilio Support url: https://support.twilio.com email: support@twilio.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html version: 1.52.0 servers: - url: https://accounts.twilio.com tags: - name: Rooms description: Create and manage video rooms paths: /Rooms: get: operationId: listRooms summary: Twilio List Rooms description: Retrieve a list of video rooms in your account. tags: - Rooms parameters: - name: Status in: query description: Filter by room status schema: type: string enum: - in-progress - completed - name: UniqueName in: query description: Filter by unique room name schema: type: string - name: DateCreatedAfter in: query schema: type: string format: date-time - name: DateCreatedBefore in: query schema: type: string format: date-time - name: PageSize in: query schema: type: integer minimum: 1 maximum: 100 responses: '200': description: List of rooms content: application/json: schema: $ref: '#/components/schemas/RoomList' '401': description: Unauthorized post: operationId: createRoom summary: Twilio Create a Room description: Create a new video room. Rooms can be configured as group rooms (up to 50 participants), small group rooms (up to 4), or peer-to-peer rooms (up to 10). tags: - Rooms requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateRoomRequest' responses: '201': description: Room created content: application/json: schema: $ref: '#/components/schemas/Room' '400': description: Invalid request '401': description: Unauthorized /Rooms/{RoomSid}: get: operationId: fetchRoom summary: Twilio Fetch a Room description: Retrieve details of a specific video room. tags: - Rooms parameters: - $ref: '#/components/parameters/RoomSid' responses: '200': description: Room details content: application/json: schema: $ref: '#/components/schemas/Room' '404': description: Room not found post: operationId: updateRoom summary: Twilio Update a Room description: End an in-progress room by setting its status to completed. tags: - Rooms parameters: - $ref: '#/components/parameters/RoomSid' requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object required: - Status properties: Status: type: string enum: - completed description: Set to completed to end the room responses: '200': description: Room updated content: application/json: schema: $ref: '#/components/schemas/Room' '404': description: Room not found /v1/Rooms/{Sid}: servers: - url: https://video.twilio.com description: Video rooms with one or more participants x-twilio: defaultOutputProperties: - sid - unique_name - status pathType: instance dependentProperties: recordings: mapping: room_sid: sid resource_url: /v1/Rooms/{room_sid}/Recordings participants: mapping: room_sid: sid resource_url: /v1/Rooms/{room_sid}/Participants recording_rules: mapping: room_sid: sid resource_url: /v1/Rooms/{room_sid}/RecordingRules get: description: '' tags: - Rooms parameters: - name: Sid in: path description: The SID of the Room resource to fetch. schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room' description: OK security: - accountSid_authToken: [] operationId: FetchRoom x-maturity: - GA post: description: '' tags: - Rooms parameters: - name: Sid in: path description: The SID of the Room resource to update. schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room' description: OK security: - accountSid_authToken: [] operationId: UpdateRoom x-maturity: - GA requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UpdateRoomRequest' /v1/Rooms: servers: - url: https://video.twilio.com description: Video rooms with one or more participants x-twilio: defaultOutputProperties: - sid - unique_name - status pathType: list dependentProperties: recordings: mapping: room_sid: sid resource_url: /v1/Rooms/{room_sid}/Recordings participants: mapping: room_sid: sid resource_url: /v1/Rooms/{room_sid}/Participants recording_rules: mapping: room_sid: sid resource_url: /v1/Rooms/{room_sid}/RecordingRules post: description: '' tags: - Rooms responses: '201': content: application/json: schema: $ref: '#/components/schemas/video.v1.room' description: Created security: - accountSid_authToken: [] operationId: CreateRoom x-maturity: - GA requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateRoomRequest_2' get: description: '' tags: - Rooms parameters: - name: Status in: query description: 'Read only the rooms with this status. Can be: `in-progress` (default) or `completed`' schema: type: string $ref: '#/components/schemas/room_enum_room_status' - name: UniqueName in: query description: Read only rooms with the this `unique_name`. schema: type: string - name: DateCreatedAfter in: query description: Read only rooms that started on or after this date, given as `YYYY-MM-DD`. schema: type: string format: date-time - name: DateCreatedBefore in: query description: Read only rooms that started before this date, given as `YYYY-MM-DD`. schema: type: string format: date-time - name: PageSize in: query description: How many resources to return in each list page. The default is 50, and the maximum is 1000. schema: type: integer minimum: 1 maximum: 1000 - name: Page in: query description: The page index. This value is simply for client state. schema: type: integer minimum: 0 - name: PageToken in: query description: The page token. This is provided by the API. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListRoomResponse' description: OK security: - accountSid_authToken: [] operationId: ListRoom x-maturity: - GA /v1/Rooms/{RoomSid}/Participants/{Sid}: servers: - url: https://video.twilio.com description: Participants in video rooms x-twilio: defaultOutputProperties: - sid - identity - status pathType: instance dependentProperties: published_tracks: mapping: room_sid: room_sid participant_sid: sid resource_url: /v1/Rooms/{room_sid}/Participants/{participant_sid}/PublishedTracks subscribed_tracks: mapping: room_sid: room_sid participant_sid: sid resource_url: /v1/Rooms/{room_sid}/Participants/{participant_sid}/SubscribedTracks subscribe_rules: mapping: room_sid: room_sid participant_sid: sid resource_url: /v1/Rooms/{room_sid}/Participants/{participant_sid}/SubscribeRules anonymize: mapping: room_sid: room_sid sid: sid resource_url: /v1None parent: /Rooms/{Sid} get: description: '' tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the room with the Participant resource to fetch. schema: type: string required: true - name: Sid in: path description: The SID of the RoomParticipant resource to fetch. schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant' description: OK security: - accountSid_authToken: [] operationId: FetchRoomParticipant x-maturity: - GA post: description: '' tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the room with the participant to update. schema: type: string required: true - name: Sid in: path description: The SID of the RoomParticipant resource to update. schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant' description: OK security: - accountSid_authToken: [] operationId: UpdateRoomParticipant x-maturity: - GA requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UpdateRoomParticipantRequest' /v1/Rooms/{RoomSid}/Participants: servers: - url: https://video.twilio.com description: Participants in video rooms x-twilio: defaultOutputProperties: - sid - identity - status pathType: list dependentProperties: published_tracks: mapping: room_sid: room_sid participant_sid: sid resource_url: /v1/Rooms/{room_sid}/Participants/{participant_sid}/PublishedTracks subscribed_tracks: mapping: room_sid: room_sid participant_sid: sid resource_url: /v1/Rooms/{room_sid}/Participants/{participant_sid}/SubscribedTracks subscribe_rules: mapping: room_sid: room_sid participant_sid: sid resource_url: /v1/Rooms/{room_sid}/Participants/{participant_sid}/SubscribeRules anonymize: mapping: room_sid: room_sid sid: sid resource_url: /v1None parent: /Rooms/{Sid} get: description: '' tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the room with the Participant resources to read. schema: type: string required: true - name: Status in: query 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.' schema: type: string $ref: '#/components/schemas/room_participant_enum_status' - name: Identity in: query description: Read only the Participants with this [User](https://www.twilio.com/docs/chat/rest/user-resource) `identity` value. schema: type: string - name: DateCreatedAfter in: query description: Read only Participants that started after this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format. schema: type: string format: date-time - name: DateCreatedBefore in: query description: Read only Participants that started before this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format. schema: type: string format: date-time - name: PageSize in: query description: How many resources to return in each list page. The default is 50, and the maximum is 1000. schema: type: integer minimum: 1 maximum: 1000 - name: Page in: query description: The page index. This value is simply for client state. schema: type: integer minimum: 0 - name: PageToken in: query description: The page token. This is provided by the API. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListRoomParticipantResponse' description: OK security: - accountSid_authToken: [] operationId: ListRoomParticipant x-maturity: - GA /v1/Rooms/{RoomSid}/Participants/{Sid}/Anonymize: servers: - url: https://video.twilio.com description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - identity - status pathType: instance parent: /Rooms/{RoomSid}/Participants/{Sid} post: description: '' tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the room with the participant to update. schema: type: string required: true - name: Sid in: path description: The SID of the RoomParticipant resource to update. schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_anonymize' description: OK security: - accountSid_authToken: [] operationId: UpdateRoomParticipantAnonymize x-maturity: - GA /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks/{Sid}: servers: - url: https://video.twilio.com description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - name - enabled - kind pathType: instance parent: /Rooms/{RoomSid}/Participants/{Sid} get: description: Returns a single Track resource represented by TrackName or SID. tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the Room resource where the Track resource to fetch is published. schema: type: string required: true - name: ParticipantSid in: path description: The SID of the Participant resource with the published track to fetch. schema: type: string required: true - name: Sid in: path description: The SID of the RoomParticipantPublishedTrack resource to fetch. schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_published_track' description: OK security: - accountSid_authToken: [] operationId: FetchRoomParticipantPublishedTrack x-maturity: - GA /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks: servers: - url: https://video.twilio.com description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - name - enabled - kind pathType: list parent: /Rooms/{RoomSid}/Participants/{Sid} get: description: Returns a list of tracks associated with a given Participant. Only `currently` Published Tracks are in the list resource. tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the Room resource where the Track resources to read are published. schema: type: string required: true - name: ParticipantSid in: path description: The SID of the Participant resource with the published tracks to read. schema: type: string required: true - name: PageSize in: query description: How many resources to return in each list page. The default is 50, and the maximum is 1000. schema: type: integer minimum: 1 maximum: 1000 - name: Page in: query description: The page index. This value is simply for client state. schema: type: integer minimum: 0 - name: PageToken in: query description: The page token. This is provided by the API. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListRoomParticipantPublishedTrackResponse' description: OK security: - accountSid_authToken: [] operationId: ListRoomParticipantPublishedTrack x-maturity: - GA /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribeRules: servers: - url: https://video.twilio.com description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - participant_sid - room_sid - rules pathType: list parent: /Rooms/{RoomSid}/Participants/{Sid} className: subscribe_rules get: description: Returns a list of Subscribe Rules for the Participant. tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the Room resource where the subscribe rules to fetch apply. schema: type: string required: true - name: ParticipantSid in: path description: The SID of the Participant resource with the subscribe rules to fetch. schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_subscribe_rule' description: OK security: - accountSid_authToken: [] operationId: FetchRoomParticipantSubscribeRule x-maturity: - GA post: description: Update the Subscribe Rules for the Participant tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the Room resource where the subscribe rules to update apply. schema: type: string required: true - name: ParticipantSid in: path description: The SID of the Participant resource to update the Subscribe Rules. schema: type: string required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_subscribe_rule' description: Accepted security: - accountSid_authToken: [] operationId: UpdateRoomParticipantSubscribeRule x-maturity: - GA requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UpdateRoomParticipantSubscribeRuleRequest' /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks/{Sid}: servers: - url: https://video.twilio.com description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - name - enabled - kind pathType: instance parent: /Rooms/{RoomSid}/Participants/{Sid} 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.' tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the Room where the Track resource to fetch is subscribed. schema: type: string required: true - name: ParticipantSid in: path description: The SID of the participant that subscribes to the Track resource to fetch. schema: type: string required: true - name: Sid in: path description: The SID of the RoomParticipantSubscribedTrack resource to fetch. schema: type: string minLength: 34 maxLength: 34 pattern: ^MT[0-9a-fA-F]{32}$ required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_subscribed_track' description: OK security: - accountSid_authToken: [] operationId: FetchRoomParticipantSubscribedTrack x-maturity: - GA /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks: servers: - url: https://video.twilio.com description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - sid - name - enabled - kind pathType: list parent: /Rooms/{RoomSid}/Participants/{Sid} get: description: Returns a list of tracks that are subscribed for the participant. tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the Room resource with the Track resources to read. schema: type: string required: true - name: ParticipantSid in: path description: The SID of the participant that subscribes to the Track resources to read. schema: type: string required: true - name: PageSize in: query description: How many resources to return in each list page. The default is 50, and the maximum is 1000. schema: type: integer minimum: 1 maximum: 1000 - name: Page in: query description: The page index. This value is simply for client state. schema: type: integer minimum: 0 - name: PageToken in: query description: The page token. This is provided by the API. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListRoomParticipantSubscribedTrackResponse' description: OK security: - accountSid_authToken: [] operationId: ListRoomParticipantSubscribedTrack x-maturity: - GA /v1/Rooms/{RoomSid}/Recordings/{Sid}: servers: - url: https://video.twilio.com description: Single-track, single-media room recordings x-twilio: defaultOutputProperties: - sid - date_created - status - type - duration - codec pathType: instance dependentProperties: media: mapping: room_sid: room_sid sid: sid resource_url: /v1None parent: /Rooms/{Sid} className: room_recording get: description: '' tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the Room resource with the recording to fetch. schema: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ required: true - name: Sid in: path description: The SID of the RoomRecording resource to fetch. schema: type: string minLength: 34 maxLength: 34 pattern: ^RT[0-9a-fA-F]{32}$ required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_recording' description: OK security: - accountSid_authToken: [] operationId: FetchRoomRecording x-maturity: - GA delete: description: '' tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the room with the RoomRecording resource to delete. schema: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ required: true - name: Sid in: path description: The SID of the RoomRecording resource to delete. schema: type: string minLength: 34 maxLength: 34 pattern: ^RT[0-9a-fA-F]{32}$ required: true responses: '204': description: The resource was deleted successfully. security: - accountSid_authToken: [] operationId: DeleteRoomRecording x-maturity: - GA /v1/Rooms/{RoomSid}/Recordings: servers: - url: https://video.twilio.com description: Single-track, single-media room recordings x-twilio: defaultOutputProperties: - sid - date_created - status - type - duration - codec pathType: list dependentProperties: media: mapping: room_sid: room_sid sid: sid resource_url: /v1None parent: /Rooms/{Sid} className: room_recording get: description: '' tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the room with the RoomRecording resources to read. schema: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ required: true - name: Status in: query description: 'Read only the recordings with this status. Can be: `processing`, `completed`, or `deleted`.' schema: type: string $ref: '#/components/schemas/room_recording_enum_status' - name: SourceSid in: query description: Read only the recordings that have this `source_sid`. schema: type: string minLength: 34 maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ - name: DateCreatedAfter in: query description: Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. schema: type: string format: date-time - name: DateCreatedBefore in: query description: Read only Recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone. schema: type: string format: date-time - name: PageSize in: query description: How many resources to return in each list page. The default is 50, and the maximum is 1000. schema: type: integer minimum: 1 maximum: 1000 - name: Page in: query description: The page index. This value is simply for client state. schema: type: integer minimum: 0 - name: PageToken in: query description: The page token. This is provided by the API. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListRoomRecordingResponse' description: OK security: - accountSid_authToken: [] operationId: ListRoomRecording x-maturity: - GA /v1/Rooms/{RoomSid}/RecordingRules: servers: - url: https://video.twilio.com description: 'TODO: Resource-level docs' x-twilio: defaultOutputProperties: - room_sid - rules pathType: list parent: /Rooms/{Sid} className: recording_rules get: description: Returns a list of Recording Rules for the Room. tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the Room resource where the recording rules to fetch apply. schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_recording_rule' description: OK security: - accountSid_authToken: [] operationId: FetchRoomRecordingRule x-maturity: - GA post: description: Update the Recording Rules for the Room tags: - Rooms parameters: - name: RoomSid in: path description: The SID of the Room resource where the recording rules to update apply. schema: type: string required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/video.v1.room.room_recording_rule' description: Accepted security: - accountSid_authToken: [] operationId: UpdateRoomRecordingRule x-maturity: - GA requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UpdateRoomRecordingRuleRequest' components: schemas: UpdateRoomParticipantSubscribeRuleRequest: type: object 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. RoomList: type: object properties: rooms: type: array items: $ref: '#/components/schemas/Room' meta: $ref: '#/components/schemas/PaginationMeta' UpdateRoomRecordingRuleRequest: type: object properties: Rules: description: A JSON-encoded array of recording rules. ListRoomRecordingResponse: type: object properties: recordings: type: array items: $ref: '#/components/schemas/video.v1.room.room_recording' meta: type: object properties: first_page_url: type: string format: uri next_page_url: type: string format: uri nullable: true page: type: integer page_size: type: integer previous_page_url: type: string format: uri nullable: true url: type: string format: uri key: type: string video.v1.room.room_participant.room_participant_subscribe_rule: type: object properties: participant_sid: type: string minLength: 34 maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ nullable: true description: The SID of the Participant resource for the Subscribe Rules. room_sid: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ nullable: true description: The SID of the Room resource for the Subscribe Rules rules: type: array items: type: object format: subscribe-rule properties: type: type: string all: type: boolean publisher: type: string track: type: string kind: type: string priority: type: string nullable: true description: A collection of Subscribe Rules that describe how to include or exclude matching tracks. See the [Specifying Subscribe Rules](https://www.twilio.com/docs/video/api/track-subscriptions#specifying-sr) section for further information. date_created: type: string format: date-time nullable: true description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. date_updated: type: string format: date-time nullable: true description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. video.v1.room.room_participant.room_participant_subscribed_track: type: object properties: sid: type: string minLength: 34 maxLength: 34 pattern: ^MT[0-9a-fA-F]{32}$ nullable: true description: The unique string that we created to identify the RoomParticipantSubscribedTrack resource. participant_sid: type: string minLength: 34 maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ nullable: true description: The SID of the participant that subscribes to the track. publisher_sid: type: string minLength: 34 maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ nullable: true description: The SID of the participant that publishes the track. room_sid: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ nullable: true description: The SID of the room where the track is published. name: type: string nullable: true description: The track name. Must have no more than 128 characters and be unique among the participant's published tracks. date_created: type: string format: date-time nullable: true description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. date_updated: type: string format: date-time nullable: true description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. enabled: type: boolean nullable: true description: Whether the track is enabled. kind: type: string $ref: '#/components/schemas/room_participant_subscribed_track_enum_kind' nullable: true description: 'The track type. Can be: `audio`, `video` or `data`.' url: type: string format: uri nullable: true description: The absolute URL of the resource. video.v1.room.room_recording_rule: type: object properties: room_sid: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ nullable: true description: The SID of the Room resource for the Recording Rules rules: type: array items: type: object format: recording-rule properties: type: type: string all: type: boolean publisher: type: string track: type: string kind: type: string nullable: true description: A collection of Recording Rules that describe how to include or exclude matching tracks for recording date_created: type: string format: date-time nullable: true description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. date_updated: type: string format: date-time nullable: true description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. CreateRoomRequest_2: type: object properties: EnableTurn: type: boolean description: Deprecated, now always considered to be true. Type: type: string $ref: '#/components/schemas/room_enum_room_type' description: 'The type of room. Can be: `go`, `peer-to-peer`, `group-small`, or `group`. The default value is `group`.' UniqueName: type: string 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`. StatusCallback: type: string format: uri 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. StatusCallbackMethod: type: string format: http-method enum: - HEAD - GET - POST - PATCH - PUT - DELETE description: The HTTP method we should use to call `status_callback`. Can be `POST` or `GET`. MaxParticipants: type: integer 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. RecordParticipantsOnConnect: type: boolean description: Whether to start recording when Participants connect. ***This feature is not available in `peer-to-peer` rooms.*** VideoCodecs: type: array items: type: string $ref: '#/components/schemas/room_enum_video_codec' 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***' MediaRegion: type: string 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-addresses#group-rooms-media-servers). ***This feature is not available in `peer-to-peer` rooms.***' RecordingRules: description: A collection of Recording Rules that describe how to include or exclude matching tracks for recording AudioOnly: type: boolean 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. MaxParticipantDuration: type: integer 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). EmptyRoomTimeout: type: integer 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). UnusedRoomTimeout: type: integer 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). LargeRoom: type: boolean description: When set to true, indicated that this is the large room. Room: type: object properties: sid: type: string pattern: ^RM[0-9a-fA-F]{32}$ description: Unique identifier for the room account_sid: type: string pattern: ^AC[0-9a-fA-F]{32}$ unique_name: type: string description: Unique name of the room status: type: string enum: - in-progress - completed - failed description: Current status of the room type: type: string enum: - go - peer-to-peer - group - group-small description: Type of room max_participants: type: integer description: Maximum number of participants allowed max_participant_duration: type: integer description: Maximum duration per participant in seconds max_concurrent_published_tracks: type: integer description: Maximum number of published tracks duration: type: integer description: Duration of the room in seconds record_participants_on_connect: type: boolean description: Whether to record participants upon connection video_codecs: type: array items: type: string enum: - VP8 - H264 media_region: type: string description: Region where media is processed audio_only: type: boolean empty_room_timeout: type: integer description: Minutes before an empty room times out unused_room_timeout: type: integer description: Minutes before an unused room times out end_time: type: string format: date-time date_created: type: string format: date-time date_updated: type: string format: date-time url: type: string format: uri links: type: object properties: participants: type: string format: uri recordings: type: string format: uri recording_rules: type: string format: uri video.v1.room: type: object properties: sid: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ nullable: true description: The unique string that we created to identify the Room resource. status: type: string $ref: '#/components/schemas/room_enum_room_status' nullable: true description: 'The status of the room. Can be: `in-progress`, `failed`, or `completed`.' date_created: type: string format: date-time nullable: true description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. date_updated: type: string format: date-time nullable: true description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. account_sid: type: string minLength: 34 maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ nullable: true description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Room resource. enable_turn: type: boolean nullable: true description: Deprecated, now always considered to be true. unique_name: type: string nullable: true 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`. status_callback: type: string format: uri nullable: true description: The URL we 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. status_callback_method: type: string format: http-method enum: - HEAD - GET - POST - PATCH - PUT - DELETE nullable: true description: The HTTP method we use to call `status_callback`. Can be `POST` or `GET` and defaults to `POST`. end_time: type: string format: date-time nullable: true description: The UTC end time of the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format. duration: type: integer nullable: true description: The duration of the room in seconds. type: type: string $ref: '#/components/schemas/room_enum_room_type' nullable: true description: 'The type of room. Can be: `go`, `peer-to-peer`, `group-small`, or `group`. The default value is `group`.' max_participants: type: integer nullable: true description: 'The maximum number of concurrent Participants allowed in the room. ' max_participant_duration: type: integer nullable: true 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). max_concurrent_published_tracks: type: integer nullable: true description: The maximum number of published audio, video, and data tracks all participants combined are allowed to publish in the room at the same time. Check [Programmable Video Limits](https://www.twilio.com/docs/video/programmable-video-limits) for more details. If it is set to 0 it means unconstrained. record_participants_on_connect: type: boolean nullable: true description: Whether to start recording when Participants connect. ***This feature is not available in `peer-to-peer` rooms.*** video_codecs: type: array items: type: string $ref: '#/components/schemas/room_enum_video_codec' nullable: true 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***' media_region: type: string nullable: true 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-addresses#media-servers). ***This feature is not available in `peer-to-peer` rooms.***' audio_only: type: boolean nullable: true 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. empty_room_timeout: type: integer nullable: true description: Specifies how long (in minutes) a room will remain active after last participant leaves. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed. unused_room_timeout: type: integer nullable: true description: Specifies how long (in minutes) a room will remain active if no one joins. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed. large_room: type: boolean nullable: true description: Indicates if this is a large room. url: type: string format: uri nullable: true description: The absolute URL of the resource. links: type: object format: uri-map nullable: true description: The URLs of related resources. ListRoomResponse: type: object properties: rooms: type: array items: $ref: '#/components/schemas/video.v1.room' meta: type: object properties: first_page_url: type: string format: uri next_page_url: type: string format: uri nullable: true page: type: integer page_size: type: integer previous_page_url: type: string format: uri nullable: true url: type: string format: uri key: type: string room_enum_room_status: type: string enum: - in-progress - completed - failed UpdateRoomRequest: type: object required: - Status properties: Status: type: string $ref: '#/components/schemas/room_enum_room_status' description: The new status of the resource. Set to `completed` to end the room. room_recording_enum_format: type: string enum: - mka - mkv video.v1.room.room_recording: type: object properties: account_sid: type: string minLength: 34 maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ nullable: true description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the RoomRecording resource. status: type: string $ref: '#/components/schemas/room_recording_enum_status' nullable: true description: 'The status of the recording. Can be: `processing`, `completed`, or `deleted`. `processing` indicates the Recording is still being captured. `completed` indicates the Recording has been captured and is now available for download. `deleted` means the recording media has been deleted from the system, but its metadata is still available for historical purposes.' date_created: type: string format: date-time nullable: true description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. sid: type: string minLength: 34 maxLength: 34 pattern: ^RT[0-9a-fA-F]{32}$ nullable: true description: The unique string that we created to identify the RoomRecording resource. source_sid: type: string minLength: 34 maxLength: 34 pattern: ^[a-zA-Z]{2}[0-9a-fA-F]{32}$ nullable: true description: The SID of the recording source. For a Room Recording, this value is a `track_sid`. size: type: integer format: int64 nullable: true description: The size of the recorded track in bytes. url: type: string format: uri nullable: true description: The absolute URL of the resource. type: type: string $ref: '#/components/schemas/room_recording_enum_type' nullable: true description: 'The recording''s media type. Can be: `audio` or `video`.' duration: type: integer nullable: true description: The duration of the recording rounded to the nearest second. Sub-second duration tracks have a `duration` of 1 second container_format: type: string $ref: '#/components/schemas/room_recording_enum_format' nullable: true description: 'The file format for the recording. Can be: `mka` or `mkv`. Video Room recordings are captured in [Matroska container format](https://matroska.org/), `mka` is for audio files and `mkv` for video files.' codec: type: string $ref: '#/components/schemas/room_recording_enum_codec' nullable: true description: 'The codec used for the recording. Can be: `VP8` or `H264`.' grouping_sids: nullable: true description: A list of SIDs related to the Recording. Includes the `room_sid` and `participant_sid`. track_name: type: string nullable: true description: The name that was given to the source track of the recording. If no name is given, the `source_sid` is used. offset: type: integer format: int64 nullable: true description: The time in milliseconds elapsed between an arbitrary point in time, common to all group rooms, and the moment when the source room of this track started. This information provides a synchronization mechanism for recordings belonging to the same room. media_external_location: type: string format: uri nullable: true description: The URL of the media file associated with the recording when stored externally. See [External S3 Recordings](/docs/video/api/external-s3-recordings) for more details. room_sid: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ nullable: true description: The SID of the Room resource the recording is associated with. links: type: object format: uri-map nullable: true description: The URLs of related resources. UpdateRoomParticipantRequest: type: object properties: Status: type: string $ref: '#/components/schemas/room_participant_enum_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.' room_participant_published_track_enum_kind: type: string enum: - audio - video - data CreateRoomRequest: type: object properties: UniqueName: type: string description: Unique name for the room Type: type: string enum: - go - peer-to-peer - group - group-small default: group description: Type of room MaxParticipants: type: integer description: Maximum number of concurrent participants default: 50 MaxParticipantDuration: type: integer description: Maximum participant duration in seconds default: 14400 RecordParticipantsOnConnect: type: boolean description: Whether to automatically record participants default: false VideoCodecs: type: array items: type: string enum: - VP8 - H264 MediaRegion: type: string description: Region where media is processed StatusCallback: type: string format: uri description: URL for room event webhooks StatusCallbackMethod: type: string enum: - GET - POST EmptyRoomTimeout: type: integer description: Minutes to keep an empty room alive UnusedRoomTimeout: type: integer description: Minutes to keep an unused room alive AudioOnly: type: boolean description: Create an audio-only room room_participant_enum_status: type: string enum: - connected - disconnected room_recording_enum_status: type: string enum: - processing - completed - deleted - failed ListRoomParticipantSubscribedTrackResponse: type: object properties: subscribed_tracks: type: array items: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_subscribed_track' meta: type: object properties: first_page_url: type: string format: uri next_page_url: type: string format: uri nullable: true page: type: integer page_size: type: integer previous_page_url: type: string format: uri nullable: true url: type: string format: uri key: type: string room_recording_enum_type: type: string enum: - audio - video - data ListRoomParticipantResponse: type: object properties: participants: type: array items: $ref: '#/components/schemas/video.v1.room.room_participant' meta: type: object properties: first_page_url: type: string format: uri next_page_url: type: string format: uri nullable: true page: type: integer page_size: type: integer previous_page_url: type: string format: uri nullable: true url: type: string format: uri key: type: string ListRoomParticipantPublishedTrackResponse: type: object properties: published_tracks: type: array items: $ref: '#/components/schemas/video.v1.room.room_participant.room_participant_published_track' meta: type: object properties: first_page_url: type: string format: uri next_page_url: type: string format: uri nullable: true page: type: integer page_size: type: integer previous_page_url: type: string format: uri nullable: true url: type: string format: uri key: type: string room_participant_subscribed_track_enum_kind: type: string enum: - audio - video - data video.v1.room.room_participant.room_participant_anonymize: type: object properties: sid: type: string minLength: 34 maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ nullable: true description: The unique string that we created to identify the RoomParticipant resource. room_sid: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ nullable: true description: The SID of the participant's room. account_sid: type: string minLength: 34 maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ nullable: true description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the RoomParticipant resource. status: type: string $ref: '#/components/schemas/room_participant_anonymize_enum_status' nullable: true description: 'The status of the Participant. Can be: `connected` or `disconnected`.' identity: type: string minLength: 34 maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ nullable: true description: The SID of the participant. date_created: type: string format: date-time nullable: true description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. date_updated: type: string format: date-time nullable: true description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. start_time: type: string format: date-time nullable: true description: The time of participant connected to the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format. end_time: type: string format: date-time nullable: true description: The time when the participant disconnected from the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format. duration: type: integer nullable: true description: The duration in seconds that the participant was `connected`. Populated only after the participant is `disconnected`. url: type: string format: uri nullable: true description: The absolute URL of the resource. room_enum_video_codec: type: string enum: - VP8 - H264 video.v1.room.room_participant.room_participant_published_track: type: object properties: sid: type: string minLength: 34 maxLength: 34 pattern: ^MT[0-9a-fA-F]{32}$ nullable: true description: The unique string that we created to identify the RoomParticipantPublishedTrack resource. participant_sid: type: string minLength: 34 maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ nullable: true description: The SID of the Participant resource with the published track. room_sid: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ nullable: true description: The SID of the Room resource where the track is published. name: type: string nullable: true description: The track name. Must be no more than 128 characters, and be unique among the participant's published tracks. date_created: type: string format: date-time nullable: true description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. date_updated: type: string format: date-time nullable: true description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. enabled: type: boolean nullable: true description: Whether the track is enabled. kind: type: string $ref: '#/components/schemas/room_participant_published_track_enum_kind' nullable: true description: 'The track type. Can be: `audio`, `video` or `data`.' url: type: string format: uri nullable: true description: The absolute URL of the resource. room_recording_enum_codec: type: string enum: - VP8 - H264 - OPUS - PCMU PaginationMeta: type: object properties: page: type: integer page_size: type: integer first_page_url: type: string format: uri previous_page_url: type: string format: uri next_page_url: type: string format: uri url: type: string format: uri key: type: string room_participant_anonymize_enum_status: type: string enum: - connected - disconnected video.v1.room.room_participant: type: object properties: sid: type: string minLength: 34 maxLength: 34 pattern: ^PA[0-9a-fA-F]{32}$ nullable: true description: The unique string that we created to identify the RoomParticipant resource. room_sid: type: string minLength: 34 maxLength: 34 pattern: ^RM[0-9a-fA-F]{32}$ nullable: true description: The SID of the participant's room. account_sid: type: string minLength: 34 maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ nullable: true description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the RoomParticipant resource. status: type: string $ref: '#/components/schemas/room_participant_enum_status' nullable: true description: 'The status of the Participant. Can be: `connected` or `disconnected`.' identity: type: string nullable: true description: 'The application-defined string that uniquely identifies the resource''s User within a Room. If a client joins with an existing Identity, the existing client is disconnected. See [access tokens](https://www.twilio.com/docs/video/tutorials/user-identity-access-tokens) and [limits](https://www.twilio.com/docs/video/programmable-video-limits) for more info. ' date_created: type: string format: date-time nullable: true description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. date_updated: type: string format: date-time nullable: true description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. start_time: type: string format: date-time nullable: true description: The time of participant connected to the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format. end_time: type: string format: date-time nullable: true description: The time when the participant disconnected from the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format. duration: type: integer nullable: true description: The duration in seconds that the participant was `connected`. Populated only after the participant is `disconnected`. url: type: string format: uri nullable: true description: The absolute URL of the resource. links: type: object format: uri-map nullable: true description: The URLs of related resources. room_enum_room_type: type: string enum: - go - peer-to-peer - group - group-small parameters: RoomSid: name: RoomSid in: path required: true description: The SID or unique name of the room schema: type: string securitySchemes: accountSid_authToken: type: http scheme: basic x-maturity: - name: GA description: This product is Generally Available. - name: Beta description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.