components: schemas: 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 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 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 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 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 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 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 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 AsyncExportChannelsEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "003.003" custom: additionalProperties: {} type: object x-stream-index: "003.007" finished_at: format: date-time type: string x-stream-index: "002.003" received_at: format: date-time type: string x-stream-index: "003.004" started_at: format: date-time type: string x-stream-index: "002.002" task_id: type: string x-stream-index: "002.001" type: default: export.channels.success type: string x-stream-index: "003.002" url: type: string x-stream-index: "001" required: - url - task_id - started_at - finished_at - type - created_at - custom title: AsyncExportChannelsEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent AsyncExportErrorEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "003.003" custom: additionalProperties: {} type: object x-stream-index: "003.007" error: type: string x-stream-index: "001" finished_at: format: date-time type: string x-stream-index: "002.003" received_at: format: date-time type: string x-stream-index: "003.004" started_at: format: date-time type: string x-stream-index: "002.002" task_id: type: string x-stream-index: "002.001" type: default: export.users.error type: string x-stream-index: "003.002" required: - error - task_id - started_at - finished_at - type - created_at - custom title: AsyncExportErrorEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent AsyncExportUsersEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "003.003" custom: additionalProperties: {} type: object x-stream-index: "003.007" finished_at: format: date-time type: string x-stream-index: "002.003" received_at: format: date-time type: string x-stream-index: "003.004" started_at: format: date-time type: string x-stream-index: "002.002" task_id: type: string x-stream-index: "002.001" type: default: export.users.success type: string x-stream-index: "003.002" url: type: string x-stream-index: "001" required: - url - task_id - started_at - finished_at - type - created_at - custom title: AsyncExportUsersEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 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 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 BackstageSettingsRequest: properties: enabled: type: boolean x-stream-index: "001" join_ahead_time_seconds: format: int32 type: integer x-stream-index: "002" 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 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 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 BlockedUserEvent: description: |- This event is sent to call participants to notify when a user is blocked on a call, clients can use this event to show a notification. If the user is the current user, the client should leave the call screen as well properties: blocked_by_user: $ref: '#/components/schemas/UserResponse' description: The user that blocked the user, null if the user was blocked by server-side title: Blocked by x-stream-index: "004" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.blocked_user description: 'The type of event: "call.blocked_user" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user that was blocked title: User x-stream-index: "003" required: - type - created_at - call_cid - user title: BlockedUserEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent Bound: properties: inclusive: type: boolean x-stream-index: "002" value: format: float type: number x-stream-index: "001" required: - value - inclusive 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 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 BrowserDataResponse: properties: name: type: string x-stream-index: "001" version: type: string x-stream-index: "002" type: object CallAcceptedEvent: description: This event is sent when a user accepts a notification to join a call. properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.accepted description: 'The type of event: "call.accepted" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user who accepted the call title: User x-stream-index: "004" required: - type - created_at - call_cid - call - user title: CallAcceptedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: ring x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallClosedCaption: description: CallClosedCaption represents a closed caption of a call. properties: end_time: format: date-time title: The end time of the closed caption. type: string x-stream-index: "004" id: title: The ID of the closed caption. type: string x-stream-index: "001" language: title: The language of the closed caption. type: string x-stream-index: "007" service: title: The service that generated the closed caption. By default stream type: string x-stream-index: "008" speaker_id: title: The speaker ID of the closed caption. type: string x-stream-index: "005" start_time: format: date-time title: The start time of the closed caption. type: string x-stream-index: "003" text: title: The text of the closed caption. type: string x-stream-index: "002" translated: title: Whether the closed caption is translated. type: boolean x-stream-index: "009" user: $ref: '#/components/schemas/UserResponse' title: The user who spoke the closed caption. x-stream-index: "006" required: - id - text - start_time - end_time - speaker_id - user - language - translated title: CallClosedCaption type: object CallClosedCaptionsFailedEvent: description: This event is sent when call closed captions has failed properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.closed_captions_failed description: 'The type of event: "call.closed_captions_failed" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid title: CallClosedCaptionsFailedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: transcription x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallClosedCaptionsStartedEvent: description: This event is sent when call closed caption has started properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.closed_captions_started description: 'The type of event: "call.closed_captions_started" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid title: CallClosedCaptionsStartedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: transcription x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallClosedCaptionsStoppedEvent: description: This event is sent when call closed captions has stopped properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.closed_captions_stopped description: 'The type of event: "call.transcription_stopped" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid title: CallClosedCaptionsStoppedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: transcription x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallCreatedEvent: description: |- This event is sent when a call is created. Clients receiving this event should check if the ringing field is set to true and if so, show the call screen properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" members: description: the members added to this call items: $ref: '#/components/schemas/MemberResponse' title: Members type: array x-stream-index: "004" type: default: call.created description: 'The type of event: "call.created" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call - members title: CallCreatedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallDTMFEvent: description: This event is sent asynchronously when a single DTMF digit is received from a SIP participant. The event is broadcast after the digit press ends. Use seq_number for ordering within a session and timestamp for the actual detection time. nullable: true properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" digit: description: 'The DTMF digit (0-9, *, #, A-D)' title: Digit type: string x-stream-index: "003" duration_ms: description: Duration of the digit press in milliseconds title: Duration (ms) type: integer x-stream-index: "004" seq_number: description: Monotonically increasing sequence number for ordering DTMF events within a session title: Sequence Number type: integer x-stream-index: "005" timestamp: description: When the digit press ended and was detected format: date-time title: Timestamp type: string x-stream-index: "006" type: default: call.dtmf description: 'The type of event: "call.dtmf" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user who sent the DTMF digit title: User x-stream-index: "007" required: - type - created_at - call_cid - digit - duration_ms - seq_number - timestamp - user title: CallDTMFEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallDeletedEvent: description: This event is sent when a call is deleted. Clients receiving this event should leave the call screen properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.deleted description: 'The type of event: "call.deleted" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call title: CallDeletedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallDurationReport: properties: histogram: items: $ref: '#/components/schemas/ReportByHistogramBucket' type: array x-stream-index: "001" required: - histogram type: object CallDurationReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateCallDurationReportResponse' type: array x-stream-index: "001" required: - daily type: object CallEndedEvent: description: This event is sent when a call is mark as ended for all its participants. Clients receiving this event should leave the call screen properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" members: description: The list of members in the call items: $ref: '#/components/schemas/MemberResponse' title: Members type: array x-stream-index: "006" reason: description: The reason why the call ended, if available title: CallEndedReason type: string x-stream-index: "005" type: default: call.ended description: 'The type of event: "call.ended" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user who ended the call, null if the call was ended by the server title: User x-stream-index: "004" required: - type - created_at - call_cid - call title: CallEndedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallFrameRecordingFailedEvent: description: This event is sent when frame recording has failed properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" egress_id: type: string x-stream-index: "004" type: default: call.frame_recording_failed description: 'The type of event: "call.frame_recording_failed" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call - egress_id title: CallFrameRecordingFailedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: recording x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallFrameRecordingFrameReadyEvent: description: This event is sent when a frame is captured from a call properties: call_cid: type: string x-stream-index: "002.001" captured_at: description: The time the frame was captured format: date-time title: CapturedAt type: string x-stream-index: "006" created_at: format: date-time type: string x-stream-index: "001.002" egress_id: type: string x-stream-index: "008" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" track_type: description: The type of the track frame was captured from (TRACK_TYPE_VIDEO|TRACK_TYPE_SCREEN_SHARE) title: TrackType type: string x-stream-index: "004" type: default: call.frame_recording_ready description: 'The type of event: "call.frame_recording_ready" in this case' title: Event Type type: string x-stream-index: "001.001" url: description: The URL of the frame title: URL type: string x-stream-index: "005" users: additionalProperties: $ref: '#/components/schemas/UserResponse' description: The users in the frame title: Users type: object x-stream-index: "007" required: - type - created_at - call_cid - session_id - track_type - url - captured_at - users - egress_id title: CallFrameRecordingFrameReadyEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: recording x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallFrameRecordingStartedEvent: description: This event is sent when frame recording has started properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" egress_id: type: string x-stream-index: "004" type: default: call.frame_recording_started description: 'The type of event: "call.frame_recording_started" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call - egress_id title: CallFrameRecordingStartedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: recording x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallFrameRecordingStoppedEvent: description: This event is sent when frame recording has stopped properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" egress_id: type: string x-stream-index: "004" type: default: call.frame_recording_stopped description: 'The type of event: "call.frame_recording_stopped" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call - egress_id title: CallFrameRecordingStoppedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: recording x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallHLSBroadcastingFailedEvent: description: This event is sent when HLS broadcasting has failed properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.hls_broadcasting_failed description: 'The type of event: "call.hls_broadcasting_failed" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid title: CallHLSBroadcastingFailedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: streaming x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallHLSBroadcastingStartedEvent: description: This event is sent when HLS broadcasting has started properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" hls_playlist_url: type: string x-stream-index: "004" type: default: call.hls_broadcasting_started description: 'The type of event: "call.hls_broadcasting_started" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call - hls_playlist_url title: CallHLSBroadcastingStartedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: streaming x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallHLSBroadcastingStoppedEvent: description: This event is sent when HLS broadcasting has stopped properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.hls_broadcasting_stopped description: 'The type of event: "call.hls_broadcasting_stopped" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid title: CallHLSBroadcastingStoppedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: streaming x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 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 CallLiveStartedEvent: description: This event is sent when a call is started. Clients receiving this event should start the call. properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.live_started description: 'The type of event: "call.live_started" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call title: CallLiveStartedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: streaming x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallMemberAddedEvent: description: This event is sent when one or more members are added to a call properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" members: description: the members added to this call items: $ref: '#/components/schemas/MemberResponse' title: Members type: array x-stream-index: "004" type: default: call.member_added description: 'The type of event: "call.member_added" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call - members title: CallMemberAddedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallMemberRemovedEvent: description: This event is sent when one or more members are removed from a call properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" members: description: the list of member IDs removed from the call items: type: string title: Members type: array x-stream-index: "004" type: default: call.member_removed description: 'The type of event: "call.member_removed" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call - members title: CallMemberRemovedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallMemberUpdatedEvent: description: This event is sent when one or more members are updated properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" members: description: The list of members that were updated items: $ref: '#/components/schemas/MemberResponse' title: Members type: array x-stream-index: "004" type: default: call.member_updated description: 'The type of event: "call.member_updated" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call - members title: CallMemberUpdatedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallMemberUpdatedPermissionEvent: description: This event is sent when one or more members get its role updated properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" capabilities_by_role: additionalProperties: items: type: string type: array description: The capabilities by role for this call title: CapabilitiesByRole type: object x-stream-index: "004" created_at: format: date-time type: string x-stream-index: "001.002" members: description: The list of members that were updated items: $ref: '#/components/schemas/MemberResponse' title: Members type: array x-stream-index: "005" type: default: call.member_updated_permission description: 'The type of event: "call.member_added" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call - capabilities_by_role - members title: CallMemberUpdatedPermissionEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallMissedEvent: description: This event is sent to call members who did not accept/reject/join the call to notify they missed the call properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "004" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" members: description: List of members who missed the call items: $ref: '#/components/schemas/MemberResponse' title: Members type: array x-stream-index: "005" notify_user: type: boolean x-stream-index: "007" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" type: default: call.missed description: 'The type of event: "call.notification" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The caller from whom the call was missed title: User x-stream-index: "006" required: - type - created_at - call_cid - session_id - call - members - user - notify_user title: CallMissedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: ring x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallModerationBlurEvent: description: This event is sent when a moderation blur action is applied to a user's video stream properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" custom: additionalProperties: {} description: Custom data associated with the moderation action title: Custom type: object x-stream-index: "004" type: default: call.moderation_blur description: 'The type of event: "call.moderation_blur" in this case' title: Event Type type: string x-stream-index: "001.001" user_id: description: The user ID whose video stream is being blurred title: UserID type: string x-stream-index: "003" required: - type - created_at - call_cid - user_id - custom title: CallModerationBlurEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallModerationWarningEvent: description: This event is sent when a moderation warning is issued to a user properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" custom: additionalProperties: {} description: Custom data associated with the moderation action title: Custom type: object x-stream-index: "005" message: description: The warning message title: Message type: string x-stream-index: "004" type: default: call.moderation_warning description: 'The type of event: "call.moderation_warning" in this case' title: Event Type type: string x-stream-index: "001.001" user_id: description: The user ID who is receiving the warning title: UserID type: string x-stream-index: "003" required: - type - created_at - call_cid - user_id - message - custom title: CallModerationWarningEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallNotificationEvent: description: This event is sent to all call members to notify they are getting called properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "004" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" members: description: Call members items: $ref: '#/components/schemas/MemberResponse' title: Members type: array x-stream-index: "005" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" type: default: call.notification description: 'The type of event: "call.notification" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user that sent the call notification title: User x-stream-index: "006" required: - type - created_at - call_cid - session_id - call - members - user title: CallNotificationEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: ring x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallParticipantCountReport: properties: histogram: items: $ref: '#/components/schemas/ReportByHistogramBucket' type: array x-stream-index: "001" required: - histogram type: object CallParticipantCountReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateCallParticipantCountReportResponse' type: array x-stream-index: "001" required: - daily type: object CallParticipantResponse: properties: joined_at: format: date-time type: string 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 CallParticipantTimeline: properties: data: additionalProperties: {} type: object x-stream-index: "004" severity: type: string x-stream-index: "003" timestamp: format: date-time type: string x-stream-index: "001" type: type: string x-stream-index: "002" required: - timestamp - type - severity - data type: object CallReactionEvent: description: This event is sent when a reaction is sent in a call, clients should use this to show the reaction in the call screen properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" reaction: $ref: '#/components/schemas/VideoReactionResponse' description: the reaction object sent by the user on the call title: reaction x-stream-index: "003" type: default: call.reaction_new description: 'The type of event: "call.reaction_new" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - reaction title: CallReactionEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallRecording: description: CallRecording represents a recording of a call. properties: end_time: format: date-time title: The end time of the recording. type: string 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: string 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 CallRecordingFailedEvent: description: This event is sent when call recording has failed properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" egress_id: type: string x-stream-index: "003" recording_type: description: The type of recording enum: - composite - individual - raw title: RecordingType type: string x-stream-index: "004" type: default: call.recording_failed description: 'The type of event: "call.recording_failed" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - egress_id - recording_type title: CallRecordingFailedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: recording x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallRecordingReadyEvent: description: This event is sent when call recording is ready properties: call_cid: type: string x-stream-index: "002.001" call_recording: $ref: '#/components/schemas/CallRecording' description: The call recording object title: CallRecording x-stream-index: "003" created_at: format: date-time type: string x-stream-index: "001.002" egress_id: type: string x-stream-index: "004" recording_type: description: The type of recording enum: - composite - individual - raw title: RecordingType type: string x-stream-index: "005" type: default: call.recording_ready description: 'The type of event: "call.recording_ready" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call_recording - egress_id - recording_type title: CallRecordingReadyEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: recording x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallRecordingStartedEvent: description: This event is sent when call recording has started properties: call_cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "002.002" egress_id: type: string x-stream-index: "001" recording_type: description: The type of recording enum: - composite - individual - raw title: RecordingType type: string x-stream-index: "004" type: default: call.recording_started description: 'The type of event: "call.recording_started" in this case' title: Event Type type: string x-stream-index: "002.001" required: - egress_id - type - created_at - call_cid - recording_type title: CallRecordingStartedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: recording x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallRecordingStoppedEvent: description: This event is sent when call recording has stopped properties: call_cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "002.002" egress_id: type: string x-stream-index: "001" recording_type: description: The type of recording enum: - composite - individual - raw title: RecordingType type: string x-stream-index: "004" type: default: call.recording_stopped description: 'The type of event: "call.recording_stopped" in this case' title: Event Type type: string x-stream-index: "002.001" required: - egress_id - type - created_at - call_cid - recording_type title: CallRecordingStoppedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: recording x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallRejectedEvent: description: This event is sent when a user rejects a notification to join a call. properties: call: $ref: '#/components/schemas/CallResponse' x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" reason: description: 'Provides information about why the call was rejected. You can provide any value, but the Stream API and SDKs use these default values: rejected, cancel, timeout and busy' title: Reason type: string x-stream-index: "005" type: default: call.rejected description: 'The type of event: "call.rejected" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user who rejected the call title: User x-stream-index: "004" required: - type - created_at - call_cid - call - user title: CallRejectedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: ring x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallReportResponse: properties: ended_at: format: date-time type: string x-stream-index: "003" score: format: float type: number x-stream-index: "001" started_at: format: date-time type: string x-stream-index: "002" required: - score 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: string x-stream-index: "007" team: type: string x-stream-index: "001" video: type: boolean x-stream-index: "008" title: CallRequest 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: string 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: string 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: string 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: string 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 CallRingEvent: description: This event is sent to all call members to notify they are getting called properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "005" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" members: description: Call members items: $ref: '#/components/schemas/MemberResponse' title: Members type: array x-stream-index: "006" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" type: default: call.ring description: 'The type of event: "call.notification" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user that sent the call notification title: User x-stream-index: "007" video: type: boolean x-stream-index: "008" required: - type - created_at - call_cid - session_id - call - members - user - video title: CallRingEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: ring x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallRtmpBroadcastFailedEvent: description: This event is sent when a call RTMP broadcast has failed properties: call_cid: description: The unique identifier for a call (:) title: CID type: string x-stream-index: "002.001" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.002" name: description: Name of the given RTMP broadcast title: Name type: string x-stream-index: "003" type: default: call.rtmp_broadcast_failed description: 'The type of event: "call.rtmp_broadcast_failed" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - name title: CallRtmpBroadcastFailedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: streaming x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallRtmpBroadcastStartedEvent: description: This event is sent when RTMP broadcast has started properties: call_cid: description: The unique identifier for a call (:) title: CID type: string x-stream-index: "002.001" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.002" name: description: Name of the given RTMP broadcast title: Name type: string x-stream-index: "003" type: default: call.rtmp_broadcast_started description: 'The type of event: "call.rtmp_broadcast_started" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - name title: CallRtmpBroadcastStartedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: streaming x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallRtmpBroadcastStoppedEvent: description: This event is sent when RTMP broadcast has stopped properties: call_cid: description: The unique identifier for a call (:) title: CID type: string x-stream-index: "002.001" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.002" name: description: Name of the given RTMP broadcast title: Name type: string x-stream-index: "003" type: default: call.rtmp_broadcast_stopped description: 'The type of event: "call.rtmp_broadcast_stopped" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - name title: CallRtmpBroadcastStoppedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: streaming x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallSessionEndedEvent: description: This event is sent when a call session ends properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "004" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" type: default: call.session_ended description: 'The type of event: "call.session_ended" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - session_id - call title: CallSessionEndedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: session x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallSessionParticipantCountsUpdatedEvent: description: This event is sent when the participant counts in a call session are updated properties: anonymous_participant_count: format: int32 type: integer x-stream-index: "005" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" participants_count_by_role: additionalProperties: format: int32 type: integer type: object x-stream-index: "004" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" type: default: call.session_participant_count_updated description: 'The type of event: "call.session_participant_count_updated" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - session_id - participants_count_by_role - anonymous_participant_count title: CallSessionParticipantCountsUpdatedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: session x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallSessionParticipantJoinedEvent: description: This event is sent when a participant joins a call session properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" participant: $ref: '#/components/schemas/CallParticipantResponse' description: The participant that joined the session title: Participant x-stream-index: "004" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" type: default: call.session_participant_joined description: 'The type of event: "call.session_participant_joined" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - session_id - participant title: CallSessionParticipantJoinedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: session x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallSessionParticipantLeftEvent: description: This event is sent when a participant leaves a call session properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" duration_seconds: description: The duration participant was in the session in seconds format: int32 title: Duration type: integer x-stream-index: "005" participant: $ref: '#/components/schemas/CallParticipantResponse' description: The participant that left the session title: Participant x-stream-index: "004" reason: description: The reason why the participant left the session title: Reason type: string x-stream-index: "006" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" type: default: call.session_participant_left description: 'The type of event: "call.session_participant_left" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - session_id - participant - duration_seconds title: CallSessionParticipantLeftEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: session x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallSessionResponse: properties: accepted_by: additionalProperties: format: date-time type: string type: object x-stream-index: "008" anonymous_participant_count: format: int32 type: integer x-stream-index: "006" ended_at: format: date-time type: string x-stream-index: "003" id: type: string x-stream-index: "001" live_ended_at: format: date-time type: string x-stream-index: "011" live_started_at: format: date-time type: string x-stream-index: "010" missed_by: additionalProperties: format: date-time type: string 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: string type: object x-stream-index: "007" started_at: format: date-time type: string x-stream-index: "002" timer_ends_at: format: date-time type: string x-stream-index: "012" required: - id - participants - participants_count_by_role - anonymous_participant_count - rejected_by - accepted_by - missed_by type: object CallSessionStartedEvent: description: This event is sent when a call session starts properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "004" call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" type: default: call.session_started description: 'The type of event: "call.session_started" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - session_id - call title: CallSessionStartedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: session x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 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 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 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 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 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 CallStatsMapPublishers: properties: publishers: items: $ref: '#/components/schemas/CallStatsMapPublisher' type: array x-stream-index: "001" required: - publishers type: object CallStatsMapSFUs: properties: locations: items: $ref: '#/components/schemas/SFULocationResponse' type: array x-stream-index: "001" required: - locations 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 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 CallStatsParticipant: 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' type: array x-stream-index: "004" user_id: type: string x-stream-index: "001" required: - user_id - sessions 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 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: 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 CallStatsReportReadyEvent: description: This event is sent when the insights report is ready properties: call_cid: type: string x-stream-index: "002.001" counts: $ref: '#/components/schemas/CallStatsParticipantCounts' description: Aggregated participant and session counts for the call title: Counts x-stream-index: "004" created_at: format: date-time type: string x-stream-index: "001.002" is_trimmed: description: Whether participants_overview is truncated by the server-side limit title: Is Trimmed type: boolean x-stream-index: "006" participants_overview: description: Top participant sessions overview items: $ref: '#/components/schemas/CallStatsParticipant' title: Participants Overview type: array x-stream-index: "005" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" type: default: call.stats_report_ready description: The type of event, "call.report_ready" in this case title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - session_id - counts title: CallStatsReportReadyEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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: string x-stream-index: "007" first_stats_time: format: date-time type: string 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 CallStatsSessionResponse: properties: call_ended_at: format: date-time type: string 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: string 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: string x-stream-index: "006" required: - call_type - call_id - call_session_id - generated_at - counts 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: string 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: string 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 CallTranscriptionFailedEvent: description: This event is sent when call transcription has failed properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" egress_id: type: string x-stream-index: "003" error: description: The error message detailing why transcription failed. title: string type: string x-stream-index: "004" type: default: call.transcription_failed description: 'The type of event: "call.transcription_failed" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - egress_id title: CallTranscriptionFailedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: transcription x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallTranscriptionReadyEvent: description: This event is sent when call transcription is ready properties: call_cid: type: string x-stream-index: "002.001" call_transcription: $ref: '#/components/schemas/CallTranscription' description: The call transcription object title: CallTranscription x-stream-index: "003" created_at: format: date-time type: string x-stream-index: "001.002" egress_id: type: string x-stream-index: "004" type: default: call.transcription_ready description: 'The type of event: "call.transcription_ready" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call_transcription - egress_id title: CallTranscriptionReadyEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: transcription x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallTranscriptionStartedEvent: description: This event is sent when call transcription has started properties: call_cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "002.002" egress_id: type: string x-stream-index: "001" type: default: call.transcription_started description: 'The type of event: "call.transcription_started" in this case' title: Event Type type: string x-stream-index: "002.001" required: - egress_id - type - created_at - call_cid title: CallTranscriptionStartedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: transcription x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallTranscriptionStoppedEvent: description: This event is sent when call transcription has stopped properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" egress_id: type: string x-stream-index: "003" type: default: call.transcription_stopped description: 'The type of event: "call.transcription_stopped" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - egress_id title: CallTranscriptionStoppedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: transcription x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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: string 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: string x-stream-index: "006" required: - name - grants - settings - notification_settings - created_at - updated_at title: CallTypeResponse type: object CallUpdatedEvent: description: |- This event is sent when a call is updated, clients should use this update the local state of the call. This event also contains the capabilities by role for the call, clients should update the own_capability for the current. properties: call: $ref: '#/components/schemas/CallResponse' description: Call object title: Call x-stream-index: "003" call_cid: type: string x-stream-index: "002.001" capabilities_by_role: additionalProperties: items: type: string type: array description: The capabilities by role for this call title: CapabilitiesByRole type: object x-stream-index: "004" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.updated description: 'The type of event: "call.updated" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - call - capabilities_by_role title: CallUpdatedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallUserFeedbackSubmittedEvent: description: This event is sent when a user submits feedback for a call. properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" custom: additionalProperties: {} description: Custom data provided by the user title: Custom type: object x-stream-index: "007" rating: description: The rating given by the user (1-5) format: int32 title: Rating type: integer x-stream-index: "005" reason: description: The reason provided by the user for the rating title: Reason type: string x-stream-index: "006" sdk: type: string x-stream-index: "008" sdk_version: type: string x-stream-index: "009" session_id: description: Call session ID title: Session ID type: string x-stream-index: "003.001" type: default: call.user_feedback_submitted description: The type of event, "call.user_feedback" in this case title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user who submitted the feedback title: User x-stream-index: "004" required: - type - created_at - call_cid - session_id - user - rating title: CallUserFeedbackSubmittedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallUserMutedEvent: description: This event is sent when a call member is muted properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" from_user_id: type: string x-stream-index: "003" muted_user_ids: items: type: string type: array x-stream-index: "004" reason: type: string x-stream-index: "005" type: default: call.user_muted description: 'The type of event: "call.user_muted" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - from_user_id - muted_user_ids - reason title: CallUserMutedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CallsPerDayReport: properties: count: format: int64 type: integer x-stream-index: "001" required: - count type: object CallsPerDayReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateCallsPerDayReportResponse' type: array x-stream-index: "001" required: - daily type: object ChatActivityStatsResponse: properties: Messages: $ref: '#/components/schemas/MessageStatsResponse' x-stream-index: "001" 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 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 ClosedCaptionEvent: description: This event is sent when closed captions are being sent in a call, clients should use this to show the closed captions in the call screen properties: call_cid: type: string x-stream-index: "002.001" closed_caption: $ref: '#/components/schemas/CallClosedCaption' description: The closed caption object title: CallClosedCaption x-stream-index: "003" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.closed_caption description: 'The type of event: "call.closed_caption" in this case' title: Event Type type: string x-stream-index: "001.001" required: - type - created_at - call_cid - closed_caption title: ClosedCaptionEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: transcription x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 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 CompositeRecordingResponse: properties: status: type: string x-stream-index: "001" required: - status 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 CountByMinuteResponse: nullable: true properties: count: format: int32 type: integer x-stream-index: "002" start_ts: format: date-time type: string x-stream-index: "001" required: - start_ts - count 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 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: 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 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 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 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 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 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' description: User object which server acts upon title: User x-stream-index: "001" required: - user - access_token - duration 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 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 CustomVideoEvent: description: A custom event, this event is used to send custom events to other participants in the call. properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: "003" type: default: custom description: The type of event, "custom" in this case title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "004" required: - type - created_at - call_cid - custom - user title: CustomVideoEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent DailyAggregateCallDurationReportResponse: properties: date: type: string x-stream-index: "001" report: $ref: '#/components/schemas/CallDurationReport' x-stream-index: "002" required: - date - report 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 DailyAggregateCallsPerDayReportResponse: properties: date: type: string x-stream-index: "001" report: $ref: '#/components/schemas/CallsPerDayReport' x-stream-index: "002" required: - date - report 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 DailyAggregateSDKUsageReportResponse: properties: date: type: string x-stream-index: "001" report: $ref: '#/components/schemas/SDKUsageReport' x-stream-index: "002" required: - date - report 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 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 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 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 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 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 DeleteSIPTrunkResponse: description: Response confirming SIP trunk deletion nullable: true properties: duration: type: string x-stream-index: "001.001" required: - duration title: DeleteSIPTrunkResponse 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 DeviceDataResponse: properties: name: type: string x-stream-index: "001" version: type: string x-stream-index: "002" type: object DeviceResponse: 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 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 EgressHLSResponse: properties: playlist_url: type: string x-stream-index: "001" status: type: string x-stream-index: "002" required: - playlist_url - status type: object EgressRTMPResponse: properties: name: type: string x-stream-index: "001" started_at: format: date-time type: string 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 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 EndCallRequest: description: Request for ending a call nullable: true title: EndCallRequest 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 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 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 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 FCMPayload: properties: data: additionalProperties: {} type: object x-stream-index: "001" type: object FrameRecordingResponse: properties: status: type: string x-stream-index: "001" required: - status type: object 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 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 GeofenceSettingsRequest: properties: names: items: type: string type: array x-stream-index: "001" type: object GeofenceSettingsResponse: properties: names: items: type: string type: array x-stream-index: "001" required: - names 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: 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 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: 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 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 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 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 GetCallTypeResponse: 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 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 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 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 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 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 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 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 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 IndividualRecordingResponse: properties: status: type: string x-stream-index: "001" required: - status 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 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 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 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 IngressErrorEvent: description: This event is sent when a critical error occurs that breaks the streaming pipeline nullable: true properties: call_cid: type: string x-stream-index: "002.001" code: description: Error code title: string type: string x-stream-index: "006" created_at: format: date-time type: string x-stream-index: "001.002" error: description: Human-readable error message title: string type: string x-stream-index: "005" ingress_stream_id: description: Unique identifier for the stream title: string type: string x-stream-index: "003" type: default: ingress.error description: 'The type of event: "ingress.error" in this case' title: Event Type type: string x-stream-index: "001.001" user_id: description: User who was streaming title: string type: string x-stream-index: "004" required: - type - created_at - call_cid - ingress_stream_id - user_id - error title: IngressErrorEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 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 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 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 IngressStartedEvent: description: This event is sent when a user begins streaming into a call nullable: true properties: call_cid: type: string x-stream-index: "002.001" client_ip: description: Client IP address title: string type: string x-stream-index: "008" client_name: description: Streaming client software name (e.g., 'OBS Studio') title: string type: string x-stream-index: "006" created_at: format: date-time type: string x-stream-index: "001.002" ingress_stream_id: description: Unique identifier for this stream title: string type: string x-stream-index: "003" publisher_type: description: Streaming protocol (e.g., 'rtmps', 'srt', 'rtmp', 'rtsp') title: string type: string x-stream-index: "005" type: default: ingress.started description: 'The type of event: "ingress.started" in this case' title: Event Type type: string x-stream-index: "001.001" user_id: description: User who started the stream title: string type: string x-stream-index: "004" version: description: Client software version title: string type: string x-stream-index: "007" required: - type - created_at - call_cid - ingress_stream_id - user_id - publisher_type title: IngressStartedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent IngressStoppedEvent: description: This event is sent when streaming stops due to user action or call ended nullable: true properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" ingress_stream_id: description: Unique identifier for the stream title: string type: string x-stream-index: "003" type: default: ingress.stopped description: 'The type of event: "ingress.stopped" in this case' title: Event Type type: string x-stream-index: "001.001" user_id: description: User who was streaming title: string type: string x-stream-index: "004" required: - type - created_at - call_cid - ingress_stream_id - user_id title: IngressStoppedEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 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 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 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 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 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 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 KickedUserEvent: description: This event is sent to call participants to notify when a user is kicked from a call. Clients should make the kicked user leave the call UI. properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" kicked_by_user: $ref: '#/components/schemas/UserResponse' description: The user that kicked the participant, null if server-side title: Kicked by x-stream-index: "004" type: default: call.kicked_user description: 'The type of event: "call.kicked_user" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user that was kicked title: User x-stream-index: "003" required: - type - created_at - call_cid - user title: KickedUserEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 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 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 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 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 ListDevicesResponse: description: List devices response nullable: true properties: devices: description: List of devices items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: "001" duration: type: string x-stream-index: "002.001" required: - devices - duration title: ListDevicesResponse 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 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 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 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 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 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 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 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: string 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: string 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: string 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 MessageStatsResponse: properties: count_over_time: items: $ref: '#/components/schemas/CountByMinuteResponse' type: array x-stream-index: "001" 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 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 MetricTimeSeries: properties: data_points: items: items: format: float type: number type: array type: array x-stream-index: "001" 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 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 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 NoiseCancellationSettings: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: "001" required: - mode 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 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 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 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: string x-stream-index: "001" required: - start_ts - first - last - max - min type: object ParticipantCountOverTimeResponse: properties: by_minute: items: $ref: '#/components/schemas/ParticipantCountByMinuteResponse' 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 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 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 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 ParticipantSeriesTimeframe: properties: max_points: format: int32 type: integer x-stream-index: "004" since: format: date-time type: string x-stream-index: "001" step_seconds: format: int32 type: integer x-stream-index: "003" until: format: date-time type: string x-stream-index: "002" required: - since - until - step_seconds - max_points 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 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 ParticipantSessionDetails: properties: duration_in_seconds: format: int64 type: integer x-stream-index: "007" joined_at: format: date-time type: string x-stream-index: "003" left_at: format: date-time type: string 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 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 PermissionRequestEvent: description: |- This event is sent when a user requests access to a feature on a call, clients receiving this event should display a permission request to the user properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" permissions: description: The list of permissions requested by the user items: type: string title: Permissions type: array x-stream-index: "004" type: default: call.permission_request description: 'The type of event: "call.permission_request" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user who sent the permission request title: User x-stream-index: "003" required: - type - created_at - call_cid - user - permissions title: PermissionRequestEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 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 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 PrivacySettingsResponse: 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 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 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 PublisherAudioMetrics: properties: jitter_ms: $ref: '#/components/schemas/ActiveCallsLatencyStats' x-stream-index: "001" 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 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 PublishersMetrics: properties: all: $ref: '#/components/schemas/PublisherAllMetrics' x-stream-index: "001" type: object PushNotificationSettingsResponse: properties: disabled: type: boolean x-stream-index: "001" disabled_until: format: date-time type: string x-stream-index: "002" type: object QualityScoreReport: properties: histogram: items: $ref: '#/components/schemas/ReportByHistogramBucket' type: array x-stream-index: "001" required: - histogram type: object QualityScoreReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateQualityScoreReportResponse' type: array x-stream-index: "001" required: - daily 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 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 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 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 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 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 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 QueryCallSessionParticipantStatsResponse: 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' 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 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 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 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 QueryCallStatsMapResponse: 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 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 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 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 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 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 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 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 RTMPIngress: description: RTMP input settings properties: address: title: Address type: string x-stream-index: "001" required: - address title: RTMPIngress 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 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 RawRecordingResponse: properties: status: type: string x-stream-index: "001" required: - status 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 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 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 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 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 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 ResolutionMetricsTimeSeries: properties: height: $ref: '#/components/schemas/MetricTimeSeries' x-stream-index: "002" width: $ref: '#/components/schemas/MetricTimeSeries' x-stream-index: "001" 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 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 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 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 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 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 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 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 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 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 SDKUsageReport: properties: per_sdk_usage: additionalProperties: $ref: '#/components/schemas/PerSDKUsageReport' type: object x-stream-index: "001" required: - per_sdk_usage type: object SDKUsageReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateSDKUsageReportResponse' type: array x-stream-index: "001" required: - daily 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 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 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 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 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 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 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 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 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 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 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 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: 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 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 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 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: string 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: string 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 SRTIngress: properties: address: type: string x-stream-index: "001" required: - address 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 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 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 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 SendClosedCaptionRequest: 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 SendClosedCaptionResponse: nullable: true properties: duration: type: string x-stream-index: "001.001" required: - duration 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 SessionSettingsRequest: properties: inactivity_timeout_seconds: format: int32 maximum: 900 minimum: 5 type: integer x-stream-index: "001" required: - inactivity_timeout_seconds 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 SessionWarningResponse: properties: code: type: string x-stream-index: "002" time: format: date-time type: string x-stream-index: "001" warning: type: string x-stream-index: "003" required: - code - warning 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 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 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 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 StartClosedCaptionsResponse: nullable: true properties: duration: type: string x-stream-index: "001.001" required: - duration type: object StartFrameRecordingRequest: nullable: true properties: recording_external_storage: type: string x-stream-index: "002" title: StartFrameRecordingRequest 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 StartHLSBroadcastingRequest: description: StartHLSBroadcastingRequest is the payload for starting an HLS broadcasting. nullable: true title: StartHLSBroadcastingRequest 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 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 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 StartRecordingRequest: nullable: true properties: recording_external_storage: type: string x-stream-index: "002" title: StartRecordingRequest 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 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 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 StopAllRTMPBroadcastsRequest: nullable: true title: StopAllRTMPBroadcastsRequest 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 StopClosedCaptionsRequest: nullable: true properties: stop_transcription: type: boolean x-stream-index: "003" 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 StopFrameRecordingRequest: nullable: true 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 StopHLSBroadcastingRequest: nullable: true 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 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 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 StopRTMPBroadcastsRequest: description: Request for stopping RTMP broadcasts nullable: true title: StopRTMPBroadcastsRequest 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 StopRecordingRequest: nullable: true 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 StopTranscriptionRequest: nullable: true properties: stop_closed_captions: type: boolean x-stream-index: "003" 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 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 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 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 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 SubscribersMetrics: properties: all: $ref: '#/components/schemas/SubscriberAllMetrics' x-stream-index: "001" 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 type: object ThumbnailResponse: properties: image_url: type: string x-stream-index: "001" required: - image_url type: object ThumbnailsSettingsRequest: properties: enabled: type: boolean x-stream-index: "001" type: object ThumbnailsSettingsResponse: properties: enabled: type: boolean x-stream-index: "001" required: - enabled 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 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 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 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" 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 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 UnblockedUserEvent: description: |- This event is sent when a user is unblocked on a call, this can be useful to notify the user that they can now join the call again properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: call.unblocked_user description: 'The type of event: "call.unblocked_user" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user that was unblocked title: User x-stream-index: "003" required: - type - created_at - call_cid - user title: UnblockedUserEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 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 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 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 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: string x-stream-index: "005" title: UpdateCallRequest 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 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 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: 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 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 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 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 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 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 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 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 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 UpdatedCallPermissionsEvent: description: This event is sent to notify about permission changes for a user, clients receiving this event should update their UI accordingly properties: call_cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" own_capabilities: description: The capabilities of the current user items: $ref: '#/components/schemas/OwnCapability' title: Own capabilities type: array x-stream-index: "004" type: default: call.permissions_updated description: 'The type of event: "call.permissions_updated" in this case' title: Event Type type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserResponse' description: The user who received the new permissions title: User x-stream-index: "003" required: - type - created_at - call_cid - user - own_capabilities title: UpdatedCallPermissionsEvent type: object x-stream-event-call-type: true x-stream-event-doc-group: call x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserBannedEvent: description: This event is sent when a user gets banned. The event contains information about the user that was banned. nullable: true properties: channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.006 channel_id: description: The ID of the channel where the target user was banned title: Channel ID type: string x-stream-index: 001.002.002 channel_member_count: format: int32 type: integer x-stream-index: 001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.005 channel_type: description: The type of the channel where the target user was banned title: Channel Type type: string x-stream-index: 001.002.001 cid: description: The CID of the channel where the target user was banned title: Channel CID type: string x-stream-index: 001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.003 created_by: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that banned the target user title: Created by x-stream-index: "004" custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.007 expiration: description: The expiration date of the ban format: date-time title: Expiration type: string x-stream-index: "005" reason: description: The reason for the ban title: Reason type: string x-stream-index: "003" received_at: format: date-time type: string x-stream-index: 001.001.001.001.004 shadow: description: Whether the user was shadow banned title: Shadow type: boolean x-stream-index: "006" team: description: The team of the channel where the target user was banned title: Team type: string x-stream-index: 001.001.003 total_bans: format: int32 type: integer x-stream-index: "007" type: default: user.banned description: 'The type of event: "user.banned" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was banned title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserBannedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserDeactivatedEvent: description: This event is sent when a user gets deactivated. The event contains information about the user that was deactivated. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" created_by: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that deactivated the target user title: Created by x-stream-index: "003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user.deactivated description: 'The type of event: "user.deactivated" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was deactivated title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserDeactivatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserDeletedEvent: description: This event is sent when a user gets deleted. The event contains information about the user that was deleted and the deletion options that were used. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" delete_conversation: description: 'The type of deletion that was used for the user''s conversations. One of: hard, soft, pruning, (empty string)' title: Delete conversation type: string x-stream-index: "004" delete_conversation_channels: description: Whether the user's conversation channels were deleted title: Delete conversation channels type: boolean x-stream-index: "008" delete_messages: description: 'The type of deletion that was used for the user''s messages. One of: hard, soft, pruning, (empty string)' title: Delete messages type: string x-stream-index: "003" delete_user: description: 'The type of deletion that was used for the user. One of: hard, soft, pruning, (empty string)' title: Delete user type: string x-stream-index: "005" hard_delete: description: Whether the user was hard deleted title: Hard delete type: boolean x-stream-index: "006" mark_messages_deleted: description: Whether the user's messages were marked as deleted title: Mark messages deleted type: boolean x-stream-index: "007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user.deleted description: 'The type of event: "user.deleted" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that was deleted title: User x-stream-index: "002.001" required: - type - created_at - custom - user - delete_messages - delete_conversation - delete_user - hard_delete - mark_messages_deleted - delete_conversation_channels title: UserDeletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 UserFeedbackReportResponse: properties: daily: items: $ref: '#/components/schemas/DailyAggregateUserFeedbackReportResponse' type: array x-stream-index: "001" required: - daily 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 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 UserReactivatedEvent: description: This event is sent when a user gets reactivated. The event contains information about the user that was reactivated. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" created_by: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that reactivated the target user title: Created by x-stream-index: "003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user.reactivated description: 'The type of event: "user.reactivated" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was reactivated title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserReactivatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 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: 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' 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' 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: 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 UserResponseCommonFields: properties: avg_response_time: format: int32 type: integer x-stream-index: "018" blocked_user_ids: items: type: string type: array x-stream-index: "017" created_at: format: date-time type: string x-stream-index: "009" custom: additionalProperties: {} type: object x-stream-index: "004" deactivated_at: format: date-time type: string x-stream-index: "016" deleted_at: format: date-time type: string x-stream-index: "011" id: type: string x-stream-index: "001" image: type: string x-stream-index: "003" language: type: string x-stream-index: "005" last_active: format: date-time type: string x-stream-index: "014" name: type: string x-stream-index: "002" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "015" role: type: string x-stream-index: "006" teams: items: type: string type: array x-stream-index: "007" teams_role: additionalProperties: type: string type: object x-stream-index: "008" updated_at: format: date-time type: string x-stream-index: "010" required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids type: object UserResponsePrivacyFields: properties: avg_response_time: format: int32 type: integer x-stream-index: "001.018" blocked_user_ids: items: type: string type: array x-stream-index: "001.017" created_at: format: date-time type: string x-stream-index: "001.009" custom: additionalProperties: {} type: object x-stream-index: "001.004" deactivated_at: format: date-time type: string x-stream-index: "001.016" deleted_at: format: date-time type: string x-stream-index: "001.011" id: type: string x-stream-index: "001.001" image: type: string x-stream-index: "001.003" invisible: type: boolean x-stream-index: "003" language: type: string x-stream-index: "001.005" last_active: format: date-time type: string x-stream-index: "001.014" name: type: string x-stream-index: "001.002" privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: "002" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.015" role: type: string x-stream-index: "001.006" teams: items: type: string type: array x-stream-index: "001.007" teams_role: additionalProperties: type: string type: object x-stream-index: "001.008" updated_at: format: date-time type: string x-stream-index: "001.010" required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids type: object UserUnbannedEvent: description: This event is sent when a user gets unbanned. The event contains information about the user that was unbanned. nullable: true properties: channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.006 channel_id: description: The ID of the channel where the target user was unbanned title: Channel ID type: string x-stream-index: 001.002.002 channel_member_count: format: int32 type: integer x-stream-index: 001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.005 channel_type: description: The type of the channel where the target user was unbanned title: Channel Type type: string x-stream-index: 001.002.001 cid: description: The CID of the channel where the target user was unbanned title: Channel CID type: string x-stream-index: 001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.003 created_by: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who unbanned the target user title: Created by x-stream-index: "003" custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.007 received_at: format: date-time type: string x-stream-index: 001.001.001.001.004 shadow: description: Whether the target user was shadow unbanned title: Shadow type: boolean x-stream-index: "004" team: description: The team of the channel where the target user was unbanned title: Team type: string x-stream-index: 001.001.003 type: default: user.unbanned description: 'The type of event: "user.unbanned" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was unbanned title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserUnbannedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserUpdatedEvent: description: This event is sent when a user gets updated. The event contains information about the updated user. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user.updated description: 'The type of event: "user.updated" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponsePrivacyFields' description: The updated user title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserUpdatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent VideoReactionOverTimeResponse: properties: by_minute: items: $ref: '#/components/schemas/CountByMinuteResponse' type: array x-stream-index: "001" type: object VideoReactionResponse: properties: custom: additionalProperties: {} type: object x-stream-index: "004" emoji_code: type: string x-stream-index: "003" type: type: string x-stream-index: "002" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "001" required: - user - type 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 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 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 WHEvent: description: The discriminator object for all webhook events, it maps events' payload to the final type discriminator: mapping: call.accepted: '#/components/schemas/CallAcceptedEvent' call.blocked_user: '#/components/schemas/BlockedUserEvent' call.closed_caption: '#/components/schemas/ClosedCaptionEvent' call.closed_captions_failed: '#/components/schemas/CallClosedCaptionsFailedEvent' call.closed_captions_started: '#/components/schemas/CallClosedCaptionsStartedEvent' call.closed_captions_stopped: '#/components/schemas/CallClosedCaptionsStoppedEvent' call.created: '#/components/schemas/CallCreatedEvent' call.deleted: '#/components/schemas/CallDeletedEvent' call.dtmf: '#/components/schemas/CallDTMFEvent' call.ended: '#/components/schemas/CallEndedEvent' call.frame_recording_failed: '#/components/schemas/CallFrameRecordingFailedEvent' call.frame_recording_ready: '#/components/schemas/CallFrameRecordingFrameReadyEvent' call.frame_recording_started: '#/components/schemas/CallFrameRecordingStartedEvent' call.frame_recording_stopped: '#/components/schemas/CallFrameRecordingStoppedEvent' call.hls_broadcasting_failed: '#/components/schemas/CallHLSBroadcastingFailedEvent' call.hls_broadcasting_started: '#/components/schemas/CallHLSBroadcastingStartedEvent' call.hls_broadcasting_stopped: '#/components/schemas/CallHLSBroadcastingStoppedEvent' call.kicked_user: '#/components/schemas/KickedUserEvent' call.live_started: '#/components/schemas/CallLiveStartedEvent' call.member_added: '#/components/schemas/CallMemberAddedEvent' call.member_removed: '#/components/schemas/CallMemberRemovedEvent' call.member_updated: '#/components/schemas/CallMemberUpdatedEvent' call.member_updated_permission: '#/components/schemas/CallMemberUpdatedPermissionEvent' call.missed: '#/components/schemas/CallMissedEvent' call.moderation_blur: '#/components/schemas/CallModerationBlurEvent' call.moderation_warning: '#/components/schemas/CallModerationWarningEvent' call.notification: '#/components/schemas/CallNotificationEvent' call.permission_request: '#/components/schemas/PermissionRequestEvent' call.permissions_updated: '#/components/schemas/UpdatedCallPermissionsEvent' call.reaction_new: '#/components/schemas/CallReactionEvent' call.recording_failed: '#/components/schemas/CallRecordingFailedEvent' call.recording_ready: '#/components/schemas/CallRecordingReadyEvent' call.recording_started: '#/components/schemas/CallRecordingStartedEvent' call.recording_stopped: '#/components/schemas/CallRecordingStoppedEvent' call.rejected: '#/components/schemas/CallRejectedEvent' call.ring: '#/components/schemas/CallRingEvent' call.rtmp_broadcast_failed: '#/components/schemas/CallRtmpBroadcastFailedEvent' call.rtmp_broadcast_started: '#/components/schemas/CallRtmpBroadcastStartedEvent' call.rtmp_broadcast_stopped: '#/components/schemas/CallRtmpBroadcastStoppedEvent' call.session_ended: '#/components/schemas/CallSessionEndedEvent' call.session_participant_count_updated: '#/components/schemas/CallSessionParticipantCountsUpdatedEvent' call.session_participant_joined: '#/components/schemas/CallSessionParticipantJoinedEvent' call.session_participant_left: '#/components/schemas/CallSessionParticipantLeftEvent' call.session_started: '#/components/schemas/CallSessionStartedEvent' call.stats_report_ready: '#/components/schemas/CallStatsReportReadyEvent' call.transcription_failed: '#/components/schemas/CallTranscriptionFailedEvent' call.transcription_ready: '#/components/schemas/CallTranscriptionReadyEvent' call.transcription_started: '#/components/schemas/CallTranscriptionStartedEvent' call.transcription_stopped: '#/components/schemas/CallTranscriptionStoppedEvent' call.unblocked_user: '#/components/schemas/UnblockedUserEvent' call.updated: '#/components/schemas/CallUpdatedEvent' call.user_feedback_submitted: '#/components/schemas/CallUserFeedbackSubmittedEvent' call.user_muted: '#/components/schemas/CallUserMutedEvent' custom: '#/components/schemas/CustomVideoEvent' export.channels.error: '#/components/schemas/AsyncExportErrorEvent' export.channels.success: '#/components/schemas/AsyncExportChannelsEvent' export.users.error: '#/components/schemas/AsyncExportErrorEvent' export.users.success: '#/components/schemas/AsyncExportUsersEvent' ingress.error: '#/components/schemas/IngressErrorEvent' ingress.started: '#/components/schemas/IngressStartedEvent' ingress.stopped: '#/components/schemas/IngressStoppedEvent' user.banned: '#/components/schemas/UserBannedEvent' user.deactivated: '#/components/schemas/UserDeactivatedEvent' user.deleted: '#/components/schemas/UserDeletedEvent' user.reactivated: '#/components/schemas/UserReactivatedEvent' user.unbanned: '#/components/schemas/UserUnbannedEvent' user.updated: '#/components/schemas/UserUpdatedEvent' propertyName: type oneOf: - $ref: '#/components/schemas/AsyncExportChannelsEvent' - $ref: '#/components/schemas/AsyncExportErrorEvent' - $ref: '#/components/schemas/AsyncExportErrorEvent' - $ref: '#/components/schemas/AsyncExportUsersEvent' - $ref: '#/components/schemas/BlockedUserEvent' - $ref: '#/components/schemas/CallAcceptedEvent' - $ref: '#/components/schemas/CallClosedCaptionsFailedEvent' - $ref: '#/components/schemas/CallClosedCaptionsStartedEvent' - $ref: '#/components/schemas/CallClosedCaptionsStoppedEvent' - $ref: '#/components/schemas/CallCreatedEvent' - $ref: '#/components/schemas/CallDTMFEvent' - $ref: '#/components/schemas/CallDeletedEvent' - $ref: '#/components/schemas/CallEndedEvent' - $ref: '#/components/schemas/CallFrameRecordingFailedEvent' - $ref: '#/components/schemas/CallFrameRecordingFrameReadyEvent' - $ref: '#/components/schemas/CallFrameRecordingStartedEvent' - $ref: '#/components/schemas/CallFrameRecordingStoppedEvent' - $ref: '#/components/schemas/CallHLSBroadcastingFailedEvent' - $ref: '#/components/schemas/CallHLSBroadcastingStartedEvent' - $ref: '#/components/schemas/CallHLSBroadcastingStoppedEvent' - $ref: '#/components/schemas/CallLiveStartedEvent' - $ref: '#/components/schemas/CallMemberAddedEvent' - $ref: '#/components/schemas/CallMemberRemovedEvent' - $ref: '#/components/schemas/CallMemberUpdatedEvent' - $ref: '#/components/schemas/CallMemberUpdatedPermissionEvent' - $ref: '#/components/schemas/CallMissedEvent' - $ref: '#/components/schemas/CallModerationBlurEvent' - $ref: '#/components/schemas/CallModerationWarningEvent' - $ref: '#/components/schemas/CallNotificationEvent' - $ref: '#/components/schemas/CallReactionEvent' - $ref: '#/components/schemas/CallRecordingFailedEvent' - $ref: '#/components/schemas/CallRecordingReadyEvent' - $ref: '#/components/schemas/CallRecordingStartedEvent' - $ref: '#/components/schemas/CallRecordingStoppedEvent' - $ref: '#/components/schemas/CallRejectedEvent' - $ref: '#/components/schemas/CallRingEvent' - $ref: '#/components/schemas/CallRtmpBroadcastFailedEvent' - $ref: '#/components/schemas/CallRtmpBroadcastStartedEvent' - $ref: '#/components/schemas/CallRtmpBroadcastStoppedEvent' - $ref: '#/components/schemas/CallSessionEndedEvent' - $ref: '#/components/schemas/CallSessionParticipantCountsUpdatedEvent' - $ref: '#/components/schemas/CallSessionParticipantJoinedEvent' - $ref: '#/components/schemas/CallSessionParticipantLeftEvent' - $ref: '#/components/schemas/CallSessionStartedEvent' - $ref: '#/components/schemas/CallStatsReportReadyEvent' - $ref: '#/components/schemas/CallTranscriptionFailedEvent' - $ref: '#/components/schemas/CallTranscriptionReadyEvent' - $ref: '#/components/schemas/CallTranscriptionStartedEvent' - $ref: '#/components/schemas/CallTranscriptionStoppedEvent' - $ref: '#/components/schemas/CallUpdatedEvent' - $ref: '#/components/schemas/CallUserFeedbackSubmittedEvent' - $ref: '#/components/schemas/CallUserMutedEvent' - $ref: '#/components/schemas/ClosedCaptionEvent' - $ref: '#/components/schemas/CustomVideoEvent' - $ref: '#/components/schemas/IngressErrorEvent' - $ref: '#/components/schemas/IngressStartedEvent' - $ref: '#/components/schemas/IngressStoppedEvent' - $ref: '#/components/schemas/KickedUserEvent' - $ref: '#/components/schemas/PermissionRequestEvent' - $ref: '#/components/schemas/UnblockedUserEvent' - $ref: '#/components/schemas/UpdatedCallPermissionsEvent' - $ref: '#/components/schemas/UserBannedEvent' - $ref: '#/components/schemas/UserDeactivatedEvent' - $ref: '#/components/schemas/UserDeletedEvent' - $ref: '#/components/schemas/UserReactivatedEvent' - $ref: '#/components/schemas/UserUnbannedEvent' - $ref: '#/components/schemas/UserUpdatedEvent' 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 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 info: title: Stream API version: v228.3.0 openapi: 3.0.3 paths: /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 /video/call/{type}/{id}: get: description: |2+ 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: |2 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 /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' 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: |2 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: |2 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: |2 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: |2 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: |2 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: |2+ 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: |2+ 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' 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: |2+ 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: |2 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: |2+ 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: |2+ 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: |2+ 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: |2+ 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' 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: |2+ 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: |2+ 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 /video/call_stats/{call_type}/{call_id}/{session}/participants/{user}/{user_session}/timeline: get: description: |2+ 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: |2+ 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: |2+ 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 /video/calltypes/{name}: delete: description: |2+ 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: |2+ 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: |2+ 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 /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: |2+ 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: |2+ 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: |2+ 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' 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: |2+ 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 security: - JWT: [] api_key: [] stream-auth-type: [] - api_key: [] stream-auth-type: [] servers: - description: Stream API url: https://chat.stream-io-api.com