openapi: 3.0.3 info: title: Stream product:chat product:video API version: v228.3.0 servers: - description: Stream API url: https://chat.stream-io-api.com security: - JWT: [] api_key: [] stream-auth-type: [] - api_key: [] stream-auth-type: [] tags: - name: product:video paths: /api/v2/video/active_calls_status: get: description: 'Get the current status of all active calls including metrics and summary information ' operationId: GetActiveCallsStatus responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetActiveCallsStatusResponse' description: GetActiveCallsStatusResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get active calls status tags: - product:video /api/v2/video/call/{type}/{id}: get: description: ' ' operationId: GetCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' - in: query name: members_limit schema: format: int32 maximum: 100 minimum: 0 type: integer writeOnly: true x-stream-index: '004' - in: query name: ring schema: type: boolean writeOnly: true x-stream-index: '005' - in: query name: notify schema: type: boolean writeOnly: true x-stream-index: '006' - in: query name: video schema: type: boolean writeOnly: true x-stream-index: '007' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCallResponse' description: GetCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Call tags: - product:video patch: description: ' Sends events: - call.updated ' operationId: UpdateCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCallRequest' description: UpdateCallRequest required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateCallResponse' description: UpdateCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update Call tags: - product:video post: description: 'Gets or creates a new call Sends events: - call.created - call.notification - call.ring ' operationId: GetOrCreateCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetOrCreateCallRequest' description: GetOrCreateCallRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GetOrCreateCallResponse' description: GetOrCreateCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create a call tags: - product:video /api/v2/video/call/{type}/{id}/{session}/recordings/{filename}: delete: description: 'Deletes recording ' operationId: DeleteRecording parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: filename required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '004' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteRecordingResponse' description: DeleteRecordingResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete recording tags: - product:video /api/v2/video/call/{type}/{id}/{session}/transcriptions/{filename}: delete: description: 'Deletes transcription ' operationId: DeleteTranscription parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: filename required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '004' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteTranscriptionResponse' description: DeleteTranscriptionResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete transcription tags: - product:video /api/v2/video/call/{type}/{id}/block: post: description: 'Block a user, preventing them from joining the call until they are unblocked. Sends events: - call.blocked_user ' operationId: BlockUser parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/BlockUserRequest' description: BlockUserRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/BlockUserResponse' description: BlockUserResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Block user on a call tags: - product:video /api/v2/video/call/{type}/{id}/closed_captions: post: description: 'Sends a closed caption event to the call Sends events: - call.closed_caption ' operationId: SendClosedCaption parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendClosedCaptionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SendClosedCaptionResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send closed caption tags: - product:video /api/v2/video/call/{type}/{id}/delete: post: description: ' Sends events: - call.deleted ' operationId: DeleteCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteCallRequest' description: DeleteCallRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteCallResponse' description: DeleteCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete Call tags: - product:video /api/v2/video/call/{type}/{id}/event: post: description: 'Sends custom event to the call Sends events: - custom ' operationId: SendCallEvent parameters: - in: path name: type required: true schema: maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendCallEventRequest' description: SendCallEventRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SendCallEventResponse' description: SendCallEventResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send custom event tags: - product:video /api/v2/video/call/{type}/{id}/feedback: post: description: ' Sends events: - call.user_feedback_submitted ' operationId: CollectUserFeedback parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/CollectUserFeedbackRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CollectUserFeedbackResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Collect user feedback tags: - product:video /api/v2/video/call/{type}/{id}/go_live: post: description: ' Sends events: - call.live_started ' operationId: GoLive parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/GoLiveRequest' description: GoLiveRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GoLiveResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Set call as live tags: - product:video /api/v2/video/call/{type}/{id}/kick: post: description: 'Kicks a user from the call. Optionally block the user from rejoining by setting block=true. Sends events: - call.blocked_user - call.kicked_user ' operationId: KickUser parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/KickUserRequest' description: KickUserRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/KickUserResponse' description: KickUserResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Kick user from a call tags: - product:video /api/v2/video/call/{type}/{id}/mark_ended: post: description: ' Sends events: - call.ended ' operationId: EndCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' responses: '201': content: application/json: schema: $ref: '#/components/schemas/EndCallResponse' description: EndCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: End call tags: - product:video /api/v2/video/call/{type}/{id}/members: post: description: ' Sends events: - call.member_added - call.member_removed - call.member_updated ' operationId: UpdateCallMembers parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCallMembersRequest' description: UpdateCallMembersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateCallMembersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update Call Member tags: - product:video /api/v2/video/call/{type}/{id}/mute_users: post: description: 'Mutes users in a call ' operationId: MuteUsers parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/MuteUsersRequest' description: MuteUsersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MuteUsersResponse' description: MuteUsersResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mute users tags: - product:video /api/v2/video/call/{type}/{id}/participants: post: description: 'Returns a list of participants connected to the call ' operationId: QueryCallParticipants parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: type required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' - in: query name: limit schema: format: int32 maximum: 100 type: integer x-stream-index: '004' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCallParticipantsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCallParticipantsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call participants tags: - product:video /api/v2/video/call/{type}/{id}/pin: post: description: 'Pins a track for all users in the call. ' operationId: VideoPin parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/PinRequest' description: PinRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PinResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Pin tags: - product:video /api/v2/video/call/{type}/{id}/recordings: get: description: 'Lists recordings ' operationId: ListRecordings parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListRecordingsResponse' description: ListRecordingsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List recordings tags: - product:video /api/v2/video/call/{type}/{id}/recordings/{recording_type}/start: post: description: 'Starts recording Sends events: - call.recording_started ' operationId: StartRecording parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' - in: path name: recording_type required: true schema: description: 'Type of recording to start. One of: all, composite, individual, raw' enum: - composite - individual - raw title: Recording Type type: string x-stream-index: '004' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartRecordingRequest' description: StartRecordingRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartRecordingResponse' description: StartRecordingResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start recording tags: - product:video /api/v2/video/call/{type}/{id}/recordings/{recording_type}/stop: post: description: 'Stops recording Sends events: - call.recording_stopped ' operationId: StopRecording parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' - in: path name: recording_type required: true schema: enum: - composite - individual - raw type: string x-stream-index: '003' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopRecordingRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopRecordingResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop recording tags: - product:video /api/v2/video/call/{type}/{id}/report: get: description: ' ' operationId: GetCallReport parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' - in: query name: session_id schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCallReportResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get call report tags: - product:video /api/v2/video/call/{type}/{id}/ring: post: description: 'Sends a ring notification to the provided users who are not already in the call. All users should be members of the call Sends events: - call.ring ' operationId: RingCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/RingCallRequest' description: RingCallRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/RingCallResponse' description: RingCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Ring Call Users tags: - product:video /api/v2/video/call/{type}/{id}/rtmp_broadcasts: post: description: 'Starts RTMP broadcasts for the provided RTMP destinations ' operationId: StartRTMPBroadcasts parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartRTMPBroadcastsRequest' description: StartRTMPBroadcastsRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartRTMPBroadcastsResponse' description: StartRTMPBroadcastsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start RTMP broadcasts tags: - product:video /api/v2/video/call/{type}/{id}/rtmp_broadcasts/{name}/stop: post: description: 'Stop RTMP broadcasts for the provided RTMP destinations ' operationId: StopRTMPBroadcast parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopRTMPBroadcastsRequest' description: StopRTMPBroadcastsRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopRTMPBroadcastsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop RTMP broadcasts tags: - product:video /api/v2/video/call/{type}/{id}/rtmp_broadcasts/stop: post: description: 'Stop all RTMP broadcasts for the provided call ' operationId: StopAllRTMPBroadcasts parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopAllRTMPBroadcastsResponse' description: StopAllRTMPBroadcastsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop all RTMP broadcasts for a call tags: - product:video /api/v2/video/call/{type}/{id}/session/{session}/participant/{user}/{user_session}/details/track: get: description: ' ' operationId: GetCallParticipantSessionMetrics parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002.002' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: user required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '004' - in: path name: user_session required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '005' - in: query name: since schema: format: date-time type: number writeOnly: true x-stream-index: '006' - in: query name: until schema: format: date-time type: number writeOnly: true x-stream-index: '007' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCallParticipantSessionMetricsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get call participant session metrics tags: - product:video /api/v2/video/call/{type}/{id}/session/{session}/participant_sessions: get: description: ' ' operationId: QueryCallParticipantSessions parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003.002' - in: path name: session required: true schema: type: string writeOnly: true x-stream-index: '004' - in: query name: limit schema: format: int32 maximum: 100 minimum: 0 type: integer writeOnly: true x-stream-index: '002.001' - in: query name: prev schema: type: string writeOnly: true x-stream-index: '002.002' - in: query name: next schema: type: string writeOnly: true x-stream-index: '002.003' - in: query name: filter_conditions schema: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object writeOnly: true x-stream-filter-fields: is_live: operators: - $eq type: boolean is_tech_user: operators: - $eq type: boolean published_tracks: operators: - $eq - $in type: string publisher_type: operators: - $eq - $in type: string session_id: operators: - $eq - $in type: string user_id: operators: - $eq - $in type: string x-stream-index: '005' responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryCallParticipantSessionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call participant sessions tags: - product:video /api/v2/video/call/{type}/{id}/start_broadcasting: post: description: 'Starts HLS broadcasting ' operationId: StartHLSBroadcasting parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartHLSBroadcastingResponse' description: StartHLSBroadcastingResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start HLS broadcasting tags: - product:video /api/v2/video/call/{type}/{id}/start_closed_captions: post: description: 'Starts closed captions ' operationId: StartClosedCaptions parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartClosedCaptionsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartClosedCaptionsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start closed captions tags: - product:video /api/v2/video/call/{type}/{id}/start_frame_recording: post: description: 'Starts frame by frame recording Sends events: - call.frame_recording_started ' operationId: StartFrameRecording parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartFrameRecordingRequest' description: StartFrameRecordingRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartFrameRecordingResponse' description: StartFrameRecordingResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start frame recording tags: - product:video /api/v2/video/call/{type}/{id}/start_transcription: post: description: 'Starts transcription ' operationId: StartTranscription parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartTranscriptionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartTranscriptionResponse' description: StartTranscriptionResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start transcription tags: - product:video /api/v2/video/call/{type}/{id}/stop_broadcasting: post: description: 'Stops HLS broadcasting ' operationId: StopHLSBroadcasting parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopHLSBroadcastingResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop HLS broadcasting tags: - product:video /api/v2/video/call/{type}/{id}/stop_closed_captions: post: description: 'Stops closed captions Sends events: - call.transcription_stopped ' operationId: StopClosedCaptions parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopClosedCaptionsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopClosedCaptionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop closed captions tags: - product:video /api/v2/video/call/{type}/{id}/stop_frame_recording: post: description: 'Stops frame recording Sends events: - call.frame_recording_stopped ' operationId: StopFrameRecording parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopFrameRecordingResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop frame recording tags: - product:video /api/v2/video/call/{type}/{id}/stop_live: post: description: ' Sends events: - call.updated ' operationId: StopLive parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopLiveRequest' description: StopLiveRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopLiveResponse' description: StopLiveResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Set call as not live tags: - product:video /api/v2/video/call/{type}/{id}/stop_transcription: post: description: 'Stops transcription Sends events: - call.transcription_stopped ' operationId: StopTranscription parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopTranscriptionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopTranscriptionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop transcription tags: - product:video /api/v2/video/call/{type}/{id}/transcriptions: get: description: 'Lists transcriptions ' operationId: ListTranscriptions parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListTranscriptionsResponse' description: ListTranscriptionsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List transcriptions tags: - product:video /api/v2/video/call/{type}/{id}/unblock: post: description: 'Removes the block for a user on a call. The user will be able to join the call again. Sends events: - call.unblocked_user ' operationId: UnblockUser parameters: - in: path name: type required: true schema: maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001' - in: path name: id required: true schema: maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UnblockUserRequest' description: UnblockUserRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnblockUserResponse' description: UnblockUserResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unblocks user on a call tags: - product:video /api/v2/video/call/{type}/{id}/unpin: post: description: 'Unpins a track for all users in the call. ' operationId: VideoUnpin parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UnpinRequest' description: UnpinRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnpinResponse' description: UnpinResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unpin tags: - product:video /api/v2/video/call/{type}/{id}/user_permissions: post: description: 'Updates user permissions Sends events: - call.permissions_updated ' operationId: UpdateUserPermissions parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '005.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '005.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUserPermissionsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateUserPermissionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update user permissions tags: - product:video /api/v2/video/call/feedback: post: description: ' ' operationId: QueryUserFeedback parameters: - in: query name: full schema: type: boolean writeOnly: true x-stream-index: '003' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryUserFeedbackRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryUserFeedbackResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query user reported feedback for the calls tags: - product:video /api/v2/video/call/members: post: description: 'Query call members with filter query ' operationId: QueryCallMembers requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCallMembersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCallMembersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call members tags: - product:video /api/v2/video/call/stats: post: description: ' ' operationId: QueryCallStats requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCallStatsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCallStatsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Call Stats tags: - product:video /api/v2/video/call_stats: post: description: ' ' operationId: QueryCallSessionStats requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCallSessionStatsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCallSessionStatsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call session stats tags: - product:video /api/v2/video/call_stats/{call_type}/{call_id}/{session}/map: get: description: ' ' operationId: GetCallStatsMap parameters: - in: path name: call_type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002' - in: path name: call_id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '004' - in: query name: start_time schema: format: date-time type: number writeOnly: true x-stream-index: '005' - in: query name: end_time schema: format: date-time type: number writeOnly: true x-stream-index: '006' - in: query name: exclude_publishers schema: type: boolean writeOnly: true x-stream-index: '007' - in: query name: exclude_subscribers schema: type: boolean writeOnly: true x-stream-index: 008 - in: query name: exclude_sfus schema: type: boolean writeOnly: true x-stream-index: 009 responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryCallStatsMapResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Map call participants by location tags: - product:video /api/v2/video/call_stats/{call_type}/{call_id}/{session}/participant/{user}/{user_session}/details: get: description: ' ' operationId: GetCallSessionParticipantStatsDetails parameters: - in: path name: call_type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002' - in: path name: call_id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '004' - in: path name: user required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '005' - in: path name: user_session required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '006' - in: query name: since schema: type: string writeOnly: true x-stream-index: '007' - in: query name: until schema: type: string writeOnly: true x-stream-index: 008 - in: query name: max_points schema: format: int32 maximum: 4096 minimum: 1 type: integer writeOnly: true x-stream-index: 009 responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCallSessionParticipantStatsDetailsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get call session participant stats details tags: - product:video /api/v2/video/call_stats/{call_type}/{call_id}/{session}/participants: get: description: ' ' operationId: QueryCallSessionParticipantStats parameters: - in: path name: call_type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002' - in: path name: call_id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '004' - in: query name: sort schema: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 1 title: Sort type: array writeOnly: true x-stream-index: '005' - in: query name: filter_conditions schema: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object writeOnly: true x-stream-filter-fields: is_live: operators: - $eq type: boolean is_tech_user: operators: - $eq type: boolean published_tracks: operators: - $eq - $in type: string publisher_type: operators: - $eq - $in type: string session_id: operators: - $eq - $in type: string user_id: operators: - $eq - $in type: string x-stream-index: '006' - in: query name: limit schema: format: int32 maximum: 100 minimum: 0 type: integer writeOnly: true x-stream-index: '007.001' - in: query name: prev schema: type: string writeOnly: true x-stream-index: '007.002' - in: query name: next schema: type: string writeOnly: true x-stream-index: '007.003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryCallSessionParticipantStatsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call participant statistics tags: - product:video /api/v2/video/call_stats/{call_type}/{call_id}/{session}/participants/{user}/{user_session}/timeline: get: description: ' ' operationId: GetCallSessionParticipantStatsTimeline parameters: - in: path name: call_type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002' - in: path name: call_id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '004' - in: path name: user required: true schema: maxLength: 128 type: string writeOnly: true x-stream-index: '005' - in: path name: user_session required: true schema: maxLength: 128 type: string writeOnly: true x-stream-index: '006' - in: query name: start_time schema: type: string writeOnly: true x-stream-index: '007' - in: query name: end_time schema: type: string writeOnly: true x-stream-index: 008 - in: query name: severity schema: items: type: string type: array writeOnly: true x-stream-index: 009 responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryCallSessionParticipantStatsTimelineResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get participant timeline events tags: - product:video /api/v2/video/calls: post: description: 'Query calls with filter query ' operationId: QueryCalls requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCallsRequest' description: QueryCallsRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCallsResponse' description: QueryCallsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call tags: - product:video /api/v2/video/calltypes: get: description: ' ' operationId: ListCallTypes responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListCallTypeResponse' description: ListCallTypeResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List Call Type tags: - product:video post: description: ' ' operationId: CreateCallType requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCallTypeRequest' description: CreateCallTypeRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateCallTypeResponse' description: CreateCallTypeResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create Call Type tags: - product:video /api/v2/video/calltypes/{name}: delete: description: ' ' operationId: DeleteCallType parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete Call Type tags: - product:video get: description: ' ' operationId: GetCallType parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCallTypeResponse' description: GetCallTypeResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Call Type tags: - product:video put: description: ' ' operationId: UpdateCallType parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCallTypeRequest' description: UpdateCallTypeRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateCallTypeResponse' description: UpdateCallTypeResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update Call Type tags: - product:video /api/v2/video/edges: get: description: 'Returns the list of all edges available for video calls. ' operationId: GetEdges responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetEdgesResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Edges tags: - product:video /api/v2/video/sip/auth: post: description: 'Determine authentication requirements for an inbound SIP call before sending a digest challenge ' operationId: ResolveSipAuth requestBody: content: application/json: schema: $ref: '#/components/schemas/ResolveSipAuthRequest' description: ResolveSipAuthRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResolveSipAuthResponse' description: ResolveSipAuthResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Resolve SIP Auth tags: - product:video /api/v2/video/sip/inbound_routing_rules: get: description: 'List all SIP Inbound Routing Rules for the application ' operationId: ListSIPInboundRoutingRule responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListSIPInboundRoutingRuleResponse' description: ListSIPInboundRoutingRuleResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List SIP Inbound Routing Rules tags: - product:video post: description: 'Create a new SIP Inbound Routing Rule with either direct routing or PIN routing configuration ' operationId: CreateSIPInboundRoutingRule requestBody: content: application/json: schema: $ref: '#/components/schemas/SIPInboundRoutingRuleRequest' description: SIPInboundRoutingRuleRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SIPInboundRoutingRuleResponse' description: SIPInboundRoutingRuleResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create SIP Inbound Routing Rule tags: - product:video /api/v2/video/sip/inbound_routing_rules/{id}: delete: description: 'Delete a SIP Inbound Routing Rule for the application ' operationId: DeleteSIPInboundRoutingRule parameters: - in: path name: id required: true schema: description: ID of the SIP Inbound Routing Rule to delete maxLength: 255 title: string type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteSIPInboundRoutingRuleResponse' description: DeleteSIPInboundRoutingRuleResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete SIP Inbound Routing Rule tags: - product:video put: description: 'Update an existing SIP Inbound Routing Rule with new configuration ' operationId: UpdateSIPInboundRoutingRule parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSIPInboundRoutingRuleRequest' description: UpdateSIPInboundRoutingRuleRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateSIPInboundRoutingRuleResponse' description: UpdateSIPInboundRoutingRuleResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update SIP Inbound Routing Rule tags: - product:video /api/v2/video/sip/inbound_trunks: get: description: 'List all SIP trunks for the application ' operationId: ListSIPTrunks responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListSIPTrunksResponse' description: ListSIPTrunksResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List SIP Trunks tags: - product:video post: description: 'Create a new SIP trunk for the application ' operationId: CreateSIPTrunk requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSIPTrunkRequest' description: CreateSIPTrunkRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateSIPTrunkResponse' description: CreateSIPTrunkResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create SIP Trunk tags: - product:video /api/v2/video/sip/inbound_trunks/{id}: delete: description: 'Delete a SIP trunk for the application ' operationId: DeleteSIPTrunk parameters: - in: path name: id required: true schema: description: ID of the SIP trunk to delete maxLength: 255 title: string type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteSIPTrunkResponse' description: DeleteSIPTrunkResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete SIP Trunk tags: - product:video put: description: 'Update a SIP trunk for the application ' operationId: UpdateSIPTrunk parameters: - in: path name: id required: true schema: description: ID of the SIP trunk to update maxLength: 255 title: string type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSIPTrunkRequest' description: UpdateSIPTrunkRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateSIPTrunkResponse' description: UpdateSIPTrunkResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update SIP Trunk tags: - product:video /api/v2/video/sip/resolve: post: description: 'Resolve SIP inbound routing based on trunk number, caller number, and challenge authentication ' operationId: ResolveSipInbound requestBody: content: application/json: schema: $ref: '#/components/schemas/ResolveSipInboundRequest' description: ResolveSipInboundRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResolveSipInboundResponse' description: ResolveSipInboundResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Resolve SIP Inbound Routing tags: - product:video /api/v2/video/stats: post: description: ' ' operationId: QueryAggregateCallStats requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryAggregateCallStatsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryAggregateCallStatsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Aggregate call Stats tags: - product:video /video/active_calls_status: get: description: 'Get the current status of all active calls including metrics and summary information ' operationId: GetActiveCallsStatus responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetActiveCallsStatusResponse_2' description: GetActiveCallsStatusResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get active calls status tags: - product:video /video/call/{type}/{id}: get: description: ' ' operationId: GetCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' - in: query name: members_limit schema: format: int32 maximum: 100 minimum: 0 type: integer writeOnly: true x-stream-index: '004' - in: query name: ring schema: type: boolean writeOnly: true x-stream-index: '005' - in: query name: notify schema: type: boolean writeOnly: true x-stream-index: '006' - in: query name: video schema: type: boolean writeOnly: true x-stream-index: '007' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCallResponse' description: GetCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Call tags: - product:video patch: description: ' Sends events: - call.updated ' operationId: UpdateCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCallRequest_2' description: UpdateCallRequest required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateCallResponse' description: UpdateCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update Call tags: - product:video post: description: 'Gets or creates a new call Sends events: - call.created - call.notification - call.ring ' operationId: GetOrCreateCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetOrCreateCallRequest' description: GetOrCreateCallRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GetOrCreateCallResponse' description: GetOrCreateCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create a call tags: - product:video /video/call/{type}/{id}/{session}/recordings/{filename}: delete: description: 'Deletes recording ' operationId: DeleteRecording parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: filename required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '004' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteRecordingResponse' description: DeleteRecordingResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete recording tags: - product:video /video/call/{type}/{id}/{session}/transcriptions/{filename}: delete: description: 'Deletes transcription ' operationId: DeleteTranscription parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: filename required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '004' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteTranscriptionResponse' description: DeleteTranscriptionResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete transcription tags: - product:video /video/call/{type}/{id}/block: post: description: 'Block a user, preventing them from joining the call until they are unblocked. Sends events: - call.blocked_user ' operationId: BlockUser parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/BlockUserRequest' description: BlockUserRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/BlockUserResponse' description: BlockUserResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Block user on a call tags: - product:video /video/call/{type}/{id}/closed_captions: post: description: 'Sends a closed caption event to the call Sends events: - call.closed_caption ' operationId: SendClosedCaption parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendClosedCaptionRequest_2' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SendClosedCaptionResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send closed caption tags: - product:video /video/call/{type}/{id}/delete: post: description: ' Sends events: - call.deleted ' operationId: DeleteCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteCallRequest' description: DeleteCallRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteCallResponse' description: DeleteCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete Call tags: - product:video /video/call/{type}/{id}/event: post: description: 'Sends custom event to the call Sends events: - custom ' operationId: SendCallEvent parameters: - in: path name: type required: true schema: maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendCallEventRequest' description: SendCallEventRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SendCallEventResponse' description: SendCallEventResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send custom event tags: - product:video /video/call/{type}/{id}/feedback: post: description: ' Sends events: - call.user_feedback_submitted ' operationId: CollectUserFeedback parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/CollectUserFeedbackRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CollectUserFeedbackResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Collect user feedback tags: - product:video /video/call/{type}/{id}/go_live: post: description: ' Sends events: - call.live_started ' operationId: GoLive parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/GoLiveRequest' description: GoLiveRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GoLiveResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Set call as live tags: - product:video /video/call/{type}/{id}/kick: post: description: 'Kicks a user from the call. Optionally block the user from rejoining by setting block=true. Sends events: - call.blocked_user - call.kicked_user ' operationId: KickUser parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/KickUserRequest' description: KickUserRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/KickUserResponse' description: KickUserResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Kick user from a call tags: - product:video /video/call/{type}/{id}/mark_ended: post: description: ' Sends events: - call.ended ' operationId: EndCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' responses: '201': content: application/json: schema: $ref: '#/components/schemas/EndCallResponse' description: EndCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: End call tags: - product:video /video/call/{type}/{id}/members: post: description: ' Sends events: - call.member_added - call.member_removed - call.member_updated ' operationId: UpdateCallMembers parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCallMembersRequest' description: UpdateCallMembersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateCallMembersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update Call Member tags: - product:video /video/call/{type}/{id}/mute_users: post: description: 'Mutes users in a call ' operationId: MuteUsers parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/MuteUsersRequest' description: MuteUsersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MuteUsersResponse' description: MuteUsersResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mute users tags: - product:video /video/call/{type}/{id}/participants: post: description: 'Returns a list of participants connected to the call ' operationId: QueryCallParticipants parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: type required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' - in: query name: limit schema: format: int32 maximum: 100 type: integer x-stream-index: '004' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCallParticipantsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCallParticipantsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call participants tags: - product:video /video/call/{type}/{id}/pin: post: description: 'Pins a track for all users in the call. ' operationId: VideoPin parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/PinRequest' description: PinRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PinResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Pin tags: - product:video /video/call/{type}/{id}/recordings: get: description: 'Lists recordings ' operationId: ListRecordings parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListRecordingsResponse' description: ListRecordingsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List recordings tags: - product:video /video/call/{type}/{id}/recordings/{recording_type}/start: post: description: 'Starts recording Sends events: - call.recording_started ' operationId: StartRecording parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' - in: path name: recording_type required: true schema: description: 'Type of recording to start. One of: all, composite, individual, raw' enum: - composite - individual - raw title: Recording Type type: string x-stream-index: '004' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartRecordingRequest' description: StartRecordingRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartRecordingResponse' description: StartRecordingResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start recording tags: - product:video /video/call/{type}/{id}/recordings/{recording_type}/stop: post: description: 'Stops recording Sends events: - call.recording_stopped ' operationId: StopRecording parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' - in: path name: recording_type required: true schema: enum: - composite - individual - raw type: string x-stream-index: '003' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopRecordingRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopRecordingResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop recording tags: - product:video /video/call/{type}/{id}/report: get: description: ' ' operationId: GetCallReport parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' - in: query name: session_id schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCallReportResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get call report tags: - product:video /video/call/{type}/{id}/ring: post: description: 'Sends a ring notification to the provided users who are not already in the call. All users should be members of the call Sends events: - call.ring ' operationId: RingCall parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/RingCallRequest' description: RingCallRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/RingCallResponse' description: RingCallResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Ring Call Users tags: - product:video /video/call/{type}/{id}/rtmp_broadcasts: post: description: 'Starts RTMP broadcasts for the provided RTMP destinations ' operationId: StartRTMPBroadcasts parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartRTMPBroadcastsRequest' description: StartRTMPBroadcastsRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartRTMPBroadcastsResponse' description: StartRTMPBroadcastsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start RTMP broadcasts tags: - product:video /video/call/{type}/{id}/rtmp_broadcasts/{name}/stop: post: description: 'Stop RTMP broadcasts for the provided RTMP destinations ' operationId: StopRTMPBroadcast parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopRTMPBroadcastsRequest' description: StopRTMPBroadcastsRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopRTMPBroadcastsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop RTMP broadcasts tags: - product:video /video/call/{type}/{id}/rtmp_broadcasts/stop: post: description: 'Stop all RTMP broadcasts for the provided call ' operationId: StopAllRTMPBroadcasts parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopAllRTMPBroadcastsResponse' description: StopAllRTMPBroadcastsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop all RTMP broadcasts for a call tags: - product:video /video/call/{type}/{id}/session/{session}/participant/{user}/{user_session}/details/track: get: description: ' ' operationId: GetCallParticipantSessionMetrics parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002.002' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: user required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '004' - in: path name: user_session required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '005' - in: query name: since schema: format: date-time type: string writeOnly: true x-stream-index: '006' - in: query name: until schema: format: date-time type: string writeOnly: true x-stream-index: '007' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCallParticipantSessionMetricsResponse_2' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get call participant session metrics tags: - product:video /video/call/{type}/{id}/session/{session}/participant_sessions: get: description: ' ' operationId: QueryCallParticipantSessions parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003.002' - in: path name: session required: true schema: type: string writeOnly: true x-stream-index: '004' - in: query name: limit schema: format: int32 maximum: 100 minimum: 0 type: integer writeOnly: true x-stream-index: '002.001' - in: query name: prev schema: type: string writeOnly: true x-stream-index: '002.002' - in: query name: next schema: type: string writeOnly: true x-stream-index: '002.003' - in: query name: filter_conditions schema: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object writeOnly: true x-stream-filter-fields: is_live: operators: - $eq type: boolean is_tech_user: operators: - $eq type: boolean published_tracks: operators: - $eq - $in type: string publisher_type: operators: - $eq - $in type: string session_id: operators: - $eq - $in type: string user_id: operators: - $eq - $in type: string x-stream-index: '005' responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryCallParticipantSessionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call participant sessions tags: - product:video /video/call/{type}/{id}/start_broadcasting: post: description: 'Starts HLS broadcasting ' operationId: StartHLSBroadcasting parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartHLSBroadcastingResponse' description: StartHLSBroadcastingResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start HLS broadcasting tags: - product:video /video/call/{type}/{id}/start_closed_captions: post: description: 'Starts closed captions ' operationId: StartClosedCaptions parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartClosedCaptionsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartClosedCaptionsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start closed captions tags: - product:video /video/call/{type}/{id}/start_frame_recording: post: description: 'Starts frame by frame recording Sends events: - call.frame_recording_started ' operationId: StartFrameRecording parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartFrameRecordingRequest' description: StartFrameRecordingRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartFrameRecordingResponse' description: StartFrameRecordingResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start frame recording tags: - product:video /video/call/{type}/{id}/start_transcription: post: description: 'Starts transcription ' operationId: StartTranscription parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartTranscriptionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartTranscriptionResponse' description: StartTranscriptionResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start transcription tags: - product:video /video/call/{type}/{id}/stop_broadcasting: post: description: 'Stops HLS broadcasting ' operationId: StopHLSBroadcasting parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopHLSBroadcastingResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop HLS broadcasting tags: - product:video /video/call/{type}/{id}/stop_closed_captions: post: description: 'Stops closed captions Sends events: - call.transcription_stopped ' operationId: StopClosedCaptions parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopClosedCaptionsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopClosedCaptionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop closed captions tags: - product:video /video/call/{type}/{id}/stop_frame_recording: post: description: 'Stops frame recording Sends events: - call.frame_recording_stopped ' operationId: StopFrameRecording parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopFrameRecordingResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop frame recording tags: - product:video /video/call/{type}/{id}/stop_live: post: description: ' Sends events: - call.updated ' operationId: StopLive parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopLiveRequest' description: StopLiveRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopLiveResponse' description: StopLiveResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Set call as not live tags: - product:video /video/call/{type}/{id}/stop_transcription: post: description: 'Stops transcription Sends events: - call.transcription_stopped ' operationId: StopTranscription parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopTranscriptionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StopTranscriptionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop transcription tags: - product:video /video/call/{type}/{id}/transcriptions: get: description: 'Lists transcriptions ' operationId: ListTranscriptions parameters: - in: path name: type required: true schema: description: The type of call maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Call ID maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '001.002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListTranscriptionsResponse' description: ListTranscriptionsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List transcriptions tags: - product:video /video/call/{type}/{id}/unblock: post: description: 'Removes the block for a user on a call. The user will be able to join the call again. Sends events: - call.unblocked_user ' operationId: UnblockUser parameters: - in: path name: type required: true schema: maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001' - in: path name: id required: true schema: maxLength: 64 title: ID type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UnblockUserRequest' description: UnblockUserRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnblockUserResponse' description: UnblockUserResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unblocks user on a call tags: - product:video /video/call/{type}/{id}/unpin: post: description: 'Unpins a track for all users in the call. ' operationId: VideoUnpin parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UnpinRequest' description: UnpinRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnpinResponse' description: UnpinResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unpin tags: - product:video /video/call/{type}/{id}/user_permissions: post: description: 'Updates user permissions Sends events: - call.permissions_updated ' operationId: UpdateUserPermissions parameters: - in: path name: type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '005.001' - in: path name: id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '005.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUserPermissionsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateUserPermissionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update user permissions tags: - product:video /video/call/feedback: post: description: ' ' operationId: QueryUserFeedback parameters: - in: query name: full schema: type: boolean writeOnly: true x-stream-index: '003' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryUserFeedbackRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryUserFeedbackResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query user reported feedback for the calls tags: - product:video /video/call/members: post: description: 'Query call members with filter query ' operationId: QueryCallMembers requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCallMembersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCallMembersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call members tags: - product:video /video/call/stats: post: description: ' ' operationId: QueryCallStats requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCallStatsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCallStatsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Call Stats tags: - product:video /video/call_stats: post: description: ' ' operationId: QueryCallSessionStats requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCallSessionStatsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCallSessionStatsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call session stats tags: - product:video /video/call_stats/{call_type}/{call_id}/{session}/map: get: description: ' ' operationId: GetCallStatsMap parameters: - in: path name: call_type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002' - in: path name: call_id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '004' - in: query name: start_time schema: format: date-time type: string writeOnly: true x-stream-index: '005' - in: query name: end_time schema: format: date-time type: string writeOnly: true x-stream-index: '006' - in: query name: exclude_publishers schema: type: boolean writeOnly: true x-stream-index: '007' - in: query name: exclude_subscribers schema: type: boolean writeOnly: true x-stream-index: 008 - in: query name: exclude_sfus schema: type: boolean writeOnly: true x-stream-index: 009 responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryCallStatsMapResponse_2' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Map call participants by location tags: - product:video /video/call_stats/{call_type}/{call_id}/{session}/participant/{user}/{user_session}/details: get: description: ' ' operationId: GetCallSessionParticipantStatsDetails parameters: - in: path name: call_type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002' - in: path name: call_id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '004' - in: path name: user required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '005' - in: path name: user_session required: true schema: maxLength: 256 type: string writeOnly: true x-stream-index: '006' - in: query name: since schema: type: string writeOnly: true x-stream-index: '007' - in: query name: until schema: type: string writeOnly: true x-stream-index: 008 - in: query name: max_points schema: format: int32 maximum: 4096 minimum: 1 type: integer writeOnly: true x-stream-index: 009 responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCallSessionParticipantStatsDetailsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get call session participant stats details tags: - product:video /video/call_stats/{call_type}/{call_id}/{session}/participants: get: description: ' ' operationId: QueryCallSessionParticipantStats parameters: - in: path name: call_type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002' - in: path name: call_id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '004' - in: query name: sort schema: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 1 title: Sort type: array writeOnly: true x-stream-index: '005' - in: query name: filter_conditions schema: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object writeOnly: true x-stream-filter-fields: is_live: operators: - $eq type: boolean is_tech_user: operators: - $eq type: boolean published_tracks: operators: - $eq - $in type: string publisher_type: operators: - $eq - $in type: string session_id: operators: - $eq - $in type: string user_id: operators: - $eq - $in type: string x-stream-index: '006' - in: query name: limit schema: format: int32 maximum: 100 minimum: 0 type: integer writeOnly: true x-stream-index: '007.001' - in: query name: prev schema: type: string writeOnly: true x-stream-index: '007.002' - in: query name: next schema: type: string writeOnly: true x-stream-index: '007.003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryCallSessionParticipantStatsResponse_2' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call participant statistics tags: - product:video /video/call_stats/{call_type}/{call_id}/{session}/participants/{user}/{user_session}/timeline: get: description: ' ' operationId: GetCallSessionParticipantStatsTimeline parameters: - in: path name: call_type required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '002' - in: path name: call_id required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '003' - in: path name: session required: true schema: maxLength: 64 type: string writeOnly: true x-stream-index: '004' - in: path name: user required: true schema: maxLength: 128 type: string writeOnly: true x-stream-index: '005' - in: path name: user_session required: true schema: maxLength: 128 type: string writeOnly: true x-stream-index: '006' - in: query name: start_time schema: type: string writeOnly: true x-stream-index: '007' - in: query name: end_time schema: type: string writeOnly: true x-stream-index: 008 - in: query name: severity schema: items: type: string type: array writeOnly: true x-stream-index: 009 responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryCallSessionParticipantStatsTimelineResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get participant timeline events tags: - product:video /video/calls: post: description: 'Query calls with filter query ' operationId: QueryCalls requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCallsRequest' description: QueryCallsRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCallsResponse' description: QueryCallsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query call tags: - product:video /video/calltypes: get: description: ' ' operationId: ListCallTypes responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListCallTypeResponse' description: ListCallTypeResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List Call Type tags: - product:video post: description: ' ' operationId: CreateCallType requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCallTypeRequest' description: CreateCallTypeRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateCallTypeResponse_2' description: CreateCallTypeResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create Call Type tags: - product:video /video/calltypes/{name}: delete: description: ' ' operationId: DeleteCallType parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete Call Type tags: - product:video get: description: ' ' operationId: GetCallType parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCallTypeResponse_2' description: GetCallTypeResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Call Type tags: - product:video put: description: ' ' operationId: UpdateCallType parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCallTypeRequest' description: UpdateCallTypeRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateCallTypeResponse_2' description: UpdateCallTypeResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update Call Type tags: - product:video /video/devices: delete: description: 'Deletes one device ' operationId: DeleteDevice parameters: - in: query name: id required: true schema: description: Device ID to delete title: ID type: string writeOnly: true x-stream-index: '001' - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: '002.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete device tags: - product:video get: description: 'Returns all available devices ' operationId: ListDevices parameters: - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: '001.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListDevicesResponse' description: ListDevicesResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List devices tags: - product:video post: description: 'Adds a new device to a user, if the same device already exists the call will have no effect ' operationId: CreateDevice requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateDeviceRequest' description: CreateDeviceRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create device tags: - product:video /video/edges: get: description: 'Returns the list of all edges available for video calls. ' operationId: GetEdges responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetEdgesResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Edges tags: - product:video /video/external_storage: get: description: 'Lists external storage ' operationId: ListExternalStorage responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List external storage tags: - product:video post: description: 'Creates new external storage ' operationId: CreateExternalStorage requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateExternalStorageRequest' description: CreateExternalStorageRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create external storage tags: - product:video /video/external_storage/{name}: delete: description: 'Deletes external storage ' operationId: DeleteExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete external storage tags: - product:video put: description: ' ' operationId: UpdateExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateExternalStorageRequest' description: ExternalStorageRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update External Storage tags: - product:video /video/external_storage/{name}/check: get: description: ' ' operationId: CheckExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CheckExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check External Storage tags: - product:video /video/guest: post: description: ' ' operationId: CreateGuest requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateGuestRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateGuestResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create Guest tags: - product:video /video/sip/auth: post: description: 'Determine authentication requirements for an inbound SIP call before sending a digest challenge ' operationId: ResolveSipAuth requestBody: content: application/json: schema: $ref: '#/components/schemas/ResolveSipAuthRequest' description: ResolveSipAuthRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResolveSipAuthResponse' description: ResolveSipAuthResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Resolve SIP Auth tags: - product:video /video/sip/inbound_routing_rules: get: description: 'List all SIP Inbound Routing Rules for the application ' operationId: ListSIPInboundRoutingRule responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListSIPInboundRoutingRuleResponse' description: ListSIPInboundRoutingRuleResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List SIP Inbound Routing Rules tags: - product:video post: description: 'Create a new SIP Inbound Routing Rule with either direct routing or PIN routing configuration ' operationId: CreateSIPInboundRoutingRule requestBody: content: application/json: schema: $ref: '#/components/schemas/SIPInboundRoutingRuleRequest' description: SIPInboundRoutingRuleRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SIPInboundRoutingRuleResponse_2' description: SIPInboundRoutingRuleResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create SIP Inbound Routing Rule tags: - product:video /video/sip/inbound_routing_rules/{id}: delete: description: 'Delete a SIP Inbound Routing Rule for the application ' operationId: DeleteSIPInboundRoutingRule parameters: - in: path name: id required: true schema: description: ID of the SIP Inbound Routing Rule to delete maxLength: 255 title: string type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteSIPInboundRoutingRuleResponse' description: DeleteSIPInboundRoutingRuleResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete SIP Inbound Routing Rule tags: - product:video put: description: 'Update an existing SIP Inbound Routing Rule with new configuration ' operationId: UpdateSIPInboundRoutingRule parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSIPInboundRoutingRuleRequest' description: UpdateSIPInboundRoutingRuleRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateSIPInboundRoutingRuleResponse' description: UpdateSIPInboundRoutingRuleResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update SIP Inbound Routing Rule tags: - product:video /video/sip/inbound_trunks: get: description: 'List all SIP trunks for the application ' operationId: ListSIPTrunks responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListSIPTrunksResponse' description: ListSIPTrunksResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List SIP Trunks tags: - product:video post: description: 'Create a new SIP trunk for the application ' operationId: CreateSIPTrunk requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSIPTrunkRequest' description: CreateSIPTrunkRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateSIPTrunkResponse' description: CreateSIPTrunkResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create SIP Trunk tags: - product:video /video/sip/inbound_trunks/{id}: delete: description: 'Delete a SIP trunk for the application ' operationId: DeleteSIPTrunk parameters: - in: path name: id required: true schema: description: ID of the SIP trunk to delete maxLength: 255 title: string type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteSIPTrunkResponse' description: DeleteSIPTrunkResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete SIP Trunk tags: - product:video put: description: 'Update a SIP trunk for the application ' operationId: UpdateSIPTrunk parameters: - in: path name: id required: true schema: description: ID of the SIP trunk to update maxLength: 255 title: string type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSIPTrunkRequest' description: UpdateSIPTrunkRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateSIPTrunkResponse' description: UpdateSIPTrunkResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update SIP Trunk tags: - product:video /video/sip/resolve: post: description: 'Resolve SIP inbound routing based on trunk number, caller number, and challenge authentication ' operationId: ResolveSipInbound requestBody: content: application/json: schema: $ref: '#/components/schemas/ResolveSipInboundRequest' description: ResolveSipInboundRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResolveSipInboundResponse' description: ResolveSipInboundResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Resolve SIP Inbound Routing tags: - product:video /video/stats: post: description: ' ' operationId: QueryAggregateCallStats requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryAggregateCallStatsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryAggregateCallStatsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Aggregate call Stats tags: - product:video components: schemas: FrameRecordingSettingsRequest: properties: capture_interval_in_seconds: format: int32 maximum: 60 minimum: 2 type: integer x-stream-index: '003' mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' quality: enum: - 360p - 480p - 720p - 1080p - 1440p type: string x-stream-index: '002' required: - mode - capture_interval_in_seconds type: object CreateGuestResponse: nullable: true properties: access_token: description: the access token to authenticate the user title: Access token type: string x-stream-index: '002' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' user: $ref: '#/components/schemas/UserResponse_2' description: User object which server acts upon title: User x-stream-index: '001' required: - user - access_token - duration type: object IngressSourceResponse: properties: fps: type: integer x-stream-index: '003' height: type: integer x-stream-index: '002' width: type: integer x-stream-index: '001' required: - width - height - fps type: object ThumbnailResponse: properties: image_url: type: string x-stream-index: '001' required: - image_url type: object CreateCallTypeRequest: description: Request for creating a call type nullable: true properties: external_storage: description: the external storage for the call type title: ExternalStorage type: string x-stream-index: '002.004' grants: additionalProperties: items: type: string type: array description: the permissions granted to each role title: Grants type: object x-stream-index: '002.001' name: type: string x-stream-index: '001' notification_settings: $ref: '#/components/schemas/NotificationSettingsRequest' description: the notification settings for the call type title: NotificationSettings x-stream-index: '002.002' settings: $ref: '#/components/schemas/CallSettingsRequest' description: the settings for the call type title: Settings x-stream-index: '002.003' required: - name title: CreateCallTypeRequest type: object CallStatsParticipant_2: properties: latest_activity_at: format: date-time type: string x-stream-index: '005' name: type: string x-stream-index: '002' roles: items: type: string type: array x-stream-index: '003' sessions: items: $ref: '#/components/schemas/CallStatsParticipantSession_2' type: array x-stream-index: '004' user_id: type: string x-stream-index: '001' required: - user_id - sessions type: object UpdateCallRequest: description: Request for updating a call nullable: true properties: custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '003' settings_override: $ref: '#/components/schemas/CallSettingsRequest' description: the settings to change for this call title: Settings Override x-stream-index: '004' starts_at: description: the time the call is scheduled to start format: date-time title: Starts At type: number x-stream-index: '005' title: UpdateCallRequest type: object CallStatsMapSubscriber: properties: is_live: type: boolean x-stream-index: '005' location: $ref: '#/components/schemas/CallStatsLocation' x-stream-index: '004' name: type: string x-stream-index: '002' user_id: type: string x-stream-index: '001' user_session_id: type: string x-stream-index: '003' required: - user_id - user_session_id - is_live type: object ParticipantSeriesSubscriberStats: properties: global: additionalProperties: items: items: format: float type: number type: array type: array type: object x-stream-index: '001' global_meta: additionalProperties: $ref: '#/components/schemas/MetricDescriptor' type: object x-stream-index: '002' global_metrics_order: items: type: string type: array x-stream-index: '003' global_thresholds: additionalProperties: items: $ref: '#/components/schemas/MetricThreshold' type: array type: object x-stream-index: '004' subscriptions: items: $ref: '#/components/schemas/ParticipantSeriesSubscriptionTrackMetrics' type: array x-stream-index: '005' type: object StartFrameRecordingRequest: nullable: true properties: recording_external_storage: type: string x-stream-index: '002' title: StartFrameRecordingRequest type: object CallParticipantResponse: properties: joined_at: format: date-time type: number x-stream-index: '004' role: type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '001' user_session_id: type: string x-stream-index: '002' required: - user - user_session_id - role - joined_at type: object UserResponse_2: description: User response object properties: avg_response_time: format: int32 type: integer x-stream-index: '001.018' ban_expires: description: Date when ban expires format: date-time title: Ban expires type: string x-stream-index: '004' blocked_user_ids: items: type: string type: array x-stream-index: '001.017' bypass_moderation: type: boolean x-stream-index: '003' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '001.009' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '001.004' deactivated_at: description: Date of deactivation format: date-time title: Deactivated at type: string x-stream-index: '001.016' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: '001.011' devices: description: List of devices user is using items: $ref: '#/components/schemas/DeviceResponse_2' title: Devices type: array x-stream-index: '007' id: description: Unique user identifier title: ID type: string x-stream-index: '001.001' image: title: Image type: string x-stream-index: '001.003' invisible: type: boolean x-stream-index: 008 language: description: Preferred language of a user title: Language type: string x-stream-index: '001.005' last_active: description: Date of last activity format: date-time title: Last active type: string x-stream-index: '001.014' name: description: Optional name of user title: Name type: string x-stream-index: '001.002' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse_2' description: User privacy settings title: Privacy settings x-stream-index: '006' push_notifications: $ref: '#/components/schemas/PushNotificationSettingsResponse_2' description: User push notification settings title: Push notifications x-stream-index: '005' revoke_tokens_issued_before: description: Revocation date for tokens format: date-time title: Revoke tokens issued before type: string x-stream-index: '001.015' role: description: Determines the set of user permissions title: Role type: string x-stream-index: '001.006' shadow_banned: description: Whether a user is shadow banned title: Shadow banned type: boolean x-stream-index: '002' teams: description: List of teams user is a part of items: type: string title: Teams type: array x-stream-index: '001.007' teams_role: additionalProperties: type: string type: object x-stream-index: '001.008' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '001.010' required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids - shadow_banned - invisible title: UserResponse type: object CallStatsSessionResponse: properties: call_ended_at: format: date-time type: number x-stream-index: '005' call_id: type: string x-stream-index: '002' call_session_id: type: string x-stream-index: '003' call_started_at: format: date-time type: number x-stream-index: '004' call_type: type: string x-stream-index: '001' counts: $ref: '#/components/schemas/CallStatsParticipantCounts' x-stream-index: '007' generated_at: format: date-time type: number x-stream-index: '006' required: - call_type - call_id - call_session_id - generated_at - counts type: object ListExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' external_storages: additionalProperties: $ref: '#/components/schemas/ExternalStorageResponse' type: object x-stream-index: '002' required: - duration - external_storages title: Response type: object SubscriberVideoMetrics: properties: fps_30: $ref: '#/components/schemas/ActiveCallsFPSStats' x-stream-index: '002' jitter_ms: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '001' packets_lost_pct: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '003' type: object IngressVideoEncodingOptionsRequest: properties: layers: items: $ref: '#/components/schemas/IngressVideoLayerRequest' minItems: 1 type: array x-stream-index: '002' source: $ref: '#/components/schemas/IngressSourceRequest' x-stream-index: '001' required: - source - layers type: object DeviceResponse_2: description: Response for Device nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '004' disabled: description: Whether device is disabled or not title: Disabled type: boolean x-stream-index: '005' disabled_reason: description: Reason explaining why device had been disabled title: Reason type: string x-stream-index: '006' id: description: Device ID title: ID type: string x-stream-index: '003' push_provider: description: Push provider title: PushProvider type: string x-stream-index: '001' push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: '002' user_id: description: User ID title: UserID type: string x-stream-index: 008 voip: description: When true the token is for Apple VoIP push notifications title: Voip type: boolean x-stream-index: '007' required: - push_provider - id - created_at - user_id title: DeviceResponse type: object AzureRequest: description: Config for creating Azure Blob Storage storage properties: abs_account_name: description: The account name title: AccountName type: string x-stream-index: '001' abs_client_id: description: The client id title: ClientID type: string x-stream-index: '003' abs_client_secret: description: The client secret title: ClientSecret type: string x-stream-index: '004' abs_tenant_id: description: The tenant id title: TenantID type: string x-stream-index: '002' required: - abs_account_name - abs_tenant_id - abs_client_id - abs_client_secret title: AzureRequest type: object ListDevicesResponse: description: List devices response nullable: true properties: devices: description: List of devices items: $ref: '#/components/schemas/DeviceResponse_2' title: Devices type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - devices - duration title: ListDevicesResponse type: object GetActiveCallsStatusResponse: description: Response containing active calls status information nullable: true properties: duration: type: string x-stream-index: '001.001' end_time: description: End time of the status period format: date-time title: time.Time type: number x-stream-index: '003' metrics: $ref: '#/components/schemas/ActiveCallsMetrics' description: Detailed metrics title: '*ActiveCallsMetrics' x-stream-index: '005' start_time: description: Start time of the status period format: date-time title: time.Time type: number x-stream-index: '002' summary: $ref: '#/components/schemas/ActiveCallsSummary' description: Summary of active calls title: '*ActiveCallsSummary' x-stream-index: '004' required: - duration - start_time - end_time title: GetActiveCallsStatusResponse type: object CallRequest: description: CallRequest is the payload for creating a call. properties: channel_cid: type: string x-stream-index: 009 created_by: $ref: '#/components/schemas/UserRequest' title: The user that create this call x-stream-index: '002' created_by_id: title: The id of the user that create this call type: string x-stream-index: '003' custom: additionalProperties: {} type: object x-stream-index: '004' members: items: $ref: '#/components/schemas/MemberRequest' maxItems: 100 type: array x-stream-index: '005' settings_override: $ref: '#/components/schemas/CallSettingsRequest' x-stream-index: '006' starts_at: format: date-time type: number x-stream-index: '007' team: type: string x-stream-index: '001' video: type: boolean x-stream-index: 008 title: CallRequest type: object QueryCallStatsRequest: nullable: true properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: call_cid: operators: - $eq type: string created_at: operators: - $eq - $gt - $gte - $lt - $lte type: date first_stats: operators: - $eq - $gt - $gte - $lt - $lte type: date min_user_rating: operators: - $eq - $exists - $gt - $gte - $lt - $lte - $ne type: number quality_score: operators: - $eq - $gt - $gte - $lt - $lte - $ne type: number x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '004.001' next: type: string x-stream-index: '004.002' prev: type: string x-stream-index: '004.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 2 title: Sort type: array x-stream-index: '002' x-stream-sort-combinations: - - first_stats - call_cid - - created_at - call_cid x-stream-sort-fields: - call_cid - created_at - first_stats type: object CallStatsParticipantSession: properties: browser: type: string x-stream-index: '010' browser_version: type: string x-stream-index: '011' cq_score: format: int32 type: integer x-stream-index: '017' current_ip: type: string x-stream-index: '012' current_sfu: type: string x-stream-index: '013' distance_to_sfu_kilometers: format: float type: number x-stream-index: '014' ended_at: format: date-time type: number x-stream-index: '004' freezes_duration_ms: type: integer x-stream-index: '020' ingress: type: string x-stream-index: '022' is_live: type: boolean x-stream-index: '005' jitter_ms: type: integer x-stream-index: 018 latency_ms: type: integer x-stream-index: 019 location: $ref: '#/components/schemas/CallStatsLocation' x-stream-index: '015' os: type: string x-stream-index: '021' published_tracks: $ref: '#/components/schemas/PublishedTrackFlags' x-stream-index: '016' publisher_type: type: string x-stream-index: '006' sdk: type: string x-stream-index: '007' sdk_version: type: string x-stream-index: 008 started_at: format: date-time type: number x-stream-index: '003' unified_session_id: type: string x-stream-index: '002' user_session_id: type: string x-stream-index: '001' webrtc_version: type: string x-stream-index: 009 required: - user_session_id - is_live - published_tracks type: object PlatformDataResponse: properties: browser: $ref: '#/components/schemas/BrowserDataResponse' x-stream-index: '003' device: $ref: '#/components/schemas/DeviceDataResponse' x-stream-index: '002' os: $ref: '#/components/schemas/ClientOSDataResponse' x-stream-index: '001' required: - os - device - browser type: object RTMPIngress: description: RTMP input settings properties: address: title: Address type: string x-stream-index: '001' required: - address title: RTMPIngress type: object VideoSettingsRequest: properties: access_request_enabled: type: boolean x-stream-index: '002' camera_default_on: type: boolean x-stream-index: '004' camera_facing: enum: - front - back - external type: string x-stream-index: '005' enabled: type: boolean x-stream-index: '001' target_resolution: $ref: '#/components/schemas/TargetResolution' x-stream-index: '003' type: object PublisherAudioMetrics: properties: jitter_ms: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '001' type: object GetActiveCallsStatusResponse_2: description: Response containing active calls status information nullable: true properties: duration: type: string x-stream-index: '001.001' end_time: description: End time of the status period format: date-time title: time.Time type: string x-stream-index: '003' metrics: $ref: '#/components/schemas/ActiveCallsMetrics' description: Detailed metrics title: '*ActiveCallsMetrics' x-stream-index: '005' start_time: description: Start time of the status period format: date-time title: time.Time type: string x-stream-index: '002' summary: $ref: '#/components/schemas/ActiveCallsSummary' description: Summary of active calls title: '*ActiveCallsSummary' x-stream-index: '004' required: - duration - start_time - end_time title: GetActiveCallsStatusResponse type: object StopAllRTMPBroadcastsResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: StopAllRTMPBroadcastsResponse type: object GeofenceSettingsResponse: properties: names: items: type: string type: array x-stream-index: '001' required: - names type: object UpdateSIPInboundRoutingRuleRequest: description: Request to update a SIP Inbound Routing Rule nullable: true properties: call_configs: $ref: '#/components/schemas/SIPCallConfigsRequest' description: Call configuration (required) title: SIPCallConfigsRequest x-stream-index: 009 called_numbers: description: List of called numbers items: type: string title: '[]string' type: array x-stream-index: '004' caller_configs: $ref: '#/components/schemas/SIPCallerConfigsRequest' description: Caller configuration (required) title: SIPCallerConfigsRequest x-stream-index: 008 caller_numbers: description: List of caller numbers (optional) items: type: string title: '[]string' type: array x-stream-index: '005' direct_routing_configs: $ref: '#/components/schemas/SIPDirectRoutingRuleCallConfigsRequest' description: Direct routing configuration (mutually exclusive with pin_routing_configs) title: SIPDirectRoutingRuleCallConfigsRequest x-stream-index: '006' name: description: Name of the SIP Inbound Routing Rule maxLength: 255 title: string type: string x-stream-index: '002' pin_protection_configs: $ref: '#/components/schemas/SIPPinProtectionConfigsRequest' description: PIN protection configuration title: SIPPinProtectionConfigsRequest x-stream-index: '010' pin_routing_configs: $ref: '#/components/schemas/SIPInboundRoutingRulePinConfigsRequest' description: PIN routing configuration (mutually exclusive with direct_routing_configs) title: SIPInboundRoutingRulePinConfigsRequest x-stream-index: '007' trunk_ids: description: List of SIP trunk IDs items: type: string minItems: 1 title: '[]string' type: array x-stream-index: '003' required: - name - trunk_ids - caller_configs title: UpdateSIPInboundRoutingRuleRequest type: object HLSSettingsRequest: properties: auto_on: description: Whether HLS broadcasting should start automatically title: Auto On type: boolean x-stream-index: '001' enabled: description: Whether HLS broadcasting is enabled title: Enabled type: boolean x-stream-index: '002' layout: $ref: '#/components/schemas/LayoutSettingsRequest' description: Layout settings for HLS title: LayoutSettings x-stream-index: '004' quality_tracks: description: 'Quality tracks for HLS. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560' items: enum: - 360p - 480p - 720p - 1080p - 1440p - portrait-360x640 - portrait-480x854 - portrait-720x1280 - portrait-1080x1920 - portrait-1440x2560 type: string maxItems: 3 minItems: 1 title: Quality Tracks type: array x-stream-index: '003' required: - quality_tracks title: HLSSettingsRequest type: object GetCallParticipantSessionMetricsResponse: description: Basic response information nullable: true properties: client: $ref: '#/components/schemas/SessionClient' x-stream-index: '005' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' is_publisher: type: boolean x-stream-index: '007' is_subscriber: type: boolean x-stream-index: 008 joined_at: format: date-time type: number x-stream-index: '006' published_tracks: items: $ref: '#/components/schemas/PublishedTrackMetrics' type: array x-stream-index: 009 publisher_type: type: string x-stream-index: '004' user_id: type: string x-stream-index: '002' user_session_id: type: string x-stream-index: '003' required: - duration title: Response type: object DailyAggregateCallsPerDayReportResponse: properties: date: type: string x-stream-index: '001' report: $ref: '#/components/schemas/CallsPerDayReport' x-stream-index: '002' required: - date - report type: object ScreensharingSettingsRequest: properties: access_request_enabled: type: boolean x-stream-index: '002' enabled: type: boolean x-stream-index: '001' target_resolution: $ref: '#/components/schemas/TargetResolution' x-stream-index: '003' type: object QueryAggregateCallStatsRequest: nullable: true properties: from: type: string x-stream-index: '002' report_types: items: type: string type: array x-stream-index: '004' to: type: string x-stream-index: '003' type: object BlockUserResponse: description: BlockUserResponse is the payload for blocking a user. nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: BlockUserResponse type: object ActiveCallsSummary: properties: active_calls: format: int32 type: integer x-stream-index: '001' active_publishers: format: int32 type: integer x-stream-index: '002' active_subscribers: format: int32 type: integer x-stream-index: '003' participants: format: int32 type: integer x-stream-index: '004' required: - active_calls - active_publishers - active_subscribers - participants type: object ReportResponse: properties: call: $ref: '#/components/schemas/CallReportResponse' x-stream-index: '003' participants: $ref: '#/components/schemas/ParticipantReportResponse' x-stream-index: '001' user_ratings: $ref: '#/components/schemas/UserRatingReportResponse' x-stream-index: '002' required: - participants - user_ratings - call type: object WHIPIngress: properties: address: description: URL for a new whip input, every time a new link is created title: Address type: string x-stream-index: '001' required: - address title: WHIPIngress type: object ExternalStorageResponse: properties: bucket: type: string x-stream-index: '003' name: type: string x-stream-index: '001' path: type: string x-stream-index: '004' type: enum: - s3 - gcs - abs type: string x-stream-index: '002' required: - name - type - bucket - path type: object IndividualRecordingSettingsRequest: properties: mode: description: 'Recording mode. One of: available, disabled, auto-on' enum: - available - disabled - auto-on title: Mode type: string x-stream-index: '001' output_types: description: 'Output types to include: audio_only, video_only, audio_video, screenshare_audio_only, screenshare_video_only, screenshare_audio_video' items: enum: - audio_only - video_only - audio_video - screenshare_audio_only - screenshare_video_only - screenshare_audio_video type: string minItems: 1 title: OutputTypes type: array x-stream-index: '002' required: - mode title: IndividualRecordingSettingsRequest type: object CountByMinuteResponse: nullable: true properties: count: format: int32 type: integer x-stream-index: '002' start_ts: format: date-time type: number x-stream-index: '001' required: - start_ts - count type: object StopFrameRecordingResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object StartFrameRecordingResponse: description: StartFrameRecordingResponse is the response payload for the start frame recording endpoint. nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: StartFrameRecordingResponse type: object CallDurationReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateCallDurationReportResponse' type: array x-stream-index: '001' required: - daily type: object CallStatsReportSummaryResponse: properties: call_cid: type: string x-stream-index: '001' call_duration_seconds: format: int32 type: integer x-stream-index: 008 call_session_id: type: string x-stream-index: '002' call_status: type: string x-stream-index: '004' created_at: format: date-time type: number x-stream-index: '007' first_stats_time: format: date-time type: number x-stream-index: '003' min_user_rating: format: int32 type: integer x-stream-index: '006' quality_score: format: int32 type: integer x-stream-index: '005' required: - call_cid - call_session_id - first_stats_time - call_status - call_duration_seconds type: object DailyAggregateCallDurationReportResponse: properties: date: type: string x-stream-index: '001' report: $ref: '#/components/schemas/CallDurationReport' x-stream-index: '002' required: - date - report type: object SDKUsageReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateSDKUsageReportResponse' type: array x-stream-index: '001' required: - daily type: object DailyAggregateQualityScoreReportResponse: properties: date: type: string x-stream-index: '001' report: $ref: '#/components/schemas/QualityScoreReport' x-stream-index: '002' required: - date - report type: object ResolveSipAuthRequest: description: Request to determine SIP trunk authentication requirements nullable: true properties: from_host: description: Host from the SIP From header title: string type: string x-stream-index: '004' sip_caller_number: description: SIP caller number title: string type: string x-stream-index: '002' sip_trunk_number: description: SIP trunk number to look up title: string type: string x-stream-index: '001' source_ip: description: Transport-layer source IP address of the SIP request title: string type: string x-stream-index: '003' required: - sip_trunk_number - sip_caller_number title: ResolveSipAuthRequest type: object StartRecordingResponse: description: StartRecordingResponse is the response payload for the start recording endpoint. nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: StartRecordingResponse type: object SRTIngress: properties: address: type: string x-stream-index: '001' required: - address type: object QueryCallSessionStatsRequest: nullable: true properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: call_cid: operators: - $eq type: string call_session_id: operators: - $eq type: string counts.cq_score: operators: - $eq - $gt - $gte - $lt - $lte - $ne type: number generated_at: operators: - $eq - $gt - $gte - $lt - $lte type: date session_ended_at: operators: - $eq - $gt - $gte - $lt - $lte type: date session_started_at: operators: - $eq - $gt - $gte - $lt - $lte type: date updated_at: operators: - $eq - $gt - $gte - $lt - $lte type: date x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '004.001' next: type: string x-stream-index: '004.002' prev: type: string x-stream-index: '004.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 2 title: Sort type: array x-stream-index: '002' x-stream-sort-combinations: - - generated_at - call_cid - - updated_at - call_cid - - session_started_at - call_cid - - session_ended_at - call_cid x-stream-sort-fields: - call_cid - generated_at - session_ended_at - session_started_at - updated_at type: object FCMPayload: properties: data: additionalProperties: {} type: object x-stream-index: '001' type: object RecordSettingsResponse: description: RecordSettings is the payload for recording settings properties: audio_only: title: Audio Only type: boolean x-stream-index: '001' layout: $ref: '#/components/schemas/LayoutSettingsResponse' title: Layout x-stream-index: '004' mode: title: Mode type: string x-stream-index: '002' quality: title: Quality type: string x-stream-index: '003' required: - audio_only - mode - quality - layout title: RecordSettingsResponse type: object LimitsSettingsRequest: properties: max_duration_seconds: format: int32 minimum: 0 type: integer x-stream-index: '004' max_participants: format: int32 type: integer x-stream-index: '001' max_participants_exclude_owner: type: boolean x-stream-index: '003' max_participants_exclude_roles: items: type: string type: array x-stream-index: '002' type: object DeleteSIPInboundRoutingRuleResponse: description: Response confirming SIP Inbound Routing Rule deletion nullable: true properties: duration: type: string x-stream-index: '001.001' required: - duration title: DeleteSIPInboundRoutingRuleResponse type: object PinResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object DeleteCallRequest: description: DeleteCallRequest is the payload for deleting a call. nullable: true properties: hard: description: if true the call will be hard deleted along with all related data title: Hard type: boolean x-stream-index: '001' title: DeleteCallRequest type: object QueryCallsResponse: nullable: true properties: calls: items: $ref: '#/components/schemas/CallStateResponseFields' title: Calls type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' required: - calls - duration title: QueryCallsResponse type: object GroupedStatsResponse: nullable: true properties: name: type: string x-stream-index: '001' unique: format: int32 type: integer x-stream-index: '002' required: - name - unique type: object TranslationSettings: properties: enabled: type: boolean x-stream-index: '001' languages: items: enum: - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - 'no' - uk type: string type: array x-stream-index: '002' required: - enabled - languages type: object SIPTrunkResponse: description: SIP trunk information properties: allowed_ips: description: Allowed IPv4/IPv6 addresses or CIDR blocks items: type: string title: '[]string' type: array x-stream-index: '007' created_at: description: Creation timestamp format: date-time title: string type: number x-stream-index: 008 id: description: Unique identifier for the SIP trunk title: string type: string x-stream-index: '001' name: description: Name of the SIP trunk title: string type: string x-stream-index: '002' numbers: description: Phone numbers associated with this SIP trunk items: type: string title: '[]string' type: array x-stream-index: '003' password: description: Password for SIP trunk authentication title: string type: string x-stream-index: '006' updated_at: description: Last update timestamp format: date-time title: string type: number x-stream-index: 009 uri: description: The URI for the SIP trunk title: string type: string x-stream-index: '004' username: description: Username for SIP trunk authentication title: string type: string x-stream-index: '005' required: - id - name - numbers - uri - username - password - allowed_ips - created_at - updated_at title: SIPTrunkResponse type: object ResolveSipInboundRequest: description: Request to resolve SIP inbound routing using challenge authentication nullable: true properties: challenge: $ref: '#/components/schemas/SIPChallengeRequest' description: SIP challenge authentication data title: SIPChallengeRequest x-stream-index: '003' routing_number: description: Optional routing number for routing number-based call routing (10 digits) maxLength: 12 minLength: 3 title: string type: string x-stream-index: '006' sip_caller_number: description: SIP caller number title: string type: string x-stream-index: '002' sip_headers: additionalProperties: type: string description: Optional SIP headers as key-value pairs title: map[string]string type: object x-stream-index: '005' sip_trunk_number: description: SIP trunk number to resolve title: string type: string x-stream-index: '001' trunk_id: description: Optional pre-authenticated trunk ID (from PreAuth no-auth flow) title: string type: string x-stream-index: '004' required: - sip_trunk_number - sip_caller_number title: ResolveSipInboundRequest type: object DeleteRecordingResponse: description: Response for DeleteRecording nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: DeleteRecordingResponse type: object MuteUsersRequest: nullable: true properties: audio: title: Audio type: boolean x-stream-index: '005' mute_all_users: type: boolean x-stream-index: '003' muted_by: $ref: '#/components/schemas/UserRequest' x-stream-index: '010' muted_by_id: type: string x-stream-index: 009 screenshare: title: Screenshare type: boolean x-stream-index: '007' screenshare_audio: title: ScreenshareAudio type: boolean x-stream-index: 008 user_ids: items: type: string title: UserIDs type: array x-stream-index: '004' video: title: Video type: boolean x-stream-index: '006' title: MuteUsersRequest type: object CallRecording: description: CallRecording represents a recording of a call. properties: end_time: format: date-time title: The end time of the recording. type: number x-stream-index: '004' filename: title: The filename of the recording. type: string x-stream-index: '001' recording_type: title: The type of the recording. type: string x-stream-index: '006' session_id: title: The session ID of the recording. type: string x-stream-index: '005' start_time: format: date-time title: The start time of the recording. type: number x-stream-index: '003' url: title: The URL of the recording. type: string x-stream-index: '002' required: - filename - url - start_time - end_time - session_id - recording_type title: CallRecording type: object PrivacySettingsResponse_2: type: object SendClosedCaptionResponse: nullable: true properties: duration: type: string x-stream-index: '001.001' required: - duration type: object SendClosedCaptionRequest_2: nullable: true properties: end_time: format: date-time title: Optional end time, defaults to start_time + 1s if omitted type: string x-stream-index: '007' language: title: The language of the closed caption. type: string x-stream-index: 009 service: title: The service that generated the closed caption. By default stream type: string x-stream-index: 008 speaker_id: maxLength: 256 title: Speaker user id type: string x-stream-index: '005' start_time: format: date-time title: Optional start time, defaults to now type: string x-stream-index: '006' text: maxLength: 32768 title: The caption text type: string x-stream-index: '004' translated: title: Whether the closed caption is translated. type: boolean x-stream-index: '010' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' required: - text - speaker_id type: object ParticipantCountByMinuteResponse: nullable: true properties: first: format: int32 type: integer x-stream-index: '002' last: format: int32 type: integer x-stream-index: '003' max: format: int32 type: integer x-stream-index: '004' min: format: int32 type: integer x-stream-index: '005' start_ts: format: date-time type: number x-stream-index: '001' required: - start_ts - first - last - max - min type: object SIPPinProtectionConfigsRequest: description: Configuration for PIN protection settings properties: default_pin: description: Default PIN to use if there is no PIN set on the call object maxLength: 20 minLength: 3 title: string type: string x-stream-index: '004' enabled: description: Whether PIN protection is enabled title: boolean type: boolean x-stream-index: '001' max_attempts: description: Maximum number of PIN attempts allowed format: int32 maximum: 10 minimum: 1 title: integer type: integer x-stream-index: '002' required_pin_digits: description: Number of digits required for the PIN format: int32 maximum: 10 minimum: 3 title: integer type: integer x-stream-index: '003' title: SIPPinProtectionConfigsRequest type: object CallParticipantTimeline: properties: data: additionalProperties: {} type: object x-stream-index: '004' severity: type: string x-stream-index: '003' timestamp: format: date-time type: number x-stream-index: '001' type: type: string x-stream-index: '002' required: - timestamp - type - severity - data type: object TypingIndicatorsResponse: properties: enabled: type: boolean x-stream-index: '001' type: object AudioSettingsRequest: properties: access_request_enabled: type: boolean x-stream-index: '001' default_device: enum: - speaker - earpiece type: string x-stream-index: '006' hifi_audio_enabled: type: boolean x-stream-index: 008 mic_default_on: type: boolean x-stream-index: '004' noise_cancellation: $ref: '#/components/schemas/NoiseCancellationSettings' x-stream-index: '007' opus_dtx_enabled: type: boolean x-stream-index: '002' redundant_coding_enabled: type: boolean x-stream-index: '003' speaker_default_on: type: boolean x-stream-index: '005' required: - default_device type: object GetCallResponse: nullable: true properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: '001.001' duration: type: string x-stream-index: '002.001' members: items: $ref: '#/components/schemas/MemberResponse' type: array x-stream-index: '001.002' own_capabilities: items: $ref: '#/components/schemas/OwnCapability' type: array x-stream-index: '001.004' required: - call - members - own_capabilities - blocked_users - duration title: GetCallResponse type: object ReadReceiptsResponse: properties: enabled: type: boolean x-stream-index: '001' type: object RTMPSettingsResponse: description: RTMPSettingsResponse is the payload for RTMP settings properties: enabled: title: Enabled type: boolean x-stream-index: '001' layout: $ref: '#/components/schemas/LayoutSettingsResponse' title: Layout x-stream-index: '003' quality: title: Quality type: string x-stream-index: '002' required: - enabled - quality - layout title: RTMPSettingsResponse type: object CallTranscription: description: CallTranscription represents a transcription of a call. properties: end_time: format: date-time title: The end time of the transcription. type: number x-stream-index: '004' filename: title: The filename of the transcription. type: string x-stream-index: '001' session_id: title: The session ID of the transcription. type: string x-stream-index: '005' start_time: format: date-time title: The start time of the transcription. type: number x-stream-index: '003' url: title: The URL of the transcription. type: string x-stream-index: '002' required: - filename - url - start_time - end_time - session_id title: CallTranscription type: object SIPPinProtectionConfigsResponse: description: PIN protection configuration response properties: default_pin: description: Default PIN to use if there is no PIN set on the call object title: string type: string x-stream-index: '004' enabled: description: Whether PIN protection is enabled title: boolean type: boolean x-stream-index: '001' max_attempts: description: Maximum number of PIN attempts allowed format: int32 title: integer type: integer x-stream-index: '002' required_pin_digits: description: Number of digits required for the PIN format: int32 title: integer type: integer x-stream-index: '003' required: - enabled title: SIPPinProtectionConfigsResponse type: object PushNotificationSettingsResponse: properties: disabled: type: boolean x-stream-index: '001' disabled_until: format: date-time type: number x-stream-index: '002' type: object SessionWarningResponse: properties: code: type: string x-stream-index: '002' time: format: date-time type: number x-stream-index: '001' warning: type: string x-stream-index: '003' required: - code - warning type: object DeleteExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object SIPCallConfigsResponse: description: SIP call configuration response properties: custom_data: additionalProperties: {} description: Custom data associated with the call title: object type: object x-stream-index: '001' required: - custom_data title: SIPCallConfigsResponse type: object PinRequest: description: PinRequest is the payload for pinning a message. nullable: true properties: session_id: description: the session ID of the user who pinned the message title: SessionID type: string x-stream-index: '003' user_id: description: the user ID of the user who pinned the message title: UserID type: string x-stream-index: '002' required: - user_id - session_id title: PinRequest type: object LayoutSettingsRequest: properties: detect_orientation: type: boolean x-stream-index: '005' external_app_url: type: string x-stream-index: '003' external_css_url: type: string x-stream-index: '004' name: enum: - spotlight - grid - single-participant - mobile - custom type: string x-stream-index: '001' options: additionalProperties: {} type: object x-stream-index: '002' required: - name type: object ParticipantSeriesUserStats: properties: metrics: additionalProperties: items: items: format: float type: number type: array type: array type: object x-stream-index: '001' metrics_meta: additionalProperties: $ref: '#/components/schemas/MetricDescriptor' type: object x-stream-index: '002' metrics_order: items: type: string type: array x-stream-index: '003' thresholds: additionalProperties: items: $ref: '#/components/schemas/MetricThreshold' type: array type: object x-stream-index: '004' type: object CallParticipantCountReport: properties: histogram: items: $ref: '#/components/schemas/ReportByHistogramBucket' type: array x-stream-index: '001' required: - histogram type: object UpdateCallRequest_2: description: Request for updating a call nullable: true properties: custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '003' settings_override: $ref: '#/components/schemas/CallSettingsRequest' description: the settings to change for this call title: Settings Override x-stream-index: '004' starts_at: description: the time the call is scheduled to start format: date-time title: Starts At type: string x-stream-index: '005' title: UpdateCallRequest type: object MessageStatsResponse: properties: count_over_time: items: $ref: '#/components/schemas/CountByMinuteResponse' type: array x-stream-index: '001' type: object QualityScoreReport: properties: histogram: items: $ref: '#/components/schemas/ReportByHistogramBucket' type: array x-stream-index: '001' required: - histogram type: object SubscriberStatsResponse: properties: total: format: int32 type: integer x-stream-index: '001' total_subscribed_duration_seconds: format: int32 type: integer x-stream-index: '003' unique: format: int32 type: integer x-stream-index: '002' required: - total - unique - total_subscribed_duration_seconds type: object QueryUserFeedbackRequest: nullable: true properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: call_cid: operators: - $eq - $in type: string call_session_id: operators: - $eq - $in type: string created_at: operators: - $eq - $gt - $gte - $lt - $lte type: date rating: operators: - $eq - $gt - $gte - $lt - $lte - $ne type: number user_id: operators: - $eq - $in type: string x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' next: type: string x-stream-index: '005.002' prev: type: string x-stream-index: '005.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 2 title: Sort type: array x-stream-index: '002' x-stream-sort-combinations: - - created_at x-stream-sort-fields: - created_at type: object EdgeResponse: properties: continent_code: type: string x-stream-index: '007.003' country_iso_code: type: string x-stream-index: '007.002' green: format: int32 type: integer x-stream-index: '003' id: type: string x-stream-index: '001' latency_test_url: type: string x-stream-index: '002' latitude: format: float type: number x-stream-index: '006.001' longitude: format: float type: number x-stream-index: '006.002' red: format: int32 type: integer x-stream-index: '005' subdivision_iso_code: type: string x-stream-index: '007.001' yellow: format: int32 type: integer x-stream-index: '004' required: - id - latency_test_url - green - yellow - red - latitude - longitude - subdivision_iso_code - country_iso_code - continent_code type: object MetricTimeSeries: properties: data_points: items: items: format: float type: number type: array type: array x-stream-index: '001' type: object ParticipantReportResponse: properties: by_browser: items: $ref: '#/components/schemas/GroupedStatsResponse' type: array x-stream-index: 008 by_country: items: $ref: '#/components/schemas/GroupedStatsResponse' type: array x-stream-index: '005' by_device: items: $ref: '#/components/schemas/GroupedStatsResponse' type: array x-stream-index: '006' by_operating_system: items: $ref: '#/components/schemas/GroupedStatsResponse' type: array x-stream-index: '007' count_over_time: $ref: '#/components/schemas/ParticipantCountOverTimeResponse' x-stream-index: '004' max_concurrent: format: int32 type: integer x-stream-index: '003' publishers: $ref: '#/components/schemas/PublisherStatsResponse' x-stream-index: 009 subscribers: $ref: '#/components/schemas/SubscriberStatsResponse' x-stream-index: '010' sum: format: int32 type: integer x-stream-index: '001' unique: format: int32 type: integer x-stream-index: '002' required: - sum - unique type: object RingCallResponse: nullable: true properties: duration: type: string x-stream-index: '001.001' members_ids: description: List of members ringing notification was sent to items: type: string title: Members IDs type: array x-stream-index: '002' required: - duration - members_ids title: RingCallResponse type: object UpdateCallTypeRequest: description: UpdateCallTypeRequest is the payload for updating a call type. nullable: true properties: external_storage: type: string x-stream-index: '002.004' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '002.001' notification_settings: $ref: '#/components/schemas/NotificationSettingsRequest' x-stream-index: '002.002' settings: $ref: '#/components/schemas/CallSettingsRequest' x-stream-index: '002.003' title: UpdateCallTypeRequest type: object SIPInboundRoutingRuleResponse_2: description: SIP Inbound Routing Rule response nullable: true properties: call_configs: $ref: '#/components/schemas/SIPCallConfigsResponse' description: Call configuration title: SIPCallConfigsResponse x-stream-index: 009 called_numbers: description: List of called numbers items: type: string title: '[]string' type: array x-stream-index: '004' caller_configs: $ref: '#/components/schemas/SIPCallerConfigsResponse' description: Caller configuration title: SIPCallerConfigsResponse x-stream-index: 008 caller_numbers: description: List of caller numbers items: type: string title: '[]string' type: array x-stream-index: '005' created_at: description: Creation timestamp format: date-time title: string type: string x-stream-index: '011' direct_routing_configs: $ref: '#/components/schemas/SIPDirectRoutingRuleCallConfigsResponse' description: Direct routing configuration title: SIPDirectRoutingRuleCallConfigsResponse x-stream-index: '006' duration: type: string x-stream-index: '013.001' id: description: Unique identifier of the SIP Inbound Routing Rule title: string type: string x-stream-index: '001' name: description: Name of the SIP Inbound Routing Rule title: string type: string x-stream-index: '002' pin_protection_configs: $ref: '#/components/schemas/SIPPinProtectionConfigsResponse' description: PIN protection configuration title: SIPPinProtectionConfigsResponse x-stream-index: '010' pin_routing_configs: $ref: '#/components/schemas/SIPInboundRoutingRulePinConfigsResponse' description: PIN routing configuration title: SIPInboundRoutingRulePinConfigsResponse x-stream-index: '007' trunk_ids: description: List of SIP trunk IDs items: type: string title: '[]string' type: array x-stream-index: '003' updated_at: description: Last update timestamp format: date-time title: string type: string x-stream-index: '012' required: - id - name - trunk_ids - called_numbers - created_at - updated_at - duration title: SIPInboundRoutingRuleResponse type: object TargetResolution: properties: bitrate: format: int32 maximum: 6000000 type: integer x-stream-index: '003' height: format: int32 maximum: 3840 minimum: 240 type: integer x-stream-index: '002' width: format: int32 maximum: 3840 minimum: 240 type: integer x-stream-index: '001' required: - width - height - bitrate type: object CallStatsMapPublishers: properties: publishers: items: $ref: '#/components/schemas/CallStatsMapPublisher' type: array x-stream-index: '001' required: - publishers type: object MuteUsersResponse: description: MuteUsersResponse is the response payload for the mute users endpoint. nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: MuteUsersResponse type: object IngressVideoLayerRequest: nullable: true properties: bitrate: format: int32 minimum: 1000 type: integer x-stream-index: '002' codec: enum: - h264 - vp8 type: string x-stream-index: '001' frame_rate_limit: maximum: 60 minimum: 1 type: integer x-stream-index: '005' max_dimension: minimum: 240 type: integer x-stream-index: '004' min_dimension: minimum: 240 type: integer x-stream-index: '003' required: - codec - bitrate - min_dimension - max_dimension - frame_rate_limit type: object RingCallRequest: nullable: true properties: members_ids: description: Members that should receive the ring. If no ids are provided, all call members who are not already in the call will receive ring notifications. items: type: string maxItems: 25 title: Members IDs type: array x-stream-index: '003' video: description: Indicate if call should be video title: Video type: boolean x-stream-index: '004' title: RingCallRequest type: object CallDurationReport: properties: histogram: items: $ref: '#/components/schemas/ReportByHistogramBucket' type: array x-stream-index: '001' required: - histogram type: object ActiveCallsMetrics: properties: join_call_api: $ref: '#/components/schemas/JoinCallAPIMetrics' x-stream-index: '001' publishers: $ref: '#/components/schemas/PublishersMetrics' x-stream-index: '002' subscribers: $ref: '#/components/schemas/SubscribersMetrics' x-stream-index: '003' type: object RecordSettingsRequest: properties: audio_only: description: Whether to record audio only title: Audio Only type: boolean x-stream-index: '001' layout: $ref: '#/components/schemas/LayoutSettingsRequest' description: Layout settings for recording title: LayoutSettings x-stream-index: '004' mode: description: 'Recording mode. One of: available, disabled, auto-on' enum: - available - disabled - auto-on title: Mode type: string x-stream-index: '002' quality: description: 'Recording quality. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560' enum: - 360p - 480p - 720p - 1080p - 1440p - portrait-360x640 - portrait-480x854 - portrait-720x1280 - portrait-1080x1920 - portrait-1440x2560 title: Quality type: string x-stream-index: '003' required: - mode title: RecordSettingsRequest type: object CreateDeviceRequest: description: Create device request nullable: true properties: id: description: Device ID maxLength: 255 minLength: 1 title: ID type: string x-stream-index: '001' push_provider: description: Push provider enum: - firebase - apn - huawei - xiaomi title: PushProvider type: string x-stream-index: '002' push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string x-stream-index: '005.001' voip_token: description: When true the token is for Apple VoIP push notifications title: VoipToken type: boolean x-stream-index: '004' required: - id - push_provider title: CreateDeviceRequest type: object UpdateUserPermissionsResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object LayoutSettingsResponse: properties: detect_orientation: type: boolean x-stream-index: '005' external_app_url: type: string x-stream-index: '003' external_css_url: type: string x-stream-index: '004' name: enum: - spotlight - grid - single-participant - mobile - custom type: string x-stream-index: '001' options: additionalProperties: {} type: object x-stream-index: '002' required: - name - external_app_url - external_css_url type: object UpdateExternalStorageResponse: description: Basic response information nullable: true properties: bucket: type: string x-stream-index: '001.003' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' name: type: string x-stream-index: '001.001' path: type: string x-stream-index: '001.004' type: enum: - s3 - gcs - abs type: string x-stream-index: '001.002' required: - name - type - bucket - path - duration title: Response type: object KickUserRequest: description: KickUserRequest is the payload for kicking a user from a call. Optionally block the user as well. nullable: true properties: block: description: If true, also block the user from rejoining the call title: Block type: boolean x-stream-index: '004' kicked_by: $ref: '#/components/schemas/UserRequest' description: 'Server-side: user performing the action' title: KickedBy x-stream-index: '006' kicked_by_id: description: 'Server-side: ID of the user performing the action' title: KickedByID type: string x-stream-index: '005' user_id: description: The user to kick title: UserID type: string x-stream-index: '003' required: - user_id title: KickUserRequest type: object QualityScoreReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateQualityScoreReportResponse' type: array x-stream-index: '001' required: - daily type: object CallTypeResponse: description: CallTypeResponse is the payload for a call type. properties: created_at: description: the time the call type was created format: date-time title: CreatedAt type: number x-stream-index: '005' external_storage: description: the external storage for the call type title: ExternalStorage type: string x-stream-index: '007' grants: additionalProperties: items: type: string type: array description: the permissions granted to each role title: Grants type: object x-stream-index: '002' name: description: the name of the call type title: Name type: string x-stream-index: '001' notification_settings: $ref: '#/components/schemas/NotificationSettingsResponse' description: the notification settings for the call type title: NotificationSettings x-stream-index: '004' settings: $ref: '#/components/schemas/CallSettingsResponse' description: the settings for the call type title: Settings x-stream-index: '003' updated_at: description: the time the call type was last updated format: date-time title: UpdatedAt type: number x-stream-index: '006' required: - name - grants - settings - notification_settings - created_at - updated_at title: CallTypeResponse type: object QueryCallMembersRequest: nullable: true properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: call_cid: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: date custom: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: object role: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: date user_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: string x-stream-index: '002' id: maxLength: 64 type: string x-stream-index: '001.002' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '004.001' next: type: string x-stream-index: '004.002' prev: type: string x-stream-index: '004.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 1 title: Sort type: array x-stream-index: '003' x-stream-sort-combinations: - - created_at - user_id - - created_at - - user_id type: maxLength: 64 type: string x-stream-index: '001.001' required: - type - id type: object CallSettingsRequest: properties: audio: $ref: '#/components/schemas/AudioSettingsRequest' x-stream-index: '001' backstage: $ref: '#/components/schemas/BackstageSettingsRequest' x-stream-index: '002' broadcasting: $ref: '#/components/schemas/BroadcastSettingsRequest' x-stream-index: '012' frame_recording: $ref: '#/components/schemas/FrameRecordingSettingsRequest' x-stream-index: 008 geofencing: $ref: '#/components/schemas/GeofenceSettingsRequest' x-stream-index: '003' individual_recording: $ref: '#/components/schemas/IndividualRecordingSettingsRequest' x-stream-index: '006' ingress: $ref: '#/components/schemas/IngressSettingsRequest' x-stream-index: '016' limits: $ref: '#/components/schemas/LimitsSettingsRequest' x-stream-index: '014' raw_recording: $ref: '#/components/schemas/RawRecordingSettingsRequest' x-stream-index: '007' recording: $ref: '#/components/schemas/RecordSettingsRequest' x-stream-index: '005' ring: $ref: '#/components/schemas/RingSettingsRequest' x-stream-index: 009 screensharing: $ref: '#/components/schemas/ScreensharingSettingsRequest' x-stream-index: '010' session: $ref: '#/components/schemas/SessionSettingsRequest' x-stream-index: '015' thumbnails: $ref: '#/components/schemas/ThumbnailsSettingsRequest' x-stream-index: '013' transcription: $ref: '#/components/schemas/TranscriptionSettingsRequest' x-stream-index: '011' video: $ref: '#/components/schemas/VideoSettingsRequest' x-stream-index: '004' type: object LimitsSettingsResponse: properties: max_duration_seconds: format: int32 type: integer x-stream-index: '004' max_participants: format: int32 type: integer x-stream-index: '001' max_participants_exclude_owner: type: boolean x-stream-index: '003' max_participants_exclude_roles: items: type: string type: array x-stream-index: '002' required: - max_participants_exclude_roles type: object SIPInboundRoutingRulePinConfigsResponse: description: PIN routing rule call configuration response properties: custom_webhook_url: description: Optional webhook URL for custom PIN handling title: string type: string x-stream-index: '005' pin_failed_attempt_prompt: description: Prompt message for failed PIN attempts title: string type: string x-stream-index: '002' pin_hangup_prompt: description: Prompt message for hangup after PIN input title: string type: string x-stream-index: '004' pin_prompt: description: Prompt message for PIN input title: string type: string x-stream-index: '001' pin_success_prompt: description: Prompt message for successful PIN input title: string type: string x-stream-index: '003' title: SIPInboundRoutingRulePinConfigsResponse type: object ThumbnailsSettingsRequest: properties: enabled: type: boolean x-stream-index: '001' type: object CallsPerDayReport: properties: count: format: int64 type: integer x-stream-index: '001' required: - count type: object MemberRequest: description: MemberRequest is the payload for adding a member to a call. properties: custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '003' role: title: Role type: string x-stream-index: '002' user_id: minLength: 1 title: User ID type: string x-stream-index: '001' required: - user_id title: MemberRequest type: object FrameRecordingResponse: properties: status: type: string x-stream-index: '001' required: - status type: object QueryCallStatsResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' next: type: string x-stream-index: '003.001' prev: type: string x-stream-index: '003.002' reports: items: $ref: '#/components/schemas/CallStatsReportSummaryResponse' type: array x-stream-index: '001' required: - reports - duration title: Response type: object IngressSourceRequest: properties: fps: enum: - '30' - '60' type: integer x-stream-index: '003' height: minimum: 2 type: integer x-stream-index: '001' width: minimum: 2 type: integer x-stream-index: '002' required: - height - width - fps type: object GetOrCreateCallRequest: nullable: true properties: data: $ref: '#/components/schemas/CallRequest' title: ReadOnlyData x-stream-index: '003' members_limit: format: int32 maximum: 100 type: integer x-stream-index: '007' notify: description: if provided it sends a notification event to the members for this call title: Notify type: boolean x-stream-index: '005' ring: description: if provided it sends a ring event to the members for this call title: Ring type: boolean x-stream-index: '004' video: type: boolean x-stream-index: '006' title: GetOrCreateCallRequest type: object CallStatsParticipantCounts: properties: average_jitter_ms: type: integer x-stream-index: '010' average_latency_ms: type: integer x-stream-index: '011' call_event_count: format: int32 type: integer x-stream-index: '013' cq_score: format: int32 type: integer x-stream-index: '005' live_sessions: format: int32 type: integer x-stream-index: '003' max_freezes_duration_ms: type: integer x-stream-index: '012' participants: format: int32 type: integer x-stream-index: '001' peak_concurrent_sessions: format: int32 type: integer x-stream-index: '007' peak_concurrent_users: format: int32 type: integer x-stream-index: '006' publishers: format: int32 type: integer x-stream-index: '004' sessions: format: int32 type: integer x-stream-index: '002' sfus_used: format: int32 type: integer x-stream-index: 009 total_participant_duration: format: int64 type: integer x-stream-index: 008 required: - participants - sessions - live_sessions - publishers - peak_concurrent_users - peak_concurrent_sessions - sfus_used type: object StopHLSBroadcastingResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object QueryUserFeedbackResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' next: type: string x-stream-index: '003.001' prev: type: string x-stream-index: '003.002' user_feedback: items: $ref: '#/components/schemas/UserFeedbackResponse' type: array x-stream-index: '001' required: - user_feedback - duration title: Response type: object ListCallTypeResponse: description: Response for ListCallType nullable: true properties: call_types: additionalProperties: $ref: '#/components/schemas/CallTypeResponse' type: object x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - call_types - duration title: ListCallTypeResponse type: object StartRTMPBroadcastsRequest: description: StartRTMPBroadcastsRequest is the payload for starting RTMP broadcasts. nullable: true properties: broadcasts: description: List of broadcasts to start items: $ref: '#/components/schemas/RTMPBroadcastRequest' maxItems: 1 minItems: 1 title: Broadcasts type: array x-stream-index: '002' required: - broadcasts title: StartRTMPBroadcastsRequest type: object IngressAudioEncodingResponse: properties: bitrate: format: int32 type: integer x-stream-index: '003' channels: format: int32 type: integer x-stream-index: '001' enable_dtx: type: boolean x-stream-index: '002' required: - channels - enable_dtx - bitrate type: object UnblockUserRequest: description: UnblockUserRequest is the payload for unblocking a user. nullable: true properties: user_id: description: the user to unblock title: UserID type: string x-stream-index: '003' required: - user_id title: UnblockUserRequest type: object FrameRecordingSettingsResponse: properties: capture_interval_in_seconds: format: int32 maximum: 60 minimum: 2 type: integer x-stream-index: '003' mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' quality: type: string x-stream-index: '002' required: - mode - capture_interval_in_seconds type: object IndividualRecordingSettingsResponse: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' output_types: items: type: string type: array x-stream-index: '002' required: - mode type: object DailyAggregateSDKUsageReportResponse: properties: date: type: string x-stream-index: '001' report: $ref: '#/components/schemas/SDKUsageReport' x-stream-index: '002' required: - date - report type: object CallReportResponse: properties: ended_at: format: date-time type: number x-stream-index: '003' score: format: float type: number x-stream-index: '001' started_at: format: date-time type: number x-stream-index: '002' required: - score type: object ListSIPTrunksResponse: description: Response containing the list of SIP trunks nullable: true properties: duration: type: string x-stream-index: '002.001' sip_trunks: description: List of SIP trunks for the application items: $ref: '#/components/schemas/SIPTrunkResponse' title: '[]SIPTrunkResponse' type: array x-stream-index: '001' required: - sip_trunks - duration title: ListSIPTrunksResponse type: object GetEdgesResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' edges: items: $ref: '#/components/schemas/EdgeResponse' type: array x-stream-index: '001' required: - edges - duration title: Response type: object UpdateUserPermissionsRequest: nullable: true properties: grant_permissions: items: enum: - screenshare - send-audio - send-video type: string type: array x-stream-index: '002' revoke_permissions: items: enum: - screenshare - send-audio - send-video type: string type: array x-stream-index: '003' user_id: type: string x-stream-index: '001' required: - user_id type: object CheckExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' file_url: type: string x-stream-index: '002' required: - duration - file_url title: Response type: object CreateExternalStorageRequest: description: Create external storage nullable: true properties: aws_s3: $ref: '#/components/schemas/S3Request' description: Only required if you want to create an Amazon S3 storage title: AwsS3 x-stream-index: '003.004' azure_blob: $ref: '#/components/schemas/AzureRequest' description: Only required if you want to create an Azure Blob Storage title: AzureBlob x-stream-index: '003.006' bucket: description: The name of the bucket on the service provider title: Bucket type: string x-stream-index: '003.002' gcs_credentials: type: string x-stream-index: '003.005' name: description: The name of the provider, this must be unique title: Name type: string x-stream-index: '001' path: description: The path prefix to use for storing files title: Path type: string x-stream-index: '003.003' storage_type: description: The type of storage to use enum: - s3 - gcs - abs title: StorageType type: string x-stream-index: '003.001' required: - name - storage_type - bucket title: CreateExternalStorageRequest type: object DeliveryReceiptsResponse: properties: enabled: type: boolean x-stream-index: '001' type: object EventNotificationSettingsResponse: properties: apns: $ref: '#/components/schemas/APNSPayload' x-stream-index: '002' enabled: type: boolean x-stream-index: '001' fcm: $ref: '#/components/schemas/FCMPayload' x-stream-index: '003' required: - enabled - apns - fcm type: object SFULocationResponse: properties: coordinates: $ref: '#/components/schemas/CoordinatesResponse' x-stream-index: '004' count: format: int32 type: integer x-stream-index: '005' datacenter: type: string x-stream-index: '002' id: type: string x-stream-index: '001' location: $ref: '#/components/schemas/LocationResponse' x-stream-index: '003' required: - id - datacenter - location - coordinates type: object CreateCallTypeResponse_2: description: Response for creating a call type nullable: true properties: created_at: description: the time the call type was created format: date-time title: CreatedAt type: string x-stream-index: '001.005' duration: type: string x-stream-index: '002.001' external_storage: description: the external storage for the call type title: ExternalStorage type: string x-stream-index: '001.007' grants: additionalProperties: items: type: string type: array description: the permissions granted to each role title: Grants type: object x-stream-index: '001.002' name: description: the name of the call type title: Name type: string x-stream-index: '001.001' notification_settings: $ref: '#/components/schemas/NotificationSettingsResponse' description: the notification settings for the call type title: NotificationSettings x-stream-index: '001.004' settings: $ref: '#/components/schemas/CallSettingsResponse' description: the settings for the call type title: Settings x-stream-index: '001.003' updated_at: description: the time the call type was last updated format: date-time title: UpdatedAt type: string x-stream-index: '001.006' required: - name - grants - settings - notification_settings - created_at - updated_at - duration title: CreateCallTypeResponse type: object GetCallTypeResponse: nullable: true properties: created_at: format: date-time type: number x-stream-index: '001.005' duration: type: string x-stream-index: '002.001' external_storage: type: string x-stream-index: '001.007' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '001.002' name: type: string x-stream-index: '001.001' notification_settings: $ref: '#/components/schemas/NotificationSettingsResponse' x-stream-index: '001.004' settings: $ref: '#/components/schemas/CallSettingsResponse' x-stream-index: '001.003' updated_at: format: date-time type: number x-stream-index: '001.006' required: - name - grants - settings - notification_settings - created_at - updated_at - duration title: GetCallTypeResponse type: object QueryCallSessionParticipantStatsResponse_2: description: Basic response information nullable: true properties: call_ended_at: format: date-time type: string x-stream-index: '007' call_events: items: $ref: '#/components/schemas/CallLevelEventPayload' type: array x-stream-index: '010' call_id: type: string x-stream-index: '004' call_session_id: type: string x-stream-index: '005' call_started_at: format: date-time type: string x-stream-index: '006' call_type: type: string x-stream-index: '003' counts: $ref: '#/components/schemas/CallStatsParticipantCounts' x-stream-index: 008 duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' next: type: string x-stream-index: '002.001' participants: items: $ref: '#/components/schemas/CallStatsParticipant_2' type: array x-stream-index: 009 prev: type: string x-stream-index: '002.002' tmp_data_source: type: string x-stream-index: '011' required: - duration - call_type - call_id - call_session_id - counts - participants title: Response type: object RingSettingsResponse: properties: auto_cancel_timeout_ms: format: int32 type: integer x-stream-index: '002' incoming_call_timeout_ms: format: int32 type: integer x-stream-index: '001' missed_call_timeout_ms: format: int32 type: integer x-stream-index: '003' required: - incoming_call_timeout_ms - auto_cancel_timeout_ms - missed_call_timeout_ms type: object APNSPayload: properties: body: type: string x-stream-index: '002' content-available: format: int32 type: integer x-stream-index: '004' data: additionalProperties: {} type: object x-stream-index: '006' mutable-content: format: int32 type: integer x-stream-index: '005' sound: type: string x-stream-index: '003' title: type: string x-stream-index: '001' type: object QueryCallSessionParticipantStatsTimelineResponse: description: Basic response information nullable: true properties: call_id: type: string x-stream-index: '003' call_session_id: type: string x-stream-index: '004' call_type: type: string x-stream-index: '002' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' events: items: $ref: '#/components/schemas/CallParticipantTimeline' type: array x-stream-index: '007' user_id: type: string x-stream-index: '005' user_session_id: type: string x-stream-index: '006' required: - duration - call_type - call_id - call_session_id - user_id - user_session_id - events title: Response type: object QueryCallsRequest: nullable: true properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: backstage: operators: - $eq type: boolean cid: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: date created_by_user_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: string ended_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: date id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: string members: operators: - $in type: string ongoing: operators: - $eq type: boolean parent_call_cid: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: string starts_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: date team: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: string type: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte type: date x-stream-index: '003' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '006.001' next: type: string x-stream-index: '006.002' prev: type: string x-stream-index: '006.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 2 title: Sort type: array x-stream-index: '004' x-stream-sort-combinations: - - starts_at - - created_at - - starts_at - created_at - - updated_at - - ended_at - - type - - id - - cid title: QueryCallsRequest type: object UpdateSIPInboundRoutingRuleResponse: description: Response containing the updated SIP Inbound Routing Rule nullable: true properties: duration: type: string x-stream-index: '002.001' sip_inbound_routing_rule: $ref: '#/components/schemas/SIPInboundRoutingRuleResponse' description: The updated SIP Inbound Routing Rule title: SIPInboundRoutingRuleResponse x-stream-index: '001' required: - duration title: UpdateSIPInboundRoutingRuleResponse type: object CallsPerDayReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateCallsPerDayReportResponse' type: array x-stream-index: '001' required: - daily type: object TranscriptionSettingsResponse: properties: closed_caption_mode: enum: - available - disabled - auto-on type: string x-stream-index: '002' language: enum: - auto - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - 'no' - uk - bg - et - sl - sk type: string x-stream-index: '004' mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' speech_segment_config: $ref: '#/components/schemas/SpeechSegmentConfig' x-stream-index: '006' translation: $ref: '#/components/schemas/TranslationSettings' x-stream-index: '005' required: - mode - closed_caption_mode - languages - language type: object VideoSettingsResponse: properties: access_request_enabled: type: boolean x-stream-index: '002' camera_default_on: type: boolean x-stream-index: '004' camera_facing: enum: - front - back - external type: string x-stream-index: '005' enabled: type: boolean x-stream-index: '001' target_resolution: $ref: '#/components/schemas/TargetResolution' x-stream-index: '003' required: - enabled - access_request_enabled - target_resolution - camera_default_on - camera_facing type: object CallSessionResponse: properties: accepted_by: additionalProperties: format: date-time type: number type: object x-stream-index: 008 anonymous_participant_count: format: int32 type: integer x-stream-index: '006' ended_at: format: date-time type: number x-stream-index: '003' id: type: string x-stream-index: '001' live_ended_at: format: date-time type: number x-stream-index: '011' live_started_at: format: date-time type: number x-stream-index: '010' missed_by: additionalProperties: format: date-time type: number type: object x-stream-index: 009 participants: items: $ref: '#/components/schemas/CallParticipantResponse' type: array x-stream-index: '004' participants_count_by_role: additionalProperties: format: int32 type: integer type: object x-stream-index: '005' rejected_by: additionalProperties: format: date-time type: number type: object x-stream-index: '007' started_at: format: date-time type: number x-stream-index: '002' timer_ends_at: format: date-time type: number x-stream-index: '012' required: - id - participants - participants_count_by_role - anonymous_participant_count - rejected_by - accepted_by - missed_by type: object ChatActivityStatsResponse: properties: Messages: $ref: '#/components/schemas/MessageStatsResponse' x-stream-index: '001' type: object StopLiveRequest: nullable: true properties: continue_closed_caption: type: boolean x-stream-index: 009 continue_composite_recording: type: boolean x-stream-index: '005' continue_hls: type: boolean x-stream-index: '003' continue_individual_recording: type: boolean x-stream-index: '006' continue_raw_recording: type: boolean x-stream-index: '007' continue_recording: type: boolean x-stream-index: '004' continue_rtmp_broadcasts: type: boolean x-stream-index: '010' continue_transcription: type: boolean x-stream-index: 008 title: StopLiveRequest type: object LocationResponse: description: Geographic location metadata properties: continent_code: description: Continent code title: string type: string x-stream-index: '003' country_iso_code: description: Country ISO code title: string type: string x-stream-index: '002' subdivision_iso_code: description: Subdivision ISO code title: string type: string x-stream-index: '001' required: - subdivision_iso_code - country_iso_code - continent_code title: Location type: object SessionSettingsResponse: properties: inactivity_timeout_seconds: format: int32 maximum: 900 minimum: 5 type: integer x-stream-index: '001' required: - inactivity_timeout_seconds type: object IngressAudioEncodingOptionsRequest: properties: bitrate: maximum: 128000 minimum: 16000 type: integer x-stream-index: '003' channels: enum: - '1' - '2' format: int32 type: integer x-stream-index: '001' enable_dtx: type: boolean x-stream-index: '002' required: - channels - bitrate type: object StartClosedCaptionsRequest: nullable: true properties: enable_transcription: description: Enable transcriptions along with closed captions title: Enable Transcription type: boolean x-stream-index: '002' external_storage: description: Which external storage to use for transcriptions (only applicable if enable_transcription is true) title: External Storage type: string x-stream-index: '003' language: description: 'The spoken language in the call, if not provided the language defined in the transcription settings will be used. One of: auto, ar, bg, ca, cs, da, de, el, en, es, et, fi, fr, he, hi, hr, hu, id, it, ja, ko, ms, nl, no, pl, pt, ro, ru, sk, sl, sv, ta, th, tl, tr, uk, zh' enum: - auto - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - 'no' - uk - bg - et - sl - sk title: Language type: string x-stream-index: '004' speech_segment_config: $ref: '#/components/schemas/SpeechSegmentConfig' x-stream-index: '005' type: object SendCallEventRequest: description: Send a call event to the other user nullable: true properties: custom: additionalProperties: {} title: Custom type: object x-stream-index: '004' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' title: SendCallEventRequest type: object RawRecordingResponse: properties: status: type: string x-stream-index: '001' required: - status type: object CallStatsMapSubscribers: properties: locations: items: $ref: '#/components/schemas/CallStatsMapLocation' type: array x-stream-index: '001' participants: items: $ref: '#/components/schemas/CallStatsMapSubscriber' type: array x-stream-index: '002' required: - locations type: object IngressSettingsRequest: properties: audio_encoding_options: $ref: '#/components/schemas/IngressAudioEncodingOptionsRequest' x-stream-index: '002' enabled: type: boolean x-stream-index: '001' video_encoding_options: additionalProperties: $ref: '#/components/schemas/IngressVideoEncodingOptionsRequest' type: object x-stream-index: '003' type: object CreateExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object PublisherVideoMetrics: properties: bitrate: $ref: '#/components/schemas/ActiveCallsBitrateStats' x-stream-index: '005' fps_30: $ref: '#/components/schemas/ActiveCallsFPSStats' x-stream-index: '002' frame_encoding_time_ms: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '003' jitter_ms: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '001' resolution: $ref: '#/components/schemas/ActiveCallsResolutionStats' x-stream-index: '004' type: object ResolveSipInboundResponse: description: Response containing resolved SIP inbound routing information nullable: true properties: credentials: $ref: '#/components/schemas/SipInboundCredentials' description: Credentials for the SIP call title: SipInboundCredentials x-stream-index: '001' duration: type: string x-stream-index: '004.001' sip_routing_rule: $ref: '#/components/schemas/SIPInboundRoutingRuleResponse' description: The matching SIP inbound routing rule title: SIPInboundRoutingRuleResponse x-stream-index: '002' sip_trunk: $ref: '#/components/schemas/SIPTrunkResponse' description: The resolved SIP trunk for the inbound call title: SIPTrunkResponse x-stream-index: '003' required: - credentials - duration title: ResolveSipInboundResponse type: object SDKUsageReport: properties: per_sdk_usage: additionalProperties: $ref: '#/components/schemas/PerSDKUsageReport' type: object x-stream-index: '001' required: - per_sdk_usage type: object UnpinRequest: description: UnpinRequest is the payload for unpinning a message. nullable: true properties: session_id: description: the session ID of the user who pinned the message title: SessionID type: string x-stream-index: '003' user_id: description: the user ID of the user who pinned the message title: UserID type: string x-stream-index: '002' required: - user_id - session_id title: UnpinRequest type: object BlockUserRequest: description: BlockUserRequest is the payload for blocking a user. nullable: true properties: user_id: description: the user to block title: UserID type: string x-stream-index: '003' required: - user_id title: BlockUserRequest type: object APIError: nullable: true properties: StatusCode: description: Response HTTP status code format: int32 title: Status code type: integer x-stream-index: '004' code: description: API error code format: int32 title: Code type: integer x-stream-index: '001' details: description: Additional error-specific information items: type: integer title: Details type: array x-stream-index: '007' duration: description: Request duration title: Duration type: string x-stream-index: '005' exception_fields: additionalProperties: type: string description: Additional error info title: Exception fields type: object x-stream-index: '003' message: description: Message describing an error title: Message type: string x-stream-index: '002' more_info: description: URL with additional information title: More info type: string x-stream-index: '006' unrecoverable: description: Flag that indicates if the error is unrecoverable, requests that return unrecoverable errors should not be retried, this error only applies to the request that caused it title: Unrecoverable type: boolean x-stream-index: 008 required: - code - message - StatusCode - duration - more_info - details title: Error response type: object QueryCallSessionParticipantStatsResponse: description: Basic response information nullable: true properties: call_ended_at: format: date-time type: number x-stream-index: '007' call_events: items: $ref: '#/components/schemas/CallLevelEventPayload' type: array x-stream-index: '010' call_id: type: string x-stream-index: '004' call_session_id: type: string x-stream-index: '005' call_started_at: format: date-time type: number x-stream-index: '006' call_type: type: string x-stream-index: '003' counts: $ref: '#/components/schemas/CallStatsParticipantCounts' x-stream-index: 008 duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' next: type: string x-stream-index: '002.001' participants: items: $ref: '#/components/schemas/CallStatsParticipant' type: array x-stream-index: 009 prev: type: string x-stream-index: '002.002' tmp_data_source: type: string x-stream-index: '011' required: - duration - call_type - call_id - call_session_id - counts - participants title: Response type: object NotificationSettingsResponse: properties: call_live_started: $ref: '#/components/schemas/EventNotificationSettingsResponse' x-stream-index: '002' call_missed: $ref: '#/components/schemas/EventNotificationSettingsResponse' x-stream-index: '006' call_notification: $ref: '#/components/schemas/EventNotificationSettingsResponse' x-stream-index: '004' call_ring: $ref: '#/components/schemas/EventNotificationSettingsResponse' x-stream-index: '005' enabled: type: boolean x-stream-index: '001' session_started: $ref: '#/components/schemas/EventNotificationSettingsResponse' x-stream-index: '003' required: - enabled - call_live_started - session_started - call_notification - call_ring - call_missed type: object GetCallTypeResponse_2: nullable: true properties: created_at: format: date-time type: string x-stream-index: '001.005' duration: type: string x-stream-index: '002.001' external_storage: type: string x-stream-index: '001.007' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '001.002' name: type: string x-stream-index: '001.001' notification_settings: $ref: '#/components/schemas/NotificationSettingsResponse' x-stream-index: '001.004' settings: $ref: '#/components/schemas/CallSettingsResponse' x-stream-index: '001.003' updated_at: format: date-time type: string x-stream-index: '001.006' required: - name - grants - settings - notification_settings - created_at - updated_at - duration title: GetCallTypeResponse type: object DailyAggregateUserFeedbackReportResponse: properties: date: type: string x-stream-index: '001' report: $ref: '#/components/schemas/UserFeedbackReport' x-stream-index: '002' required: - date - report type: object CompositeRecordingResponse: properties: status: type: string x-stream-index: '001' required: - status type: object S3Request: description: Config for creating Amazon S3 storage. properties: s3_api_key: description: 'The AWS API key. To use Amazon S3 as your storage provider, you have two authentication options: IAM role or API key. If you do not specify the `s3_api_key` parameter, Stream will use IAM role authentication. In that case make sure to have the correct IAM role configured for your application.' title: S3ApiKey type: string x-stream-index: '002' s3_custom_endpoint_url: description: The custom endpoint for S3. If you want to use a custom endpoint, you must also provide the `s3_api_key` and `s3_secret` parameters. title: S3CustomEndpointURL type: string x-stream-index: '004' s3_region: description: The AWS region where the bucket is hosted title: S3Region type: string x-stream-index: '001' s3_secret: description: The AWS API Secret title: S3Secret type: string x-stream-index: '003' required: - s3_region title: S3Request type: object CallSettingsResponse: properties: audio: $ref: '#/components/schemas/AudioSettingsResponse' x-stream-index: '001' backstage: $ref: '#/components/schemas/BackstageSettingsResponse' x-stream-index: '002' broadcasting: $ref: '#/components/schemas/BroadcastSettingsResponse' x-stream-index: '003' frame_recording: $ref: '#/components/schemas/FrameRecordingSettingsResponse' x-stream-index: 008 geofencing: $ref: '#/components/schemas/GeofenceSettingsResponse' x-stream-index: '004' individual_recording: $ref: '#/components/schemas/IndividualRecordingSettingsResponse' x-stream-index: '006' ingress: $ref: '#/components/schemas/IngressSettingsResponse' x-stream-index: '016' limits: $ref: '#/components/schemas/LimitsSettingsResponse' x-stream-index: '014' raw_recording: $ref: '#/components/schemas/RawRecordingSettingsResponse' x-stream-index: '007' recording: $ref: '#/components/schemas/RecordSettingsResponse' x-stream-index: '005' ring: $ref: '#/components/schemas/RingSettingsResponse' x-stream-index: 009 screensharing: $ref: '#/components/schemas/ScreensharingSettingsResponse' x-stream-index: '010' session: $ref: '#/components/schemas/SessionSettingsResponse' x-stream-index: '015' thumbnails: $ref: '#/components/schemas/ThumbnailsSettingsResponse' x-stream-index: '013' transcription: $ref: '#/components/schemas/TranscriptionSettingsResponse' x-stream-index: '011' video: $ref: '#/components/schemas/VideoSettingsResponse' x-stream-index: '012' required: - audio - backstage - broadcasting - geofencing - recording - individual_recording - raw_recording - frame_recording - ring - screensharing - transcription - video - thumbnails - limits - session type: object StartRTMPBroadcastsResponse: description: StartRTMPBroadcastsResponse is the payload for starting an RTMP broadcast. nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: StartRTMPBroadcastsResponse type: object ActiveCallsResolutionStats: properties: p10: format: float type: number x-stream-index: '001' p50: format: float type: number x-stream-index: '002' required: - p10 - p50 type: object SubscriberAudioMetrics: properties: concealment_pct: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '003' jitter_ms: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '001' packets_lost_pct: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '002' type: object UserRatingReportResponse: properties: average: format: float type: number x-stream-index: '002' count: format: int32 type: integer x-stream-index: '001' required: - count - average type: object SIPCallConfigsRequest: description: Configuration for SIP call settings properties: custom_data: additionalProperties: {} description: Custom data associated with the call title: object type: object x-stream-index: '001' title: SIPCallConfigsRequest type: object IngressSettingsResponse: properties: audio_encoding_options: $ref: '#/components/schemas/IngressAudioEncodingResponse' x-stream-index: '002' enabled: type: boolean x-stream-index: '001' video_encoding_options: additionalProperties: $ref: '#/components/schemas/IngressVideoEncodingResponse' type: object x-stream-index: '003' required: - enabled type: object UpdateCallMembersRequest: description: Update call members nullable: true properties: remove_members: description: List of userID to remove items: type: string maxItems: 100 title: Remove Members type: array x-stream-index: '003' update_members: description: List of members to update or insert items: $ref: '#/components/schemas/MemberRequest' maxItems: 100 title: Update Members type: array x-stream-index: '004' title: UpdateCallMembersRequest type: object CallLevelEventPayload: properties: event_type: type: string x-stream-index: '003' payload: additionalProperties: {} type: object x-stream-index: '004' timestamp: format: int64 type: integer x-stream-index: '001' user_id: type: string x-stream-index: '002' required: - timestamp - user_id - event_type type: object DeleteSIPTrunkResponse: description: Response confirming SIP trunk deletion nullable: true properties: duration: type: string x-stream-index: '001.001' required: - duration title: DeleteSIPTrunkResponse type: object StartTranscriptionResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: StartTranscriptionResponse type: object PublisherAllMetrics: properties: audio: $ref: '#/components/schemas/PublisherAudioMetrics' x-stream-index: '001' rtt_ms: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '003' video: $ref: '#/components/schemas/PublisherVideoMetrics' x-stream-index: '002' type: object ParticipantCountOverTimeResponse: properties: by_minute: items: $ref: '#/components/schemas/ParticipantCountByMinuteResponse' type: array x-stream-index: '001' type: object StopLiveResponse: nullable: true properties: call: $ref: '#/components/schemas/CallResponse' description: The call that was stopped title: Call x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - call - duration title: StopLiveResponse type: object VideoReactionsResponse: nullable: true properties: count_over_time: $ref: '#/components/schemas/VideoReactionOverTimeResponse' x-stream-index: '002' reaction: type: string x-stream-index: '001' required: - reaction type: object PublishedTrackMetrics: properties: bitrate: $ref: '#/components/schemas/MetricTimeSeries' x-stream-index: '004' codec: type: string x-stream-index: '003' framerate: $ref: '#/components/schemas/MetricTimeSeries' x-stream-index: '005' resolution: $ref: '#/components/schemas/ResolutionMetricsTimeSeries' x-stream-index: '006' track_id: type: string x-stream-index: '001' track_type: type: string x-stream-index: '002' warnings: items: $ref: '#/components/schemas/SessionWarningResponse' type: array x-stream-index: '007' type: object ClientOSDataResponse: properties: architecture: type: string x-stream-index: '003' name: type: string x-stream-index: '001' version: type: string x-stream-index: '002' type: object QueryCallStatsMapResponse_2: description: Basic response information nullable: true properties: call_ended_at: format: date-time type: string x-stream-index: '006' call_id: type: string x-stream-index: '003' call_session_id: type: string x-stream-index: '004' call_started_at: format: date-time type: string x-stream-index: '005' call_type: type: string x-stream-index: '002' counts: $ref: '#/components/schemas/CallStatsParticipantCounts' x-stream-index: '011' data_source: type: string x-stream-index: '010' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' end_time: format: date-time type: string x-stream-index: 008 generated_at: format: date-time type: string x-stream-index: 009 publishers: $ref: '#/components/schemas/CallStatsMapPublishers' x-stream-index: '013' sfus: $ref: '#/components/schemas/CallStatsMapSFUs' x-stream-index: '014' start_time: format: date-time type: string x-stream-index: '007' subscribers: $ref: '#/components/schemas/CallStatsMapSubscribers' x-stream-index: '012' required: - duration - call_type - call_id - call_session_id - counts title: Response type: object RTMPSettingsRequest: properties: enabled: description: Whether RTMP broadcasting is enabled title: Enabled type: boolean x-stream-index: '001' layout: $ref: '#/components/schemas/LayoutSettingsRequest' description: Layout for the composed RTMP stream title: LayoutSettings x-stream-index: '003' quality: description: 'Resolution to set for the RTMP stream. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560' enum: - 360p - 480p - 720p - 1080p - 1440p - portrait-360x640 - portrait-480x854 - portrait-720x1280 - portrait-1080x1920 - portrait-1440x2560 title: Quality type: string x-stream-index: '002' title: RTMPSettingsRequest type: object EgressResponse: properties: broadcasting: type: boolean x-stream-index: '001' composite_recording: $ref: '#/components/schemas/CompositeRecordingResponse' x-stream-index: '005' frame_recording: $ref: '#/components/schemas/FrameRecordingResponse' x-stream-index: '004' hls: $ref: '#/components/schemas/EgressHLSResponse' x-stream-index: '002' individual_recording: $ref: '#/components/schemas/IndividualRecordingResponse' x-stream-index: '006' raw_recording: $ref: '#/components/schemas/RawRecordingResponse' x-stream-index: '007' rtmps: items: $ref: '#/components/schemas/EgressRTMPResponse' type: array x-stream-index: '003' required: - broadcasting - rtmps type: object ActiveCallsFPSStats: properties: p05: format: float type: number x-stream-index: '001' p10: format: float type: number x-stream-index: '002' p50: format: float type: number x-stream-index: '003' p90: format: float type: number x-stream-index: '004' required: - p05 - p10 - p50 - p90 type: object UserFeedbackReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateUserFeedbackReportResponse' type: array x-stream-index: '001' required: - daily type: object SendCallEventResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: SendCallEventResponse type: object GetCallParticipantSessionMetricsResponse_2: description: Basic response information nullable: true properties: client: $ref: '#/components/schemas/SessionClient' x-stream-index: '005' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' is_publisher: type: boolean x-stream-index: '007' is_subscriber: type: boolean x-stream-index: 008 joined_at: format: date-time type: string x-stream-index: '006' published_tracks: items: $ref: '#/components/schemas/PublishedTrackMetrics' type: array x-stream-index: 009 publisher_type: type: string x-stream-index: '004' user_id: type: string x-stream-index: '002' user_session_id: type: string x-stream-index: '003' required: - duration title: Response type: object SIPCallerConfigsResponse: description: SIP caller configuration response properties: custom_data: additionalProperties: {} description: Custom data associated with the caller title: object type: object x-stream-index: '002' id: description: Unique identifier for the caller title: string type: string x-stream-index: '001' required: - id - custom_data title: SIPCallerConfigsResponse type: object CallStateResponseFields: description: CallStateResponseFields is the payload for call state response properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: '001' members: description: List of call members items: $ref: '#/components/schemas/MemberResponse' title: Members type: array x-stream-index: '002' own_capabilities: items: $ref: '#/components/schemas/OwnCapability' type: array x-stream-index: '004' required: - call - members - own_capabilities - blocked_users title: CallStateResponseFields type: object UpdateCallMembersResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' members: items: $ref: '#/components/schemas/MemberResponse' type: array x-stream-index: '002' required: - duration - members title: Response type: object ParticipantSessionDetails: properties: duration_in_seconds: format: int64 type: integer x-stream-index: '007' joined_at: format: date-time type: number x-stream-index: '003' left_at: format: date-time type: number x-stream-index: '004' publisher_type: type: string x-stream-index: '005' roles: items: type: string type: array x-stream-index: '006' user_id: type: string x-stream-index: '001' user_session_id: type: string x-stream-index: '002' required: - user_id - user_session_id - publisher_type - roles type: object IngressVideoLayerResponse: nullable: true properties: bitrate: type: integer x-stream-index: '002' codec: type: string x-stream-index: '001' frame_rate_limit: type: integer x-stream-index: '005' max_dimension: type: integer x-stream-index: '004' min_dimension: type: integer x-stream-index: '003' required: - codec - bitrate - min_dimension - max_dimension - frame_rate_limit type: object CallStatsParticipantSession_2: properties: browser: type: string x-stream-index: '010' browser_version: type: string x-stream-index: '011' cq_score: format: int32 type: integer x-stream-index: '017' current_ip: type: string x-stream-index: '012' current_sfu: type: string x-stream-index: '013' distance_to_sfu_kilometers: format: float type: number x-stream-index: '014' ended_at: format: date-time type: string x-stream-index: '004' freezes_duration_ms: type: integer x-stream-index: '020' ingress: type: string x-stream-index: '022' is_live: type: boolean x-stream-index: '005' jitter_ms: type: integer x-stream-index: 018 latency_ms: type: integer x-stream-index: 019 location: $ref: '#/components/schemas/CallStatsLocation' x-stream-index: '015' os: type: string x-stream-index: '021' published_tracks: $ref: '#/components/schemas/PublishedTrackFlags' x-stream-index: '016' publisher_type: type: string x-stream-index: '006' sdk: type: string x-stream-index: '007' sdk_version: type: string x-stream-index: 008 started_at: format: date-time type: string x-stream-index: '003' unified_session_id: type: string x-stream-index: '002' user_session_id: type: string x-stream-index: '001' webrtc_version: type: string x-stream-index: 009 required: - user_session_id - is_live - published_tracks type: object GeofenceSettingsRequest: properties: names: items: type: string type: array x-stream-index: '001' type: object EventNotificationSettingsRequest: properties: apns: $ref: '#/components/schemas/APNSPayload' x-stream-index: '002' enabled: type: boolean x-stream-index: '001' fcm: $ref: '#/components/schemas/FCMPayload' x-stream-index: '003' type: object QueryCallParticipantsRequest: nullable: true properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: published_tracks: operators: - $eq - $in type: string user_id: operators: - $eq - $in type: string x-stream-index: '003' type: object GoLiveResponse: description: Basic response information nullable: true properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - call - duration title: Response type: object SessionClient: properties: ip: type: string x-stream-index: '003' location: $ref: '#/components/schemas/CallStatsLocation' x-stream-index: '005' name: type: string x-stream-index: '001' network_type: type: string x-stream-index: '004' version: type: string x-stream-index: '002' type: object UserResponse: description: User response object properties: avg_response_time: format: int32 type: integer x-stream-index: '001.018' ban_expires: description: Date when ban expires format: date-time title: Ban expires type: number x-stream-index: '004' banned: description: Whether a user is banned or not title: Banned type: boolean x-stream-index: '001.012' blocked_user_ids: items: type: string type: array x-stream-index: '001.017' bypass_moderation: type: boolean x-stream-index: '003' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '001.009' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '001.004' deactivated_at: description: Date of deactivation format: date-time title: Deactivated at type: number x-stream-index: '001.016' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: number x-stream-index: '001.011' devices: description: List of devices user is using items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: '007' id: description: Unique user identifier title: ID type: string x-stream-index: '001.001' image: title: Image type: string x-stream-index: '001.003' invisible: type: boolean x-stream-index: 008 language: description: Preferred language of a user title: Language type: string x-stream-index: '001.005' last_active: description: Date of last activity format: date-time title: Last active type: number x-stream-index: '001.014' name: description: Optional name of user title: Name type: string x-stream-index: '001.002' online: description: Whether a user online or not title: Online type: boolean x-stream-index: '001.013' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' description: User privacy settings title: Privacy settings x-stream-index: '006' push_notifications: $ref: '#/components/schemas/PushNotificationSettingsResponse' description: User push notification settings title: Push notifications x-stream-index: '005' revoke_tokens_issued_before: description: Revocation date for tokens format: date-time title: Revoke tokens issued before type: number x-stream-index: '001.015' role: description: Determines the set of user permissions title: Role type: string x-stream-index: '001.006' shadow_banned: description: Whether a user is shadow banned title: Shadow banned type: boolean x-stream-index: '002' teams: description: List of teams user is a part of items: type: string title: Teams type: array x-stream-index: '001.007' teams_role: additionalProperties: type: string type: object x-stream-index: '001.008' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '001.010' required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids - shadow_banned - invisible title: UserResponse type: object DeviceResponse: description: Response for Device nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '004' disabled: description: Whether device is disabled or not title: Disabled type: boolean x-stream-index: '005' disabled_reason: description: Reason explaining why device had been disabled title: Reason type: string x-stream-index: '006' id: description: Device ID title: ID type: string x-stream-index: '003' push_provider: description: Push provider title: PushProvider type: string x-stream-index: '001' push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: '002' user_id: description: User ID title: UserID type: string x-stream-index: 008 voip: description: When true the token is for Apple VoIP push notifications title: Voip type: boolean x-stream-index: '007' required: - push_provider - id - created_at - user_id title: DeviceResponse type: object PrivacySettingsResponse: properties: delivery_receipts: $ref: '#/components/schemas/DeliveryReceiptsResponse' x-stream-index: '003' read_receipts: $ref: '#/components/schemas/ReadReceiptsResponse' x-stream-index: '002' typing_indicators: $ref: '#/components/schemas/TypingIndicatorsResponse' x-stream-index: '001' type: object DeleteCallResponse: description: DeleteCallResponse is the payload for deleting a call. nullable: true properties: call: $ref: '#/components/schemas/CallResponse' title: Call x-stream-index: '001' duration: type: string x-stream-index: '003.001' task_id: title: TaskID type: string x-stream-index: '002' required: - call - duration title: DeleteCallResponse type: object Response: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001' required: - duration title: Response type: object EndCallResponse: description: Response for ending a call nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: EndCallResponse type: object RTMPBroadcastRequest: description: RTMPBroadcastRequest is the payload for starting an RTMP broadcast. properties: layout: $ref: '#/components/schemas/LayoutSettingsRequest' description: If provided, will override the call's RTMP settings layout title: Layout x-stream-index: '005' name: description: Name identifier for RTMP broadcast, must be unique in call maxLength: 255 title: Name type: string x-stream-index: '001' quality: description: 'If provided, will override the call''s RTMP settings quality. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560' enum: - 360p - 480p - 720p - 1080p - 1440p - portrait-360x640 - portrait-480x854 - portrait-720x1280 - portrait-1080x1920 - portrait-1440x2560 title: Quality type: string x-stream-index: '004' stream_key: description: If provided, will be appended at the end of stream_url title: Stream Key type: string x-stream-index: '003' stream_url: description: URL for the RTMP server to send the call to maxLength: 255 title: Stream URL type: string x-stream-index: '002' required: - name - stream_url title: RTMPBroadcastRequest type: object StartClosedCaptionsResponse: nullable: true properties: duration: type: string x-stream-index: '001.001' required: - duration type: object CallStatsMapLocation: properties: count: format: int32 type: integer x-stream-index: '002' live_count: format: int32 type: integer x-stream-index: '003' location: $ref: '#/components/schemas/CallStatsLocation' x-stream-index: '001' required: - count - live_count type: object CreateSIPTrunkResponse: description: Response containing the created SIP trunk nullable: true properties: duration: type: string x-stream-index: '002.001' sip_trunk: $ref: '#/components/schemas/SIPTrunkResponse' description: The created SIP trunk title: SIPTrunkResponse x-stream-index: '001' required: - duration title: CreateSIPTrunkResponse type: object UpdateCallResponse: description: Response for updating a call nullable: true properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: '001.001' duration: type: string x-stream-index: '002.001' members: items: $ref: '#/components/schemas/MemberResponse' type: array x-stream-index: '001.002' own_capabilities: items: $ref: '#/components/schemas/OwnCapability' type: array x-stream-index: '001.004' required: - call - members - own_capabilities - blocked_users - duration title: UpdateCallResponse type: object GetOrCreateCallResponse: nullable: true properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: '001.001' created: type: boolean x-stream-index: '002' duration: type: string x-stream-index: '003.001' members: items: $ref: '#/components/schemas/MemberResponse' type: array x-stream-index: '001.002' own_capabilities: items: $ref: '#/components/schemas/OwnCapability' type: array x-stream-index: '001.004' required: - call - members - own_capabilities - blocked_users - created - duration title: GetOrCreateCallResponse type: object SIPInboundRoutingRulePinConfigsRequest: description: Configuration for PIN routing rule calls properties: custom_webhook_url: description: Optional webhook URL for custom PIN handling maxLength: 2048 title: string type: string x-stream-index: '005' pin_failed_attempt_prompt: description: Prompt message for failed PIN attempts maxLength: 500 title: string type: string x-stream-index: '002' pin_hangup_prompt: description: Prompt message for hangup after PIN input maxLength: 500 title: string type: string x-stream-index: '004' pin_prompt: description: Prompt message for PIN input maxLength: 500 title: string type: string x-stream-index: '001' pin_success_prompt: description: Prompt message for successful PIN input maxLength: 500 title: string type: string x-stream-index: '003' title: SIPInboundRoutingRulePinConfigsRequest type: object UserFeedbackResponse: properties: cid: type: string x-stream-index: '001' custom: additionalProperties: {} type: object x-stream-index: 009 platform: $ref: '#/components/schemas/PlatformDataResponse' x-stream-index: 008 rating: format: int32 type: integer x-stream-index: '004' reason: type: string x-stream-index: '005' sdk: type: string x-stream-index: '006' sdk_version: type: string x-stream-index: '007' session_id: type: string x-stream-index: '002' user_id: type: string x-stream-index: '003' required: - cid - session_id - user_id - rating - reason - sdk - sdk_version - platform type: object PerSDKUsageReport: nullable: true properties: by_version: additionalProperties: format: int32 type: integer type: object x-stream-index: '002' total: format: int32 type: integer x-stream-index: '001' required: - total - by_version type: object SendClosedCaptionRequest: nullable: true properties: end_time: format: date-time title: Optional end time, defaults to start_time + 1s if omitted type: number x-stream-index: '007' language: title: The language of the closed caption. type: string x-stream-index: 009 service: title: The service that generated the closed caption. By default stream type: string x-stream-index: 008 speaker_id: maxLength: 256 title: Speaker user id type: string x-stream-index: '005' start_time: format: date-time title: Optional start time, defaults to now type: number x-stream-index: '006' text: maxLength: 32768 title: The caption text type: string x-stream-index: '004' translated: title: Whether the closed caption is translated. type: boolean x-stream-index: '010' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' required: - text - speaker_id type: object IndividualRecordingResponse: properties: status: type: string x-stream-index: '001' required: - status type: object GetCallSessionParticipantStatsDetailsResponse: description: Basic response information nullable: true properties: call_id: type: string x-stream-index: '003' call_session_id: type: string x-stream-index: '004' call_type: type: string x-stream-index: '002' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' publisher: $ref: '#/components/schemas/ParticipantSeriesPublisherStats' x-stream-index: 009 subscriber: $ref: '#/components/schemas/ParticipantSeriesSubscriberStats' x-stream-index: '010' timeframe: $ref: '#/components/schemas/ParticipantSeriesTimeframe' x-stream-index: '007' user: $ref: '#/components/schemas/ParticipantSeriesUserStats' x-stream-index: 008 user_id: type: string x-stream-index: '005' user_session_id: type: string x-stream-index: '006' required: - duration - call_type - call_id - call_session_id - user_id - user_session_id title: Response type: object ParticipantSeriesSubscriptionTrackMetrics: properties: publisher_name: type: string x-stream-index: '003' publisher_user_id: type: string x-stream-index: '001' publisher_user_session_id: type: string x-stream-index: '002' tracks: additionalProperties: items: $ref: '#/components/schemas/ParticipantSeriesTrackMetrics' type: array type: object x-stream-index: '004' required: - publisher_user_id type: object QueryCallStatsMapResponse: description: Basic response information nullable: true properties: call_ended_at: format: date-time type: number x-stream-index: '006' call_id: type: string x-stream-index: '003' call_session_id: type: string x-stream-index: '004' call_started_at: format: date-time type: number x-stream-index: '005' call_type: type: string x-stream-index: '002' counts: $ref: '#/components/schemas/CallStatsParticipantCounts' x-stream-index: '011' data_source: type: string x-stream-index: '010' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' end_time: format: date-time type: number x-stream-index: 008 generated_at: format: date-time type: number x-stream-index: 009 publishers: $ref: '#/components/schemas/CallStatsMapPublishers' x-stream-index: '013' sfus: $ref: '#/components/schemas/CallStatsMapSFUs' x-stream-index: '014' start_time: format: date-time type: number x-stream-index: '007' subscribers: $ref: '#/components/schemas/CallStatsMapSubscribers' x-stream-index: '012' required: - duration - call_type - call_id - call_session_id - counts title: Response type: object DeleteTranscriptionResponse: description: DeleteTranscriptionResponse is the payload for deleting a transcription. nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: DeleteTranscriptionResponse type: object SIPDirectRoutingRuleCallConfigsResponse: description: Direct routing rule call configuration response properties: call_id: description: ID of the call title: string type: string x-stream-index: '002' call_type: description: Type of the call title: string type: string x-stream-index: '001' required: - call_type - call_id title: SIPDirectRoutingRuleCallConfigsResponse type: object StopRecordingResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object RawRecordingSettingsRequest: properties: audio_only: description: If true, only audio tracks will be recorded title: AudioOnly type: boolean x-stream-index: '002' mode: description: 'Recording mode. One of: available, disabled, auto-on' enum: - available - disabled - auto-on title: Mode type: string x-stream-index: '001' required: - mode title: RawRecordingSettingsRequest type: object ActiveCallsLatencyStats: properties: p50: format: float type: number x-stream-index: '001' p90: format: float type: number x-stream-index: '002' required: - p50 - p90 type: object CallStatsMapSFUs: properties: locations: items: $ref: '#/components/schemas/SFULocationResponse' type: array x-stream-index: '001' required: - locations type: object CollectUserFeedbackResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object ReportByHistogramBucket: properties: category: type: string x-stream-index: '001' count: format: int32 type: integer x-stream-index: '005' lower_bound: $ref: '#/components/schemas/Bound' x-stream-index: '002' sum: format: float type: number x-stream-index: '004' upper_bound: $ref: '#/components/schemas/Bound' x-stream-index: '003' required: - category - sum - count type: object StopRTMPBroadcastsRequest: description: Request for stopping RTMP broadcasts nullable: true title: StopRTMPBroadcastsRequest type: object CreateGuestRequest: nullable: true properties: user: $ref: '#/components/schemas/UserRequest' description: User object which server acts upon title: User x-stream-index: '001' required: - user type: object CallParticipantCountReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateCallParticipantCountReportResponse' type: array x-stream-index: '001' required: - daily type: object HLSSettingsResponse: description: HLSSettings is the payload for HLS settings properties: auto_on: title: Auto On type: boolean x-stream-index: '001' enabled: title: Enabled type: boolean x-stream-index: '002' layout: $ref: '#/components/schemas/LayoutSettingsResponse' title: Layout x-stream-index: '004' quality_tracks: items: type: string title: Quality Tracks type: array x-stream-index: '003' required: - auto_on - enabled - quality_tracks - layout title: HLSSettingsResponse type: object UpdateCallTypeResponse: description: UpdateCallTypeResponse is the payload for updating a call type. nullable: true properties: created_at: description: the time the call type was created format: date-time title: CreatedAt type: number x-stream-index: '001.005' duration: type: string x-stream-index: '002.001' external_storage: description: the external storage for the call type title: ExternalStorage type: string x-stream-index: '001.007' grants: additionalProperties: items: type: string type: array description: the permissions granted to each role title: Grants type: object x-stream-index: '001.002' name: description: the name of the call type title: Name type: string x-stream-index: '001.001' notification_settings: $ref: '#/components/schemas/NotificationSettingsResponse' description: the notification settings for the call type title: NotificationSettings x-stream-index: '001.004' settings: $ref: '#/components/schemas/CallSettingsResponse' description: the settings for the call type title: Settings x-stream-index: '001.003' updated_at: description: the time the call type was last updated format: date-time title: UpdatedAt type: number x-stream-index: '001.006' required: - name - grants - settings - notification_settings - created_at - updated_at - duration title: UpdateCallTypeResponse type: object MetricDescriptor: properties: description: type: string x-stream-index: '003' label: type: string x-stream-index: '001' unit: type: string x-stream-index: '002' required: - label type: object CreateSIPTrunkRequest: description: Request to create a new SIP trunk nullable: true properties: allowed_ips: description: Optional list of allowed IPv4/IPv6 addresses or CIDR blocks items: type: string maxItems: 50 title: '[]string' type: array x-stream-index: '004' name: description: Name of the SIP trunk maxLength: 100 minLength: 1 title: string type: string x-stream-index: '001' numbers: description: Phone numbers associated with this SIP trunk items: type: string maxItems: 50 minItems: 1 title: '[]string' type: array x-stream-index: '002' password: description: Optional password for SIP trunk authentication maxLength: 255 title: string type: string x-stream-index: '003' required: - name - numbers title: CreateSIPTrunkRequest type: object StopRecordingRequest: nullable: true type: object CollectUserFeedbackRequest: nullable: true properties: custom: additionalProperties: {} type: object x-stream-index: 009 rating: format: int32 maximum: 5 minimum: 1 type: integer x-stream-index: '007' reason: maxLength: 1000 type: string x-stream-index: 008 sdk: maxLength: 50 type: string x-stream-index: '005' sdk_version: maxLength: 50 type: string x-stream-index: '006' user_session_id: maxLength: 50 type: string x-stream-index: '004' required: - sdk - sdk_version - rating type: object ResolveSipAuthResponse: description: Response containing the pre-authentication decision for a SIP trunk nullable: true properties: auth_result: description: 'Authentication result: password, accept, or no_trunk_found' title: string type: string x-stream-index: '001' duration: type: string x-stream-index: '005.001' password: description: Password for digest authentication (when auth_result is password) title: string type: string x-stream-index: '003' trunk_id: description: ID of the matched SIP trunk title: string type: string x-stream-index: '004' username: description: Username for digest authentication (when auth_result is password) title: string type: string x-stream-index: '002' required: - auth_result - duration title: ResolveSipAuthResponse type: object NotificationSettingsRequest: properties: call_live_started: $ref: '#/components/schemas/EventNotificationSettingsRequest' x-stream-index: '002' call_missed: $ref: '#/components/schemas/EventNotificationSettingsRequest' x-stream-index: '006' call_notification: $ref: '#/components/schemas/EventNotificationSettingsRequest' x-stream-index: '004' call_ring: $ref: '#/components/schemas/EventNotificationSettingsRequest' x-stream-index: '005' enabled: type: boolean x-stream-index: '001' session_started: $ref: '#/components/schemas/EventNotificationSettingsRequest' x-stream-index: '003' type: object DeviceDataResponse: properties: name: type: string x-stream-index: '001' version: type: string x-stream-index: '002' type: object ListTranscriptionsResponse: nullable: true properties: duration: type: string x-stream-index: '001.001' transcriptions: description: List of transcriptions for the call items: $ref: '#/components/schemas/CallTranscription' title: Transcriptions type: array x-stream-index: '002' required: - duration - transcriptions title: ListTranscriptionsResponse type: object KickUserResponse: description: KickUserResponse is the payload for kicking a user from a call. nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: KickUserResponse type: object CallResponse: description: Represents a call properties: backstage: type: boolean x-stream-index: '017' blocked_user_ids: items: type: string type: array x-stream-index: 019 captioning: type: boolean x-stream-index: '013' channel_cid: type: string x-stream-index: '025' cid: description: The unique identifier for a call (:) title: CID type: string x-stream-index: '004' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: 009 created_by: $ref: '#/components/schemas/UserResponse' description: The user that created the call title: Created By x-stream-index: '007' current_session_id: type: string x-stream-index: '005' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: 008 egress: $ref: '#/components/schemas/EgressResponse' x-stream-index: '022' ended_at: description: Date/time when the call ended format: date-time title: Ended At type: number x-stream-index: '015' id: description: Call ID title: ID type: string x-stream-index: '003' ingress: $ref: '#/components/schemas/CallIngressResponse' x-stream-index: '020' join_ahead_time_seconds: format: int32 type: integer x-stream-index: '024' recording: type: boolean x-stream-index: '011' routing_number: description: 10-digit routing number for SIP routing title: Routing Number type: string x-stream-index: '026' session: $ref: '#/components/schemas/CallSessionResponse' x-stream-index: '021' settings: $ref: '#/components/schemas/CallSettingsResponse' x-stream-index: 018 starts_at: description: Date/time when the call will start format: date-time title: Starts At type: number x-stream-index: '016' team: type: string x-stream-index: '006' thumbnails: $ref: '#/components/schemas/ThumbnailResponse' x-stream-index: '023' transcribing: type: boolean x-stream-index: '012' translating: type: boolean x-stream-index: '014' type: description: The type of call title: Type type: string x-stream-index: '002' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '010' required: - type - id - cid - current_session_id - created_by - custom - created_at - updated_at - recording - transcribing - captioning - translating - backstage - settings - blocked_user_ids - ingress - egress title: CallResponse type: object UnpinResponse: description: UnpinResponse is the payload for unpinning a message. nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: UnpinResponse type: object QueryCallParticipantSessionsResponse: description: Basic response information nullable: true properties: call_id: type: string x-stream-index: '004' call_session_id: type: string x-stream-index: '005' call_type: type: string x-stream-index: '003' duration: description: Duration of the request in milliseconds format: int64 title: Duration type: integer x-stream-index: '007' next: type: string x-stream-index: '002.001' participants_sessions: items: $ref: '#/components/schemas/ParticipantSessionDetails' type: array x-stream-index: '010' prev: type: string x-stream-index: '002.002' session: $ref: '#/components/schemas/CallSessionResponse' x-stream-index: '006' total_participant_duration: format: int64 type: integer x-stream-index: 009 total_participant_sessions: format: int32 type: integer x-stream-index: 008 required: - call_type - call_id - call_session_id - duration - total_participant_sessions - total_participant_duration - participants_sessions title: Response type: object ParticipantSeriesTrackMetrics: properties: codec: type: string x-stream-index: '004' label: type: string x-stream-index: '002' metrics: additionalProperties: items: items: format: float type: number type: array type: array type: object x-stream-index: '006' metrics_meta: additionalProperties: $ref: '#/components/schemas/MetricDescriptor' type: object x-stream-index: '007' metrics_order: items: type: string type: array x-stream-index: 008 rid: type: string x-stream-index: '005' thresholds: additionalProperties: items: $ref: '#/components/schemas/MetricThreshold' type: array type: object x-stream-index: 009 track_id: type: string x-stream-index: '001' track_type: type: string x-stream-index: '003' required: - track_id type: object SipInboundCredentials: description: Credentials for SIP inbound call authentication properties: api_key: description: API key for the application title: string type: string x-stream-index: '005' call_custom_data: additionalProperties: {} description: Custom data associated with the call title: object type: object x-stream-index: '006' call_id: description: ID of the call title: string type: string x-stream-index: '002' call_type: description: Type of the call title: string type: string x-stream-index: '001' token: description: Authentication token for the call title: string type: string x-stream-index: '004' user_custom_data: additionalProperties: {} description: Custom data associated with the user title: object type: object x-stream-index: '007' user_id: description: User ID for the call title: string type: string x-stream-index: '003' required: - call_type - call_id - user_id - token - api_key - call_custom_data - user_custom_data title: SipInboundCredentials type: object ActiveCallsBitrateStats: properties: p10: format: float type: number x-stream-index: '001' p50: format: float type: number x-stream-index: '002' required: - p10 - p50 type: object RingSettingsRequest: properties: auto_cancel_timeout_ms: description: When none of the callees accept a ring call in this time a rejection will be sent by the caller with reason 'timeout' by the SDKs format: int32 maximum: 180000 minimum: 5000 title: AutoCancelTimeoutMs type: integer x-stream-index: '002' incoming_call_timeout_ms: description: When a callee is online but doesn't answer a ring call in this time a rejection will be sent with reason 'timeout' by the SDKs format: int32 maximum: 180000 minimum: 5000 title: IncomingCallTimeoutMs type: integer x-stream-index: '001' missed_call_timeout_ms: description: When a callee doesn't accept or reject a ring call in this time a missed call event will be sent format: int32 maximum: 180000 minimum: 5000 title: MissedCallTimeoutMs type: integer x-stream-index: '003' required: - incoming_call_timeout_ms - auto_cancel_timeout_ms title: RingSettingsRequest type: object ParticipantSeriesTimeframe: properties: max_points: format: int32 type: integer x-stream-index: '004' since: format: date-time type: number x-stream-index: '001' step_seconds: format: int32 type: integer x-stream-index: '003' until: format: date-time type: number x-stream-index: '002' required: - since - until - step_seconds - max_points type: object SIPDirectRoutingRuleCallConfigsRequest: description: Configuration for direct routing rule calls properties: call_id: description: ID of the call (handlebars template) maxLength: 255 title: string type: string x-stream-index: '002' call_type: description: Type of the call maxLength: 100 title: string type: string x-stream-index: '001' required: - call_type - call_id title: SIPDirectRoutingRuleCallConfigsRequest type: object Bound: properties: inclusive: type: boolean x-stream-index: '002' value: format: float type: number x-stream-index: '001' required: - value - inclusive type: object CallStatsParticipant: properties: latest_activity_at: format: date-time type: number x-stream-index: '005' name: type: string x-stream-index: '002' roles: items: type: string type: array x-stream-index: '003' sessions: items: $ref: '#/components/schemas/CallStatsParticipantSession' type: array x-stream-index: '004' user_id: type: string x-stream-index: '001' required: - user_id - sessions type: object SIPCallerConfigsRequest: description: Configuration for SIP caller settings properties: custom_data: additionalProperties: {} description: Custom data associated with the caller (values are handlebars templates) title: object type: object x-stream-index: '002' id: description: Unique identifier for the caller (handlebars template) maxLength: 255 title: string type: string x-stream-index: '001' required: - id title: SIPCallerConfigsRequest type: object UpdateCallTypeResponse_2: description: UpdateCallTypeResponse is the payload for updating a call type. nullable: true properties: created_at: description: the time the call type was created format: date-time title: CreatedAt type: string x-stream-index: '001.005' duration: type: string x-stream-index: '002.001' external_storage: description: the external storage for the call type title: ExternalStorage type: string x-stream-index: '001.007' grants: additionalProperties: items: type: string type: array description: the permissions granted to each role title: Grants type: object x-stream-index: '001.002' name: description: the name of the call type title: Name type: string x-stream-index: '001.001' notification_settings: $ref: '#/components/schemas/NotificationSettingsResponse' description: the notification settings for the call type title: NotificationSettings x-stream-index: '001.004' settings: $ref: '#/components/schemas/CallSettingsResponse' description: the settings for the call type title: Settings x-stream-index: '001.003' updated_at: description: the time the call type was last updated format: date-time title: UpdatedAt type: string x-stream-index: '001.006' required: - name - grants - settings - notification_settings - created_at - updated_at - duration title: UpdateCallTypeResponse type: object QueryCallMembersResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' members: items: $ref: '#/components/schemas/MemberResponse' type: array x-stream-index: '001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' required: - members - duration title: Response type: object StartHLSBroadcastingResponse: description: StartHLSBroadcastingResponse is the payload for starting an HLS broadcasting. nullable: true properties: duration: type: string x-stream-index: '001.001' playlist_url: description: the URL of the HLS playlist title: PlaylistURL type: string x-stream-index: '002' required: - duration - playlist_url title: StartHLSBroadcastingResponse type: object VideoReactionOverTimeResponse: properties: by_minute: items: $ref: '#/components/schemas/CountByMinuteResponse' type: array x-stream-index: '001' type: object ThumbnailsSettingsResponse: properties: enabled: type: boolean x-stream-index: '001' required: - enabled type: object SpeechSegmentConfig: properties: max_speech_caption_ms: format: int32 type: integer x-stream-index: '001' silence_duration_ms: format: int32 type: integer x-stream-index: '002' type: object UserFeedbackReport: properties: count_by_rating: additionalProperties: format: int32 type: integer type: object x-stream-index: '001' unreported_count: format: int32 type: integer x-stream-index: '002' required: - count_by_rating - unreported_count type: object RawRecordingSettingsResponse: properties: audio_only: type: boolean x-stream-index: '002' mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' required: - mode type: object NoiseCancellationSettings: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' required: - mode type: object SessionSettingsRequest: properties: inactivity_timeout_seconds: format: int32 maximum: 900 minimum: 5 type: integer x-stream-index: '001' required: - inactivity_timeout_seconds type: object CreateCallTypeResponse: description: Response for creating a call type nullable: true properties: created_at: description: the time the call type was created format: date-time title: CreatedAt type: number x-stream-index: '001.005' duration: type: string x-stream-index: '002.001' external_storage: description: the external storage for the call type title: ExternalStorage type: string x-stream-index: '001.007' grants: additionalProperties: items: type: string type: array description: the permissions granted to each role title: Grants type: object x-stream-index: '001.002' name: description: the name of the call type title: Name type: string x-stream-index: '001.001' notification_settings: $ref: '#/components/schemas/NotificationSettingsResponse' description: the notification settings for the call type title: NotificationSettings x-stream-index: '001.004' settings: $ref: '#/components/schemas/CallSettingsResponse' description: the settings for the call type title: Settings x-stream-index: '001.003' updated_at: description: the time the call type was last updated format: date-time title: UpdatedAt type: number x-stream-index: '001.006' required: - name - grants - settings - notification_settings - created_at - updated_at - duration title: CreateCallTypeResponse type: object GetCallReportResponse: description: Basic response information nullable: true properties: chat_activity: $ref: '#/components/schemas/ChatActivityStatsResponse' x-stream-index: '005' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' report: $ref: '#/components/schemas/ReportResponse' x-stream-index: '004' session: $ref: '#/components/schemas/CallSessionResponse' x-stream-index: '003' session_id: type: string x-stream-index: '002' video_reactions: items: $ref: '#/components/schemas/VideoReactionsResponse' type: array x-stream-index: '006' required: - duration - session_id - report title: Response type: object SubscriberAllMetrics: properties: audio: $ref: '#/components/schemas/SubscriberAudioMetrics' x-stream-index: '001' rtt_ms: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '003' video: $ref: '#/components/schemas/SubscriberVideoMetrics' x-stream-index: '002' type: object SIPInboundRoutingRuleRequest: description: Request to create or update a SIP Inbound Routing Rule nullable: true properties: call_configs: $ref: '#/components/schemas/SIPCallConfigsRequest' description: Call configuration (required) title: SIPCallConfigsRequest x-stream-index: 008 called_numbers: description: List of called numbers items: type: string maxItems: 50 title: '[]string' type: array x-stream-index: '003' caller_configs: $ref: '#/components/schemas/SIPCallerConfigsRequest' description: Caller configuration (required) title: SIPCallerConfigsRequest x-stream-index: '007' caller_numbers: description: List of caller numbers (optional) items: type: string maxItems: 50 title: '[]string' type: array x-stream-index: '004' direct_routing_configs: $ref: '#/components/schemas/SIPDirectRoutingRuleCallConfigsRequest' description: Direct routing configuration (mutually exclusive with pin_routing_configs) title: SIPDirectRoutingRuleCallConfigsRequest x-stream-index: '005' name: description: Name of the SIP Inbound Routing Rule maxLength: 100 minLength: 1 title: string type: string x-stream-index: '001' pin_protection_configs: $ref: '#/components/schemas/SIPPinProtectionConfigsRequest' description: PIN protection configuration title: SIPPinProtectionConfigsRequest x-stream-index: 009 pin_routing_configs: $ref: '#/components/schemas/SIPInboundRoutingRulePinConfigsRequest' description: PIN routing configuration (mutually exclusive with direct_routing_configs) title: SIPInboundRoutingRulePinConfigsRequest x-stream-index: '006' trunk_ids: description: List of SIP trunk IDs items: type: string maxItems: 50 minItems: 1 title: '[]string' type: array x-stream-index: '002' required: - name - trunk_ids - caller_configs title: SIPInboundRoutingRuleRequest type: object BackstageSettingsResponse: properties: enabled: type: boolean x-stream-index: '001' join_ahead_time_seconds: format: int32 type: integer x-stream-index: '002' required: - enabled type: object ListSIPInboundRoutingRuleResponse: description: Response containing the list of SIP Inbound Routing Rules nullable: true properties: duration: type: string x-stream-index: '002.001' sip_inbound_routing_rules: description: List of SIP Inbound Routing Rules for the application items: $ref: '#/components/schemas/SIPInboundRoutingRuleResponse' title: '[]SIPInboundRoutingRuleResponse' type: array x-stream-index: '001' required: - sip_inbound_routing_rules - duration title: ListSIPInboundRoutingRuleResponse type: object ListRecordingsResponse: description: Response for listing recordings nullable: true properties: duration: type: string x-stream-index: '001.001' recordings: items: $ref: '#/components/schemas/CallRecording' title: The list of recordings. type: array x-stream-index: '002' required: - duration - recordings title: ListRecordingsResponse type: object PublisherStatsResponse: properties: by_track: items: $ref: '#/components/schemas/TrackStatsResponse' type: array x-stream-index: '003' total: format: int32 type: integer x-stream-index: '001' unique: format: int32 type: integer x-stream-index: '002' required: - total - unique type: object PushNotificationSettingsResponse_2: properties: disabled: type: boolean x-stream-index: '001' disabled_until: format: date-time type: string x-stream-index: '002' type: object PublishedTrackFlags: properties: audio: type: boolean x-stream-index: '002' screenshare: type: boolean x-stream-index: '003' screenshare_audio: type: boolean x-stream-index: '004' video: type: boolean x-stream-index: '001' required: - video - audio - screenshare - screenshare_audio type: object QueryCallParticipantsResponse: nullable: true properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: '001.001' duration: type: string x-stream-index: '004.001' members: items: $ref: '#/components/schemas/MemberResponse' type: array x-stream-index: '001.002' own_capabilities: items: $ref: '#/components/schemas/OwnCapability' type: array x-stream-index: '001.004' participants: description: List of call participants items: $ref: '#/components/schemas/CallParticipantResponse' title: '[]CallParticipantResponse' type: array x-stream-index: '002' total_participants: format: int32 type: integer x-stream-index: '003' required: - call - members - own_capabilities - blocked_users - participants - total_participants - duration type: object GoLiveRequest: nullable: true properties: recording_storage_name: type: string x-stream-index: 008 start_closed_caption: type: boolean x-stream-index: '011' start_composite_recording: type: boolean x-stream-index: '005' start_hls: type: boolean x-stream-index: '003' start_individual_recording: type: boolean x-stream-index: '006' start_raw_recording: type: boolean x-stream-index: '007' start_recording: type: boolean x-stream-index: '004' start_transcription: type: boolean x-stream-index: '010' transcription_storage_name: type: string x-stream-index: 009 title: GoLiveRequest type: object UpdateSIPTrunkResponse: description: Response containing the updated SIP trunk nullable: true properties: duration: type: string x-stream-index: '002.001' sip_trunk: $ref: '#/components/schemas/SIPTrunkResponse' description: The updated SIP trunk title: SIPTrunkResponse x-stream-index: '001' required: - duration title: UpdateSIPTrunkResponse type: object EgressRTMPResponse: properties: name: type: string x-stream-index: '001' started_at: format: date-time type: number x-stream-index: '004' stream_key: type: string x-stream-index: '003' stream_url: type: string x-stream-index: '002' required: - name - started_at type: object NetworkMetricsReportResponse: properties: average_connection_time: format: float type: number x-stream-index: '003' average_jitter: format: float type: number x-stream-index: '002' average_latency: format: float type: number x-stream-index: '001' average_time_to_reconnect: format: float type: number x-stream-index: '004' type: object BrowserDataResponse: properties: name: type: string x-stream-index: '001' version: type: string x-stream-index: '002' type: object UpdateExternalStorageRequest: description: External storage nullable: true properties: aws_s3: $ref: '#/components/schemas/S3Request' description: Only required if you want to create an Amazon S3 storage title: AwsS3 x-stream-index: '003.004' azure_blob: $ref: '#/components/schemas/AzureRequest' description: Only required if you want to create an Azure Blob Storage title: AzureBlob x-stream-index: '003.006' bucket: description: The name of the bucket on the service provider title: Bucket type: string x-stream-index: '003.002' gcs_credentials: type: string x-stream-index: '003.005' path: description: The path prefix to use for storing files title: Path type: string x-stream-index: '003.003' storage_type: description: The type of storage to use enum: - s3 - gcs - abs title: StorageType type: string x-stream-index: '003.001' required: - storage_type - bucket title: ExternalStorageRequest type: object EgressHLSResponse: properties: playlist_url: type: string x-stream-index: '001' status: type: string x-stream-index: '002' required: - playlist_url - status type: object MetricThreshold: properties: level: type: string x-stream-index: '001' operator: type: string x-stream-index: '002' value: format: float type: number x-stream-index: '003' value_unit: type: string x-stream-index: '004' window_seconds: format: int32 type: integer x-stream-index: '005' required: - level - operator - value type: object IngressVideoEncodingResponse: properties: layers: items: $ref: '#/components/schemas/IngressVideoLayerResponse' type: array x-stream-index: '002' source: $ref: '#/components/schemas/IngressSourceResponse' x-stream-index: '001' required: - source - layers type: object BackstageSettingsRequest: properties: enabled: type: boolean x-stream-index: '001' join_ahead_time_seconds: format: int32 type: integer x-stream-index: '002' type: object OwnCapability: description: All possibility of string to use enum: - block-users - change-max-duration - create-call - create-reaction - enable-noise-cancellation - end-call - join-backstage - join-call - join-ended-call - kick-user - mute-users - pin-for-everyone - read-call - remove-call-member - screenshare - send-audio - send-closed-captions-call - send-video - start-broadcast-call - start-closed-captions-call - start-frame-record-call - start-individual-record-call - start-raw-record-call - start-record-call - start-transcription-call - stop-broadcast-call - stop-closed-captions-call - stop-frame-record-call - stop-individual-record-call - stop-raw-record-call - stop-record-call - stop-transcription-call - update-call - update-call-member - update-call-permissions - update-call-settings title: OwnCapability type: string StartRecordingRequest: nullable: true properties: recording_external_storage: type: string x-stream-index: '002' title: StartRecordingRequest type: object JoinCallAPIMetrics: properties: failures: format: float type: number x-stream-index: '002' latency: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: '003' total: format: float type: number x-stream-index: '001' required: - total - failures type: object UpdateSIPTrunkRequest: description: Request to update a SIP trunk nullable: true properties: allowed_ips: description: Optional list of allowed IPv4/IPv6 addresses or CIDR blocks items: type: string title: '[]string' type: array x-stream-index: '005' name: description: Name of the SIP trunk maxLength: 100 minLength: 1 title: string type: string x-stream-index: '002' numbers: description: Phone numbers associated with this SIP trunk items: type: string maxItems: 50 minItems: 1 title: '[]string' type: array x-stream-index: '003' password: description: Optional password for SIP trunk authentication maxLength: 255 title: string type: string x-stream-index: '004' required: - name - numbers title: UpdateSIPTrunkRequest type: object CallIngressResponse: description: CallIngressResponse is the payload for ingress settings properties: rtmp: $ref: '#/components/schemas/RTMPIngress' title: RTMP x-stream-index: '001' srt: $ref: '#/components/schemas/SRTIngress' x-stream-index: '003' whip: $ref: '#/components/schemas/WHIPIngress' title: WHIP x-stream-index: '002' required: - rtmp - whip - srt title: CallIngressResponse type: object SIPInboundRoutingRuleResponse: description: SIP Inbound Routing Rule response nullable: true properties: call_configs: $ref: '#/components/schemas/SIPCallConfigsResponse' description: Call configuration title: SIPCallConfigsResponse x-stream-index: 009 called_numbers: description: List of called numbers items: type: string title: '[]string' type: array x-stream-index: '004' caller_configs: $ref: '#/components/schemas/SIPCallerConfigsResponse' description: Caller configuration title: SIPCallerConfigsResponse x-stream-index: 008 caller_numbers: description: List of caller numbers items: type: string title: '[]string' type: array x-stream-index: '005' created_at: description: Creation timestamp format: date-time title: string type: number x-stream-index: '011' direct_routing_configs: $ref: '#/components/schemas/SIPDirectRoutingRuleCallConfigsResponse' description: Direct routing configuration title: SIPDirectRoutingRuleCallConfigsResponse x-stream-index: '006' duration: type: string x-stream-index: '013.001' id: description: Unique identifier of the SIP Inbound Routing Rule title: string type: string x-stream-index: '001' name: description: Name of the SIP Inbound Routing Rule title: string type: string x-stream-index: '002' pin_protection_configs: $ref: '#/components/schemas/SIPPinProtectionConfigsResponse' description: PIN protection configuration title: SIPPinProtectionConfigsResponse x-stream-index: '010' pin_routing_configs: $ref: '#/components/schemas/SIPInboundRoutingRulePinConfigsResponse' description: PIN routing configuration title: SIPInboundRoutingRulePinConfigsResponse x-stream-index: '007' trunk_ids: description: List of SIP trunk IDs items: type: string title: '[]string' type: array x-stream-index: '003' updated_at: description: Last update timestamp format: date-time title: string type: number x-stream-index: '012' required: - id - name - trunk_ids - called_numbers - created_at - updated_at - duration title: SIPInboundRoutingRuleResponse type: object TrackStatsResponse: nullable: true properties: duration_seconds: format: int32 type: integer x-stream-index: '002' track_type: type: string x-stream-index: '001' required: - track_type - duration_seconds type: object MemberResponse: description: MemberResponse is the payload for a member of a call. properties: created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '005' custom: additionalProperties: {} description: Custom member response data title: Custom type: object x-stream-index: '004' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: number x-stream-index: '007' role: title: Role type: string x-stream-index: '003' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '006' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '001' user_id: type: string x-stream-index: '002' required: - user - user_id - custom - created_at - updated_at title: MemberResponse type: object QueryAggregateCallStatsResponse: description: Basic response information nullable: true properties: call_duration_report: $ref: '#/components/schemas/CallDurationReportResponse' x-stream-index: '002' call_participant_count_report: $ref: '#/components/schemas/CallParticipantCountReportResponse' x-stream-index: '004' calls_per_day_report: $ref: '#/components/schemas/CallsPerDayReportResponse' x-stream-index: '003' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' network_metrics_report: $ref: '#/components/schemas/NetworkMetricsReportResponse' x-stream-index: 008 quality_score_report: $ref: '#/components/schemas/QualityScoreReportResponse' x-stream-index: '005' sdk_usage_report: $ref: '#/components/schemas/SDKUsageReportResponse' x-stream-index: '006' user_feedback_report: $ref: '#/components/schemas/UserFeedbackReportResponse' x-stream-index: '007' required: - duration title: Response type: object StopTranscriptionResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object SubscribersMetrics: properties: all: $ref: '#/components/schemas/SubscriberAllMetrics' x-stream-index: '001' type: object UserRequest: description: User request object properties: custom: additionalProperties: {} description: Custom user data title: Custom type: object x-stream-index: '004' id: description: User ID title: ID type: string x-stream-index: '001' image: description: User's profile image URL title: Image type: string x-stream-index: '003' invisible: type: boolean x-stream-index: '006' language: type: string x-stream-index: '005' name: description: Optional name of user title: Name type: string x-stream-index: '002' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: '007' role: description: User's global role title: Role type: string x-stream-index: 008 teams: description: List of teams the user belongs to items: type: string title: Teams type: array x-stream-index: '010' teams_role: additionalProperties: type: string description: Map of team-specific roles for the user title: TeamsRole type: object x-stream-index: 009 required: - id title: UserRequest type: object SortParamRequest: nullable: true properties: direction: description: 'Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One of: -1, 1' format: int32 title: Direction type: integer x-stream-index: '003' field: description: Name of field to sort by title: Field type: string x-stream-index: '001' type: description: 'Type of field to sort by. Empty string or omitted means string type (default). One of: number, boolean' title: Type type: string x-stream-index: '002' type: object SIPChallengeRequest: description: SIP digest challenge authentication data properties: a1: description: 'Deprecated: A1 hash for backward compatibility' title: string type: string x-stream-index: '011' algorithm: description: Hash algorithm (e.g., MD5, SHA-256) title: string type: string x-stream-index: '007' charset: description: Character set title: string type: string x-stream-index: 009 cnonce: description: Client nonce for qop=auth title: string type: string x-stream-index: '016' domain: description: Domain list items: type: string title: array type: array x-stream-index: '003' method: description: SIP method (e.g., INVITE) title: string type: string x-stream-index: '014' nc: description: Nonce count for qop=auth title: string type: string x-stream-index: '015' nonce: description: Server nonce title: string type: string x-stream-index: '004' opaque: description: Opaque value title: string type: string x-stream-index: '005' qop: description: Quality of protection options items: type: string title: array type: array x-stream-index: 008 realm: description: Authentication realm title: string type: string x-stream-index: '002' response: description: Digest response hash from client title: string type: string x-stream-index: '012' stale: description: Whether the nonce is stale title: boolean type: boolean x-stream-index: '006' uri: description: Request URI title: string type: string x-stream-index: '013' userhash: description: Whether to hash the username title: boolean type: boolean x-stream-index: '010' username: description: Username for authentication title: string type: string x-stream-index: '001' title: SIPChallengeRequest type: object ParticipantSeriesPublisherStats: properties: global: additionalProperties: items: items: format: float type: number type: array type: array type: object x-stream-index: '001' global_meta: additionalProperties: $ref: '#/components/schemas/MetricDescriptor' type: object x-stream-index: '002' global_metrics_order: items: type: string type: array x-stream-index: '003' global_thresholds: additionalProperties: items: $ref: '#/components/schemas/MetricThreshold' type: array type: object x-stream-index: '004' tracks: additionalProperties: items: $ref: '#/components/schemas/ParticipantSeriesTrackMetrics' type: array type: object x-stream-index: '005' type: object ScreensharingSettingsResponse: properties: access_request_enabled: type: boolean x-stream-index: '002' enabled: type: boolean x-stream-index: '001' target_resolution: $ref: '#/components/schemas/TargetResolution' x-stream-index: '003' required: - enabled - access_request_enabled type: object CallStatsLocation: properties: accuracy_radius_meters: format: int32 type: integer x-stream-index: 008 city: type: string x-stream-index: '001' continent: type: string x-stream-index: '005' country: type: string x-stream-index: '003' country_iso_code: type: string x-stream-index: '004' latitude: format: float type: number x-stream-index: '006' longitude: format: float type: number x-stream-index: '007' subdivision: type: string x-stream-index: '002' type: object DailyAggregateCallParticipantCountReportResponse: properties: date: type: string x-stream-index: '001' report: $ref: '#/components/schemas/CallParticipantCountReport' x-stream-index: '002' required: - date - report type: object ResolutionMetricsTimeSeries: properties: height: $ref: '#/components/schemas/MetricTimeSeries' x-stream-index: '002' width: $ref: '#/components/schemas/MetricTimeSeries' x-stream-index: '001' type: object StopTranscriptionRequest: nullable: true properties: stop_closed_captions: type: boolean x-stream-index: '003' type: object BroadcastSettingsResponse: description: BroadcastSettingsResponse is the payload for broadcasting settings properties: enabled: title: Enabled type: boolean x-stream-index: '001' hls: $ref: '#/components/schemas/HLSSettingsResponse' title: HLS x-stream-index: '002' rtmp: $ref: '#/components/schemas/RTMPSettingsResponse' title: RTMP x-stream-index: '003' required: - enabled - hls - rtmp title: BroadcastSettingsResponse type: object TranscriptionSettingsRequest: properties: closed_caption_mode: enum: - available - disabled - auto-on type: string x-stream-index: '002' language: enum: - auto - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - 'no' - uk - bg - et - sl - sk type: string x-stream-index: '004' mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' speech_segment_config: $ref: '#/components/schemas/SpeechSegmentConfig' x-stream-index: '006' translation: $ref: '#/components/schemas/TranslationSettings' x-stream-index: '005' type: object AudioSettingsResponse: properties: access_request_enabled: type: boolean x-stream-index: '001' default_device: enum: - speaker - earpiece type: string x-stream-index: '006' hifi_audio_enabled: type: boolean x-stream-index: 008 mic_default_on: type: boolean x-stream-index: '004' noise_cancellation: $ref: '#/components/schemas/NoiseCancellationSettings' x-stream-index: '007' opus_dtx_enabled: type: boolean x-stream-index: '002' redundant_coding_enabled: type: boolean x-stream-index: '003' speaker_default_on: type: boolean x-stream-index: '005' required: - access_request_enabled - opus_dtx_enabled - redundant_coding_enabled - mic_default_on - speaker_default_on - default_device - hifi_audio_enabled type: object StopClosedCaptionsRequest: nullable: true properties: stop_transcription: type: boolean x-stream-index: '003' type: object BroadcastSettingsRequest: properties: enabled: type: boolean x-stream-index: '001' hls: $ref: '#/components/schemas/HLSSettingsRequest' x-stream-index: '002' rtmp: $ref: '#/components/schemas/RTMPSettingsRequest' x-stream-index: '003' type: object StartTranscriptionRequest: nullable: true properties: enable_closed_captions: description: Enable closed captions along with transcriptions title: Enable Closed Captions type: boolean x-stream-index: '003' language: description: 'The spoken language in the call, if not provided the language defined in the transcription settings will be used. One of: auto, ar, bg, ca, cs, da, de, el, en, es, et, fi, fr, he, hi, hr, hu, id, it, ja, ko, ms, nl, no, pl, pt, ro, ru, sk, sl, sv, ta, th, tl, tr, uk, zh' enum: - auto - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - 'no' - uk - bg - et - sl - sk title: Language type: string x-stream-index: '004' transcription_external_storage: description: Store transcriptions in this external storage title: External Storage type: string x-stream-index: '002' type: object StopClosedCaptionsResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object UnblockUserResponse: description: UnblockUserResponse is the payload for unblocking a user. nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: UnblockUserResponse type: object QueryCallSessionStatsResponse: description: Basic response information nullable: true properties: call_stats: items: $ref: '#/components/schemas/CallStatsSessionResponse' type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' next: type: string x-stream-index: '003.001' prev: type: string x-stream-index: '003.002' required: - call_stats - duration title: Response type: object CoordinatesResponse: description: Geographic coordinates properties: latitude: description: Latitude coordinate format: float title: number type: number x-stream-index: '001' longitude: description: Longitude coordinate format: float title: number type: number x-stream-index: '002' required: - latitude - longitude title: Coordinates type: object StopRTMPBroadcastsResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object PublishersMetrics: properties: all: $ref: '#/components/schemas/PublisherAllMetrics' x-stream-index: '001' type: object CallStatsMapPublisher: properties: is_live: type: boolean x-stream-index: '007' location: $ref: '#/components/schemas/CallStatsLocation' x-stream-index: '005' name: type: string x-stream-index: '002' published_tracks: $ref: '#/components/schemas/PublishedTrackFlags' x-stream-index: '006' publisher_type: type: string x-stream-index: '004' user_id: type: string x-stream-index: '001' user_session_id: type: string x-stream-index: '003' required: - user_id - user_session_id - published_tracks - is_live type: object securitySchemes: JWT: description: 'JWT should be always provided when stream-auth-type=jwt. Using JWT auth request could be authenticated as user or as server-side. When using user authentication permission checking is going to be applied to requests based on the user that is performing a request. The `authorization` header should be a JWT string signed using the secret attached to the API key used to perform requests. **WARNING** all client-side official SDK do not ship with token generation; this is to make sure that the API secret is not shared with an untrusted party such as a browser or a iOS/Android application. Tokens **must** be generated server-side. If you wish, you can configure your application to ignore authentication (see `disable_auth_check`) The JWT string must include only the user_id claim and can include any built-in JWT claim such as iat, exp as well. ' in: header name: Authorization type: apiKey api_key: description: Application API key should be always set in order to authenticate the request. in: query name: api_key type: apiKey stream-auth-type: description: 'Stream-Auth-Type should be always set in order to authenticate the request. Possible values: `jwt` or `anonymous`. `jwt` allows you to authenticate as a user. With this auth type you should also provide valid JWT in Authorization header. `anonymous` allows you to authenticate as anonymous user. Please note that most advanced features are not available to anonymous users.' in: header name: Stream-Auth-Type type: apiKey