openapi: 3.1.0 info: contact: email: support@telnyx.com description: Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform. title: Telnyx Access Tokens Room Sessions API version: 2.0.0 x-endpoint-cost: light servers: - description: Version 2.0.0 of the Telnyx API url: https://api.telnyx.com/v2 security: - bearerAuth: [] tags: - description: Rooms Sessions operations. name: Room Sessions paths: /room_sessions: get: description: '' operationId: ListRoomSessions parameters: - description: To decide if room participants should be included in the response. in: query name: include_participants schema: example: true type: boolean - description: 'Consolidated filter parameter (deepObject style). Originally: filter[date_created_at][eq], filter[date_created_at][gte], filter[date_created_at][lte], filter[date_updated_at][eq], filter[date_updated_at][gte], filter[date_updated_at][lte], filter[date_ended_at][eq], filter[date_ended_at][gte], filter[date_ended_at][lte], filter[room_id], filter[active]' explode: true in: query name: filter required: false schema: properties: active: description: Filter active or inactive room sessions. example: true type: boolean date_created_at: properties: eq: description: ISO 8601 date for filtering room sessions created on that date. example: '2021-04-25' format: date type: string gte: description: ISO 8601 date for filtering room sessions created on or after that date. example: '2021-04-25' format: date type: string lte: description: ISO 8601 date for filtering room sessions created on or before that date. example: '2021-04-25' format: date type: string type: object date_ended_at: properties: eq: description: ISO 8601 date for filtering room sessions ended on that date. example: '2021-04-25' format: date type: string gte: description: ISO 8601 date for filtering room sessions ended on or after that date. example: '2021-04-25' format: date type: string lte: description: ISO 8601 date for filtering room sessions ended on or before that date. example: '2021-04-25' format: date type: string type: object date_updated_at: properties: eq: description: ISO 8601 date for filtering room sessions updated on that date. example: '2021-04-25' format: date type: string gte: description: ISO 8601 date for filtering room sessions updated on or after that date. example: '2021-04-25' format: date type: string lte: description: ISO 8601 date for filtering room sessions updated on or before that date. example: '2021-04-25' format: date type: string type: object room_id: description: Room_id for filtering room sessions. example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 type: string type: object style: deepObject - $ref: '#/components/parameters/video_PageConsolidated' responses: '200': $ref: '#/components/responses/ListRoomSessionsResponse' 4XX: $ref: '#/components/responses/video_GenericErrorResponse' summary: View a list of room sessions. tags: - Room Sessions x-endpoint-cost: medium x-latency-category: responsive /room_sessions/{room_session_id}: get: operationId: ViewRoomSession parameters: - description: The unique identifier of a room session. in: path name: room_session_id required: true schema: example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 format: uuid type: string - description: To decide if room participants should be included in the response. in: query name: include_participants schema: example: true type: boolean responses: '200': $ref: '#/components/responses/GetRoomSessionResponse' '404': $ref: '#/components/responses/video_ResourceNotFound' summary: View a room session. tags: - Room Sessions x-endpoint-cost: light x-latency-category: responsive /room_sessions/{room_session_id}/actions/end: post: description: 'Note: this will also kick all participants currently present in the room' operationId: EndSession parameters: - description: The unique identifier of a room session. in: path name: room_session_id required: true schema: example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 format: uuid type: string responses: '200': $ref: '#/components/responses/ActionSuccessResponse' 4XX: $ref: '#/components/responses/video_GenericErrorResponse' security: [] summary: End a room session. tags: - Room Sessions x-endpoint-cost: medium x-latency-category: responsive /room_sessions/{room_session_id}/actions/kick: post: description: '' operationId: KickParticipantInSession parameters: - description: The unique identifier of a room session. in: path name: room_session_id required: true schema: example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ActionsParticipantsRequest' description: Parameters that can be defined during Kick action. required: true responses: '200': $ref: '#/components/responses/ActionSuccessResponse' 4XX: $ref: '#/components/responses/video_GenericErrorResponse' security: [] summary: Kick participants from a room session. tags: - Room Sessions x-endpoint-cost: medium x-latency-category: responsive /room_sessions/{room_session_id}/actions/mute: post: description: '' operationId: MuteParticipantInSession parameters: - description: The unique identifier of a room session. in: path name: room_session_id required: true schema: example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ActionsParticipantsRequest' description: Parameters that can be defined during Mute action. required: true responses: '200': $ref: '#/components/responses/ActionSuccessResponse' 4XX: $ref: '#/components/responses/video_GenericErrorResponse' security: [] summary: Mute participants in room session. tags: - Room Sessions x-endpoint-cost: medium x-latency-category: responsive /room_sessions/{room_session_id}/actions/unmute: post: description: '' operationId: UnmuteParticipantInSession parameters: - description: The unique identifier of a room session. in: path name: room_session_id required: true schema: example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ActionsParticipantsRequest' description: Parameters that can be defined during Unmute action. required: true responses: '200': $ref: '#/components/responses/ActionSuccessResponse' 4XX: $ref: '#/components/responses/video_GenericErrorResponse' security: [] summary: Unmute participants in room session. tags: - Room Sessions x-endpoint-cost: medium x-latency-category: responsive /room_sessions/{room_session_id}/participants: get: description: '' operationId: RetrieveListRoomParticipants parameters: - description: The unique identifier of a room session. in: path name: room_session_id required: true schema: example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 format: uuid type: string - description: 'Consolidated filter parameter (deepObject style). Originally: filter[date_joined_at][eq], filter[date_joined_at][gte], filter[date_joined_at][lte], filter[date_updated_at][eq], filter[date_updated_at][gte], filter[date_updated_at][lte], filter[date_left_at][eq], filter[date_left_at][gte], filter[date_left_at][lte], filter[context]' explode: true in: query name: filter required: false schema: properties: context: description: Filter room participants based on the context. example: Alice type: string date_joined_at: properties: eq: description: ISO 8601 date for filtering room participants that joined on that date. example: '2021-04-25' format: date type: string gte: description: ISO 8601 date for filtering room participants that joined on or after that date. example: '2021-04-25' format: date type: string lte: description: ISO 8601 date for filtering room participants that joined on or before that date. example: '2021-04-25' format: date type: string type: object date_left_at: properties: eq: description: ISO 8601 date for filtering room participants that left on that date. example: '2021-04-25' format: date type: string gte: description: ISO 8601 date for filtering room participants that left on or after that date. example: '2021-04-25' format: date type: string lte: description: ISO 8601 date for filtering room participants that left on or before that date. example: '2021-04-25' format: date type: string type: object date_updated_at: properties: eq: description: ISO 8601 date for filtering room participants updated on that date. example: '2021-04-25' format: date type: string gte: description: ISO 8601 date for filtering room participants updated on or after that date. example: '2021-04-25' format: date type: string lte: description: ISO 8601 date for filtering room participants updated on or before that date. example: '2021-04-25' format: date type: string type: object type: object style: deepObject - $ref: '#/components/parameters/video_PageConsolidated' responses: '200': $ref: '#/components/responses/ListRoomParticipantsResponse' 4XX: $ref: '#/components/responses/video_GenericErrorResponse' summary: View a list of room participants. tags: - Room Sessions x-endpoint-cost: medium x-latency-category: responsive components: schemas: ActionsParticipantsRequest: properties: exclude: description: List of participant id to exclude from the action. items: example: 7b61621f-62e0-4aad-ab11-9fd19e272e73 format: uuid type: string type: array participants: description: Either a list of participant id to perform the action on, or the keyword "all" to perform the action on all participant. oneOf: - enum: - all example: all type: string - items: example: 7b61621f-62e0-4aad-ab11-9fd19e272e73 format: uuid type: string type: array type: object RoomParticipant: example: context: Alice id: 7b61621f-62e0-4aad-ab11-9fd19e272e73 joined_at: '2021-04-16T09:46:20.954863Z' left_at: '2021-04-16T10:24:55.962200Z' record_type: room_participant session_id: 7b61621f-5fe4-4aad-ab11-9fd19e272e73 updated_at: '2021-04-16T10:24:55.962200Z' properties: context: description: Context provided to the given participant through the client SDK example: Alice type: string id: description: A unique identifier for the room participant. example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 format: uuid type: string joined_at: description: ISO 8601 timestamp when the participant joined the session. example: '2021-03-26T17:51:59.588408Z' format: date-time type: string left_at: description: ISO 8601 timestamp when the participant left the session. example: '2021-03-26T17:51:59.588408Z' format: date-time type: string record_type: example: room_participant readOnly: true type: string session_id: description: Identify the room session that participant is part of. example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777b0 format: uuid type: string updated_at: description: ISO 8601 timestamp when the participant was updated. example: '2021-03-26T17:51:59.588408Z' format: date-time type: string type: object PaginationMeta: properties: page_number: example: 2 type: integer page_size: example: 25 type: integer total_pages: example: 3 type: integer total_results: example: 55 type: integer type: object video_Error: properties: code: type: string detail: type: string meta: additionalProperties: true type: object source: properties: parameter: description: Indicates which query parameter caused the error. type: string pointer: description: JSON pointer (RFC6901) to the offending entity. type: string type: object title: type: string required: - code - title type: object RoomSession: example: active: false created_at: '2021-04-16T09:46:20.954863Z' ended_at: '2021-04-16T10:24:55.962200Z' id: 7b61621f-62e0-4aad-ab11-9fd19e272e73 participants: [] record_type: room_session room_id: 7b61621f-5fe4-4aad-ab11-9fd19e272e73 updated_at: '2021-04-16T10:24:55.962200Z' properties: active: description: Shows if the room session is active or not. example: false type: boolean created_at: description: ISO 8601 timestamp when the room session was created. example: '2021-03-26T17:51:59.588408Z' format: date-time type: string ended_at: description: ISO 8601 timestamp when the room session has ended. example: '2021-03-26T17:51:59.588408Z' format: date-time type: string id: description: A unique identifier for the room session. example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 format: uuid type: string participants: items: $ref: '#/components/schemas/RoomParticipant' type: array record_type: example: room_session readOnly: true type: string room_id: description: Identify the room hosting that room session. example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777b0 format: uuid type: string updated_at: description: ISO 8601 timestamp when the room session was updated. example: '2021-03-26T17:51:59.588408Z' format: date-time type: string type: object responses: ActionSuccessResponse: content: application/json: schema: properties: data: properties: result: example: ok type: string type: object type: object description: Success Action Response video_GenericErrorResponse: content: application/json: schema: properties: message: example: Error type: string success: example: false type: boolean type: object description: Unexpected error video_ResourceNotFound: content: application/json: schema: $ref: '#/components/schemas/video_Error' description: Resource not found ListRoomSessionsResponse: content: application/json: schema: properties: data: items: $ref: '#/components/schemas/RoomSession' type: array meta: $ref: '#/components/schemas/PaginationMeta' type: object description: List room sessions response. GetRoomSessionResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/RoomSession' type: object description: Get room session response. ListRoomParticipantsResponse: content: application/json: schema: properties: data: items: $ref: '#/components/schemas/RoomParticipant' type: array meta: $ref: '#/components/schemas/PaginationMeta' type: object description: List room participants response. parameters: video_PageConsolidated: description: 'Consolidated page parameter (deepObject style). Originally: page[size], page[number]' explode: true in: query name: page schema: properties: number: default: 1 description: The page number to load. minimum: 1 type: integer size: default: 20 description: The size of the page. maximum: 250 minimum: 1 type: integer type: object style: deepObject securitySchemes: bearerAuth: scheme: bearer type: http branded-calling_bearerAuth: description: API key passed as a Bearer token in the Authorization header scheme: bearer type: http oauthClientAuth: description: OAuth 2.0 authentication for Telnyx API and MCP integrations flows: authorizationCode: authorizationUrl: https://api.telnyx.com/v2/oauth/authorize refreshUrl: https://api.telnyx.com/v2/oauth/token scopes: admin: Administrative access to Telnyx resources tokenUrl: https://api.telnyx.com/v2/oauth/token clientCredentials: scopes: admin: Administrative access to Telnyx resources tokenUrl: https://api.telnyx.com/v2/oauth/token type: oauth2 outbound-voice-profiles_bearerAuth: bearerFormat: JWT scheme: bearer type: http pronunciation-dicts_bearerAuth: description: Telnyx API v2 key. Obtain from https://portal.telnyx.com scheme: bearer type: http stored-payment-transactions_bearerAuth: bearerFormat: JWT scheme: bearer type: http