Appearance
Video
About 14089 wordsAbout 47 min
Curl SDK - Video API
Table of Contents
- GetActiveCallsStatus
- QueryUserFeedback
- QueryCallMembers
- QueryCallStats
- GetCall
- GetOrCreateCall
- UpdateCall
- BlockUser
- SendClosedCaption
- DeleteCall
- SendCallEvent
- CollectUserFeedback
- GoLive
- KickUser
- EndCall
- UpdateCallMembers
- MuteUsers
- QueryCallParticipants
- VideoPin
- ListRecordings
- StartRecording
- StopRecording
- GetCallReport
- RingCall
- StartRTMPBroadcasts
- StopAllRTMPBroadcasts
- StopRTMPBroadcast
- GetCallParticipantSessionMetrics
- QueryCallParticipantSessions
- StartHLSBroadcasting
- StartClosedCaptions
- StartFrameRecording
- StartTranscription
- StopHLSBroadcasting
- StopClosedCaptions
- StopFrameRecording
- StopLive
- StopTranscription
- ListTranscriptions
- UnblockUser
- VideoUnpin
- UpdateUserPermissions
- DeleteRecording
- DeleteTranscription
- QueryCallSessionStats
- GetCallStatsMap
- GetCallSessionParticipantStatsDetails
- QueryCallSessionParticipantStats
- GetCallSessionParticipantStatsTimeline
- QueryCalls
- ListCallTypes
- CreateCallType
- GetCallType
- UpdateCallType
- DeleteCallType
- GetEdges
- ResolveSipAuth
- ListSIPInboundRoutingRule
- CreateSIPInboundRoutingRule
- UpdateSIPInboundRoutingRule
- DeleteSIPInboundRoutingRule
- ListSIPTrunks
- CreateSIPTrunk
- UpdateSIPTrunk
- DeleteSIPTrunk
- ResolveSipInbound
- QueryAggregateCallStats
- Types Reference
GetActiveCallsStatus
Retrieve the current status of all active calls in your application. Use this method to monitor ongoing calls and ensure smooth operations.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/active_calls_status" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetActiveCallsStatusResponse
QueryUserFeedback
Access user-reported feedback for specific calls to gain insights into user experience and identify areas for improvement.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/feedback?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"limit": 1,
"sort": [{ "direction": 1 }]
}'Example: with filter_conditions and prev
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/feedback?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter_conditions": {},
"prev": "example_value"
}'Example: with next and full
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/feedback?full=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value"
}'Response: QueryUserFeedbackResponse
Parameters
Query Parameters:
full(bool)
Request Body:
filter_conditions(object): Filter conditions to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Array of sort parameters
QueryCallMembers
Obtain a list of participants in a call to manage and monitor attendance or engagement during the session.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/members" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"type": "messaging",
"limit": 1,
"sort": [{ "direction": 1 }]
}'Example: with filter_conditions and prev
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/members" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"type": "messaging",
"filter_conditions": {},
"prev": "example_value"
}'Example: with next
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/members" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"type": "messaging",
"next": "example_value"
}'Response: QueryCallMembersResponse
Parameters
Request Body:
filter_conditions(object): Filter conditions to apply to the queryid(string) (required)limit(int)next(string)prev(string)sort([]SortParamRequest): Array of sort parameterstype(string) (required)
QueryCallStats
Gather detailed statistics about a call, such as duration and network quality, to analyze call performance and troubleshoot issues.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/stats" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"limit": 1,
"sort": [{ "direction": 1 }]
}'Example: with filter_conditions and prev
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/stats" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter_conditions": {},
"prev": "example_value"
}'Example: with next
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/stats" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value"
}'Response: QueryCallStatsResponse
Parameters
Request Body:
filter_conditions(object): Filter conditions to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Array of sort parameters
GetCall
Fetch details of a specific call by its unique identifier, which is useful for reviewing past interactions or managing call records.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id?members_limit=1&ring=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with notify and video
curl -X GET "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id?notify=true&video=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetCallResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Query Parameters:
members_limit(int)ring(bool)notify(bool)video(bool)
GetOrCreateCall
Retrieve an existing call or create a new one if it doesn't exist, ideal for initiating or resuming communications seamlessly.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"data": { "channel_cid": "example_value" },
"members_limit": ["user-123", "user-456"]
}'Example: with notify and ring
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"notify": true,
"ring": true
}'Example: with video
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"video": true
}'Response: GetOrCreateCallResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
data(CallRequest)members_limit(int)notify(bool): if provided it sends a notification event to the members for this callring(bool): if provided it sends a ring event to the members for this callvideo(bool)
UpdateCall
Modify the details of a specific call, such as its metadata or settings, to adapt to changing requirements or correct information.
Example
curl -X PATCH "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"custom": {},
"settings_override": { "audio": { "default_device": "example_value", "access_request_enabled": true } }
}'Example: with starts_at
curl -X PATCH "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"starts_at": 1.0
}'Response: UpdateCallResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
custom(object): Custom data for this objectsettings_override(CallSettingsRequest): the settings to change for this callstarts_at(float): the time the call is scheduled to start
BlockUser
Prevent a user from participating in a call, which is useful for managing disruptions or enforcing access controls.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/block" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user_id": "user-123"
}'Response: BlockUserResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
user_id(string) (required): the user to block
SendClosedCaption
Transmit closed captions to enhance accessibility for users with hearing impairments or for those in noisy environments.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/closed_captions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"speaker_id": "example_value",
"text": "Hello, World!",
"language": "example_value",
"user_id": "user-123"
}'Example: with service and start_time
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/closed_captions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"speaker_id": "example_value",
"text": "Hello, World!",
"service": "example_value",
"start_time": 1.0
}'Example: with translated and user
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/closed_captions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"speaker_id": "example_value",
"text": "Hello, World!",
"translated": true,
"user": { "id": "example-id", "custom": {} }
}'Example: with end_time
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/closed_captions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"speaker_id": "example_value",
"text": "Hello, World!",
"end_time": 1.0
}'Response: SendClosedCaptionResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
end_time(float)language(string)service(string)speaker_id(string) (required)start_time(float)text(string) (required)translated(bool)user(UserRequest)user_id(string)
DeleteCall
Remove a call from the system, freeing up resources and maintaining an organized call history by eliminating unnecessary records.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/delete" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"hard": true
}'Response: DeleteCallResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
hard(bool): if true the call will be hard deleted along with all related data
SendCallEvent
Send a custom event within a call to trigger specific actions or notifications; use this to enhance interactivity and engagement during calls.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/event" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Example: with custom
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/event" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"custom": {}
}'Response: SendCallEventResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
custom(object)user(UserRequest)user_id(string)
CollectUserFeedback
Gather feedback from call participants to assess user satisfaction and identify areas for improvement; ideal after a call concludes to gauge participant experience.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/feedback" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"rating": 1,
"sdk": "example_value",
"sdk_version": "example_value",
"custom": {},
"reason": "example_value"
}'Example: with user_session_id
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/feedback" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"rating": 1,
"sdk": "example_value",
"sdk_version": "example_value",
"user_session_id": "example_value"
}'Response: CollectUserFeedbackResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
custom(object)rating(int) (required)reason(string)sdk(string) (required)sdk_version(string) (required)user_session_id(string)
GoLive
Set a call status to "live" to signal participants and viewers that the session is actively broadcasting; use at the start of a live event to notify all users.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/go_live" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"recording_storage_name": "example_value",
"start_closed_caption": true
}'Example: with start_composite_recording and start_hls
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/go_live" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"start_composite_recording": true,
"start_hls": true
}'Example: with start_individual_recording and start_raw_recording
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/go_live" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"start_individual_recording": true,
"start_raw_recording": true
}'Example: with start_recording and start_transcription
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/go_live" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"start_recording": true,
"start_transcription": true
}'Response: GoLiveResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
recording_storage_name(string)start_closed_caption(bool)start_composite_recording(bool)start_hls(bool)start_individual_recording(bool)start_raw_recording(bool)start_recording(bool)start_transcription(bool)transcription_storage_name(string)
KickUser
Remove a participant from a call, useful for moderating discussions and ensuring a safe and respectful environment.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/kick" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user_id": "user-123",
"block": true,
"kicked_by": { "id": "example-id", "custom": {} }
}'Example: with kicked_by_id
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/kick" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user_id": "user-123",
"kicked_by_id": "example_value"
}'Response: KickUserResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
block(bool): If true, also block the user from rejoining the callkicked_by(UserRequest): Server-side: user performing the actionkicked_by_id(string): Server-side: ID of the user performing the actionuser_id(string) (required): The user to kick
EndCall
Terminate an ongoing call for all participants, suitable for concluding a session or when the call needs to be abruptly stopped.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/mark_ended" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: EndCallResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
UpdateCallMembers
Modify the list of participants in a call, allowing you to add or remove members as needed during the session.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/members" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"remove_members": ["user-123", "user-456"],
"update_members": ["user-123", "user-456"]
}'Response: UpdateCallMembersResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
remove_members([]string): List of userID to removeupdate_members([]MemberRequest): List of members to update or insert
MuteUsers
Silence one or more users to manage background noise or disruptions, maintaining a clear and focused communication channel.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/mute_users" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"audio": true,
"mute_all_users": ["user-123", "user-456"]
}'Example: with muted_by and muted_by_id
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/mute_users" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"muted_by": { "id": "example-id", "custom": {} },
"muted_by_id": "example_value"
}'Example: with screenshare and screenshare_audio
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/mute_users" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"screenshare": true,
"screenshare_audio": true
}'Example: with user_ids and video
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/mute_users" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user_ids": ["user-123", "user-456"],
"video": true
}'Response: MuteUsersResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
audio(bool)mute_all_users(bool)muted_by(UserRequest)muted_by_id(string)screenshare(bool)screenshare_audio(bool)user_ids([]string)video(bool)
QueryCallParticipants
Retrieve a list of current call participants to monitor attendance and manage user engagement during a session.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/participants?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter_conditions": {}
}'Response: QueryCallParticipantsResponse
Parameters
Path Parameters:
id(string) (required)type(string) (required)
Query Parameters:
limit(int)
Request Body:
filter_conditions(object): Filter conditions to apply to the query
VideoPin
Pin a participant's video to keep it prominently displayed for all viewers, useful for highlighting a speaker or presenter.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/pin" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"session_id": "example_value",
"user_id": "user-123"
}'Response: PinResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
session_id(string) (required): the session ID of the user who pinned the messageuser_id(string) (required): the user ID of the user who pinned the message
ListRecordings
Access a list of all recorded sessions to review past calls, useful for archiving or sharing with those who couldn't attend.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/recordings" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListRecordingsResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
StartRecording
Initiate the recording of a call to capture both audio and video for future playback. This is useful for creating a comprehensive archive of the call for documentation or review purposes.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/recordings/example_value/start" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"recording_external_storage": "example_value"
}'Response: StartRecordingResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)recording_type(string) (required)
Request Body:
recording_external_storage(string)
StopRecording
Terminate the recording of a video session, suitable for finalizing the capture of content once the session has ended or when recording is no longer necessary.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/recordings/example_value/stop" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: StopRecordingResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)recording_type(string) (required)
GetCallReport
Retrieve a detailed report of a specific call to analyze participant activity and call quality. Use this method to gain insights and evaluate the performance of a completed call.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/report?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetCallReportResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Query Parameters:
session_id(string)
RingCall
Initiate ringing for specific users in an ongoing call to alert them of their participation. This method is useful for notifying users who have not yet joined or need to be reminded about the active call.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/ring" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"members_ids": ["user-123", "user-456"],
"video": true
}'Response: RingCallResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
members_ids([]string): 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.video(bool): Indicate if call should be video
StartRTMPBroadcasts
Begin streaming the live video call to an RTMP server for wider distribution or recording. Use this when you want to share the call with a larger audience through a streaming platform.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/rtmp_broadcasts" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"broadcasts": [{ "name": "Example Name", "stream_url": "https://example.com", "layout": { "name": "Example Name", "detect_orientation": true } }]
}'Response: StartRTMPBroadcastsResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
broadcasts([]RTMPBroadcastRequest) (required): List of broadcasts to start
StopAllRTMPBroadcasts
Cease all ongoing RTMP streams for a particular call to end external broadcasts. This is helpful when you need to immediately stop all public distribution of the call content.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/rtmp_broadcasts/stop" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: StopAllRTMPBroadcastsResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
StopRTMPBroadcast
End a specific RTMP stream for a call to halt its broadcast to a particular server. Use this method to manage and control individual streaming sessions as needed.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/rtmp_broadcasts/example_value/stop" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: StopRTMPBroadcastsResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)name(string) (required)
GetCallParticipantSessionMetrics
Use this method to retrieve detailed performance metrics for individual participants in a video call session, helping you analyze and optimize call quality and user experience.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/session/example_value/participant/example_value/example_value/details/track?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetCallParticipantSessionMetricsResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)session(string) (required)user(string) (required)user_session(string) (required)
Query Parameters:
since(float)until(float)
QueryCallParticipantSessions
Access session details for participants in a call to monitor their activity and connection status. This method is ideal for troubleshooting participant issues or assessing engagement during the call.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/session/example_value/participant_sessions?limit=10&filter_conditions=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with next and prev
curl -X GET "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/session/example_value/participant_sessions?prev=&next=" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: QueryCallParticipantSessionsResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)session(string) (required)
Query Parameters:
limit(int)prev(string)next(string)filter_conditions(object)
StartHLSBroadcasting
Launch HLS streaming for a call to deliver live content with adaptive bitrate streaming. Utilize this when you require a scalable way to stream the call to various devices and network conditions.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/start_broadcasting" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: StartHLSBroadcastingResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
StartClosedCaptions
Activate closed captions for a call to provide real-time text transcription of spoken content. This is beneficial for enhancing accessibility and ensuring comprehension for participants with hearing impairments.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/start_closed_captions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"enable_transcription": true,
"external_storage": "example_value"
}'Example: with language and speech_segment_config
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/start_closed_captions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"language": "example_value",
"speech_segment_config": { "max_speech_caption_ms": 1 }
}'Response: StartClosedCaptionsResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
enable_transcription(bool): Enable transcriptions along with closed captionsexternal_storage(string): Which external storage to use for transcriptions (only applicable if enable_transcription is true)language(string): 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, zhspeech_segment_config(SpeechSegmentConfig)
StartFrameRecording
Begin capturing individual frames of a call for analysis or archival purposes. Use this method when you need a frame-by-frame record of the call, potentially for quality assessment or content creation.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/start_frame_recording" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"recording_external_storage": "example_value"
}'Response: StartFrameRecordingResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
recording_external_storage(string)
StartTranscription
Initiate the transcription of live or recorded video to generate text-based content, useful for creating searchable archives or enhancing accessibility.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/start_transcription" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"enable_closed_captions": true,
"language": "example_value"
}'Example: with transcription_external_storage
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/start_transcription" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"transcription_external_storage": "example_value"
}'Response: StartTranscriptionResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
enable_closed_captions(bool): Enable closed captions along with transcriptionslanguage(string): 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, zhtranscription_external_storage(string): Store transcriptions in this external storage
StopHLSBroadcasting
Cease the HLS (HTTP Live Streaming) broadcast of a video, which is helpful when you want to end a live stream and stop distributing the video content to viewers.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/stop_broadcasting" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: StopHLSBroadcastingResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
StopClosedCaptions
Disable closed captioning during a live video session, which is beneficial when captions are no longer needed or to prevent distraction during specific segments.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/stop_closed_captions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"stop_transcription": true
}'Response: StopClosedCaptionsResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
stop_transcription(bool)
StopFrameRecording
End the process of recording individual frames from a video stream, which is useful for stopping the capture of frame-by-frame details when no longer required.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/stop_frame_recording" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: StopFrameRecordingResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
StopLive
Mark a session as no longer live, which is important for concluding live interactions and preventing further live audience participation.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/stop_live" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"continue_closed_caption": true,
"continue_composite_recording": true
}'Example: with continue_hls and continue_individual_recording
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/stop_live" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"continue_hls": true,
"continue_individual_recording": true
}'Example: with continue_raw_recording and continue_recording
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/stop_live" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"continue_raw_recording": true,
"continue_recording": true
}'Example: with continue_rtmp_broadcasts and continue_transcription
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/stop_live" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"continue_rtmp_broadcasts": true,
"continue_transcription": true
}'Response: StopLiveResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
continue_closed_caption(bool)continue_composite_recording(bool)continue_hls(bool)continue_individual_recording(bool)continue_raw_recording(bool)continue_recording(bool)continue_rtmp_broadcasts(bool)continue_transcription(bool)
StopTranscription
End the transcription process to cease generating text from audio, useful when transcription services are no longer needed or to save resources.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/stop_transcription" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"stop_closed_captions": true
}'Response: StopTranscriptionResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
stop_closed_captions(bool)
ListTranscriptions
Retrieve a list of all transcription sessions, which is helpful for reviewing, managing, or auditing past transcription activities.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/transcriptions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListTranscriptionsResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
UnblockUser
Remove restrictions on a user during a call, allowing them to participate again, which is useful for restoring user access after a temporary block.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/unblock" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user_id": "user-123"
}'Response: UnblockUserResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
user_id(string) (required): the user to unblock
VideoUnpin
Remove a video from its pinned position within a call, useful for changing the focus to another participant or when the pinned video is no longer relevant.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/unpin" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"session_id": "example_value",
"user_id": "user-123"
}'Response: UnpinResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
session_id(string) (required): the session ID of the user who pinned the messageuser_id(string) (required): the user ID of the user who pinned the message
UpdateUserPermissions
Update user permissions allows you to modify access levels for individual users, ensuring they have the appropriate rights to perform their tasks effectively.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/user_permissions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user_id": "user-123",
"grant_permissions": ["value1", "value2"],
"revoke_permissions": ["value1", "value2"]
}'Response: UpdateUserPermissionsResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)
Request Body:
grant_permissions([]string)revoke_permissions([]string)user_id(string) (required)
DeleteRecording
Delete recording permanently removes a call recording from storage, ideal for managing storage space or complying with data retention policies.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/example_value/recordings/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteRecordingResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)session(string) (required)filename(string) (required)
DeleteTranscription
Delete transcription removes the text record of a call, useful for maintaining privacy or managing data storage.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/video/call/messaging/example-id/example_value/transcriptions/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteTranscriptionResponse
Parameters
Path Parameters:
type(string) (required)id(string) (required)session(string) (required)filename(string) (required)
QueryCallSessionStats
Retrieve real-time statistics for a current call session to monitor performance metrics such as call quality and latency. Use this method to gain insights into the ongoing call's performance for troubleshooting or optimizing call experience.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/call_stats" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"limit": 1,
"sort": [{ "direction": 1 }]
}'Example: with filter_conditions and prev
curl -X POST "https://video.stream-io-api.com/api/v2/video/call_stats" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter_conditions": {},
"prev": "example_value"
}'Example: with next
curl -X POST "https://video.stream-io-api.com/api/v2/video/call_stats" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value"
}'Response: QueryCallSessionStatsResponse
Parameters
Request Body:
filter_conditions(object): Filter conditions to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Array of sort parameters
GetCallStatsMap
Get call stats map provides a geographical distribution of call participants, offering insights into location-based engagement and connectivity.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/call_stats/example_value/call-abc/example_value/map?start_time=1.0&end_time=1.0" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with exclude_publishers and exclude_subscribers
curl -X GET "https://video.stream-io-api.com/api/v2/video/call_stats/example_value/call-abc/example_value/map?exclude_publishers=true&exclude_subscribers=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with exclude_sfus
curl -X GET "https://video.stream-io-api.com/api/v2/video/call_stats/example_value/call-abc/example_value/map?exclude_sfus=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: QueryCallStatsMapResponse
Parameters
Path Parameters:
call_type(string) (required)call_id(string) (required)session(string) (required)
Query Parameters:
start_time(float)end_time(float)exclude_publishers(bool)exclude_subscribers(bool)exclude_sfus(bool)
GetCallSessionParticipantStatsDetails
Get call session participant stats details offers comprehensive statistics on individual participants, enabling performance analysis and troubleshooting.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/call_stats/example_value/call-abc/example_value/participant/example_value/example_value/details?since=example_value&until=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with max_points
curl -X GET "https://video.stream-io-api.com/api/v2/video/call_stats/example_value/call-abc/example_value/participant/example_value/example_value/details?max_points=1" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetCallSessionParticipantStatsDetailsResponse
Parameters
Path Parameters:
call_type(string) (required)call_id(string) (required)session(string) (required)user(string) (required)user_session(string) (required)
Query Parameters:
since(string)until(string)max_points(int)
QueryCallSessionParticipantStats
Query call participant statistics retrieves detailed metrics on participants, helping to assess engagement and identify any technical issues during the call.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/call_stats/example_value/call-abc/example_value/participants?sort=example_value&limit=10" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with filter_conditions and prev
curl -X GET "https://video.stream-io-api.com/api/v2/video/call_stats/example_value/call-abc/example_value/participants?filter_conditions=example_value&prev=" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with next
curl -X GET "https://video.stream-io-api.com/api/v2/video/call_stats/example_value/call-abc/example_value/participants?next=" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: QueryCallSessionParticipantStatsResponse
Parameters
Path Parameters:
call_type(string) (required)call_id(string) (required)session(string) (required)
Query Parameters:
sort([]SortParamRequest)filter_conditions(object)limit(int)prev(string)next(string)
GetCallSessionParticipantStatsTimeline
Get participant timeline events presents a chronological sequence of participant activities during a call, aiding in understanding participant interactions and behavior.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/call_stats/example_value/call-abc/example_value/participants/example_value/example_value/timeline?start_time=example_value&end_time=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with severity
curl -X GET "https://video.stream-io-api.com/api/v2/video/call_stats/example_value/call-abc/example_value/participants/example_value/example_value/timeline?severity=value1,value2" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: QueryCallSessionParticipantStatsTimelineResponse
Parameters
Path Parameters:
call_type(string) (required)call_id(string) (required)session(string) (required)user(string) (required)user_session(string) (required)
Query Parameters:
start_time(string)end_time(string)severity([]string)
QueryCalls
Query call allows you to search and retrieve information about past calls, useful for record-keeping and analysis.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/calls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"limit": 1,
"sort": [{ "direction": 1 }]
}'Example: with filter_conditions and prev
curl -X POST "https://video.stream-io-api.com/api/v2/video/calls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter_conditions": {},
"prev": "example_value"
}'Example: with next
curl -X POST "https://video.stream-io-api.com/api/v2/video/calls" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value"
}'Response: QueryCallsResponse
Parameters
Request Body:
filter_conditions(object): Filter conditions to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Array of sort parameters
ListCallTypes
List Call Type provides an overview of available call categories, helping you understand and manage different communication scenarios.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/calltypes" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListCallTypeResponse
CreateCallType
Create Call Type allows you to define new categories for calls, facilitating better organization and analysis of communication patterns.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/calltypes" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"external_storage": "example_value",
"grants": {}
}'Example: with notification_settings and settings
curl -X POST "https://video.stream-io-api.com/api/v2/video/calltypes" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"notification_settings": { "call_live_started": { "apns": { "body": "example_value" } } },
"settings": { "audio": { "default_device": "example_value", "access_request_enabled": true } }
}'Response: CreateCallTypeResponse
Parameters
Request Body:
external_storage(string): the external storage for the call typegrants(object): the permissions granted to each rolename(string) (required)notification_settings(NotificationSettingsRequest): the notification settings for the call typesettings(CallSettingsRequest): the settings for the call type
GetCallType
Retrieve information about the current call type to understand how calls are being handled. Use this method to gain insights into the categorization of call sessions in your application.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/calltypes/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetCallTypeResponse
Parameters
Path Parameters:
name(string) (required)
UpdateCallType
Modify the existing call type to better reflect the current needs of your communication setup. This method is beneficial when you need to change how calls are classified or managed.
Example
curl -X PUT "https://video.stream-io-api.com/api/v2/video/calltypes/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"external_storage": "example_value",
"grants": {}
}'Example: with notification_settings and settings
curl -X PUT "https://video.stream-io-api.com/api/v2/video/calltypes/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"notification_settings": { "call_live_started": { "apns": { "body": "example_value" } } },
"settings": { "audio": { "default_device": "example_value", "access_request_enabled": true } }
}'Response: UpdateCallTypeResponse
Parameters
Path Parameters:
name(string) (required)
Request Body:
external_storage(string)grants(object)notification_settings(NotificationSettingsRequest)settings(CallSettingsRequest)
DeleteCallType
Remove a call type that is no longer needed to keep your call management system organized. Use this method to eliminate outdated or unnecessary call categorizations.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/video/calltypes/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: Response
Parameters
Path Parameters:
name(string) (required)
GetEdges
Access detailed information about network edges to optimize and troubleshoot call routing. Utilize this method to ensure efficient connectivity and performance in your network infrastructure.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/edges" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetEdgesResponse
ResolveSipAuth
Authenticate and validate SIP credentials to establish a secure and reliable SIP session. Use this method when setting up or verifying SIP-based communications to ensure proper authorization and connectivity.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/sip/auth" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"sip_caller_number": "example_value",
"sip_trunk_number": "example_value",
"from_host": "example_value",
"source_ip": "example_value"
}'Response: ResolveSipAuthResponse
Parameters
Request Body:
from_host(string): Host from the SIP From headersip_caller_number(string) (required): SIP caller numbersip_trunk_number(string) (required): SIP trunk number to look upsource_ip(string): Transport-layer source IP address of the SIP request
ListSIPInboundRoutingRule
Retrieve a list of SIP inbound routing rules to review and manage how incoming SIP calls are directed. Use this method to ensure calls are routed according to your current configurations and policies.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/sip/inbound_routing_rules" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListSIPInboundRoutingRuleResponse
CreateSIPInboundRoutingRule
Establish a new SIP inbound routing rule to define how incoming SIP calls are handled. This method is essential for setting up or expanding your call routing strategies.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/sip/inbound_routing_rules" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"caller_configs": { "id": "example-id", "custom_data": {} },
"name": "Example Name",
"trunk_ids": ["id-1", "id-2"],
"call_configs": { "custom_data": {} },
"called_numbers": ["value1", "value2"]
}'Example: with caller_numbers and direct_routing_configs
curl -X POST "https://video.stream-io-api.com/api/v2/video/sip/inbound_routing_rules" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"caller_configs": { "id": "example-id", "custom_data": {} },
"name": "Example Name",
"trunk_ids": ["id-1", "id-2"],
"caller_numbers": ["value1", "value2"],
"direct_routing_configs": { "call_id": "example_value", "call_type": "example_value" }
}'Example: with pin_protection_configs and pin_routing_configs
curl -X POST "https://video.stream-io-api.com/api/v2/video/sip/inbound_routing_rules" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"caller_configs": { "id": "example-id", "custom_data": {} },
"name": "Example Name",
"trunk_ids": ["id-1", "id-2"],
"pin_protection_configs": { "default_pin": "example_value" },
"pin_routing_configs": { "custom_webhook_url": "https://example.com" }
}'Response: SIPInboundRoutingRuleResponse
Parameters
Request Body:
call_configs(SIPCallConfigsRequest): Call configuration (required)called_numbers([]string): List of called numberscaller_configs(SIPCallerConfigsRequest) (required): Caller configuration (required)caller_numbers([]string): List of caller numbers (optional)direct_routing_configs(SIPDirectRoutingRuleCallConfigsRequest): Direct routing configuration (mutually exclusive with pin_routing_configs)name(string) (required): Name of the SIP Inbound Routing Rulepin_protection_configs(SIPPinProtectionConfigsRequest): PIN protection configurationpin_routing_configs(SIPInboundRoutingRulePinConfigsRequest): PIN routing configuration (mutually exclusive with direct_routing_configs)trunk_ids([]string) (required): List of SIP trunk IDs
UpdateSIPInboundRoutingRule
Modify an existing SIP inbound routing rule to align with changes in your call management requirements. Use this method to adjust call handling as your organizational needs evolve.
Example
curl -X PUT "https://video.stream-io-api.com/api/v2/video/sip/inbound_routing_rules/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"caller_configs": { "id": "example-id", "custom_data": {} },
"name": "Example Name",
"trunk_ids": ["id-1", "id-2"],
"call_configs": { "custom_data": {} },
"called_numbers": ["value1", "value2"]
}'Example: with caller_numbers and direct_routing_configs
curl -X PUT "https://video.stream-io-api.com/api/v2/video/sip/inbound_routing_rules/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"caller_configs": { "id": "example-id", "custom_data": {} },
"name": "Example Name",
"trunk_ids": ["id-1", "id-2"],
"caller_numbers": ["value1", "value2"],
"direct_routing_configs": { "call_id": "example_value", "call_type": "example_value" }
}'Example: with pin_protection_configs and pin_routing_configs
curl -X PUT "https://video.stream-io-api.com/api/v2/video/sip/inbound_routing_rules/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"caller_configs": { "id": "example-id", "custom_data": {} },
"name": "Example Name",
"trunk_ids": ["id-1", "id-2"],
"pin_protection_configs": { "default_pin": "example_value" },
"pin_routing_configs": { "custom_webhook_url": "https://example.com" }
}'Response: UpdateSIPInboundRoutingRuleResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
call_configs(SIPCallConfigsRequest): Call configuration (required)called_numbers([]string): List of called numberscaller_configs(SIPCallerConfigsRequest) (required): Caller configuration (required)caller_numbers([]string): List of caller numbers (optional)direct_routing_configs(SIPDirectRoutingRuleCallConfigsRequest): Direct routing configuration (mutually exclusive with pin_routing_configs)name(string) (required): Name of the SIP Inbound Routing Rulepin_protection_configs(SIPPinProtectionConfigsRequest): PIN protection configurationpin_routing_configs(SIPInboundRoutingRulePinConfigsRequest): PIN routing configuration (mutually exclusive with direct_routing_configs)trunk_ids([]string) (required): List of SIP trunk IDs
DeleteSIPInboundRoutingRule
Remove a SIP inbound routing rule that is no longer applicable to streamline your call routing processes. This method helps maintain an efficient and relevant call management system.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/video/sip/inbound_routing_rules/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteSIPInboundRoutingRuleResponse
Parameters
Path Parameters:
id(string) (required)
ListSIPTrunks
Get a list of all SIP trunks to review your current trunk configurations and capacities. This method is useful for managing and optimizing your voice communication infrastructure.
Example
curl -X GET "https://video.stream-io-api.com/api/v2/video/sip/inbound_trunks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListSIPTrunksResponse
CreateSIPTrunk
Set up a new SIP trunk to expand your communication capabilities and support increased call volumes. Use this method to enhance your network's connectivity and scalability.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/sip/inbound_trunks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"numbers": ["value1", "value2"],
"allowed_ips": ["value1", "value2"],
"password": "example_value"
}'Response: CreateSIPTrunkResponse
Parameters
Request Body:
allowed_ips([]string): Optional list of allowed IPv4/IPv6 addresses or CIDR blocksname(string) (required): Name of the SIP trunknumbers([]string) (required): Phone numbers associated with this SIP trunkpassword(string): Optional password for SIP trunk authentication
UpdateSIPTrunk
UpdateSIPTrunk allows you to modify the settings of an existing SIP trunk, enabling you to maintain optimal performance and connectivity as your network requirements change.
Example
curl -X PUT "https://video.stream-io-api.com/api/v2/video/sip/inbound_trunks/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"numbers": ["value1", "value2"],
"allowed_ips": ["value1", "value2"],
"password": "example_value"
}'Response: UpdateSIPTrunkResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
allowed_ips([]string): Optional list of allowed IPv4/IPv6 addresses or CIDR blocksname(string) (required): Name of the SIP trunknumbers([]string) (required): Phone numbers associated with this SIP trunkpassword(string): Optional password for SIP trunk authentication
DeleteSIPTrunk
DeleteSIPTrunk removes an existing SIP trunk from your configuration, which is useful when retiring outdated trunks or optimizing your network setup.
Example
curl -X DELETE "https://video.stream-io-api.com/api/v2/video/sip/inbound_trunks/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteSIPTrunkResponse
Parameters
Path Parameters:
id(string) (required)
ResolveSipInbound
ResolveSipInbound determines the appropriate routing for inbound SIP calls, ensuring that incoming calls are directed to the correct destination efficiently.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/sip/resolve" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"sip_caller_number": "example_value",
"sip_trunk_number": "example_value",
"challenge": { "a1": "example_value" },
"routing_number": "example_value"
}'Example: with sip_headers and trunk_id
curl -X POST "https://video.stream-io-api.com/api/v2/video/sip/resolve" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"sip_caller_number": "example_value",
"sip_trunk_number": "example_value",
"sip_headers": {},
"trunk_id": "example_value"
}'Response: ResolveSipInboundResponse
Parameters
Request Body:
challenge(SIPChallengeRequest): SIP challenge authentication datarouting_number(string): Optional routing number for routing number-based call routing (10 digits)sip_caller_number(string) (required): SIP caller numbersip_headers(object): Optional SIP headers as key-value pairssip_trunk_number(string) (required): SIP trunk number to resolvetrunk_id(string): Optional pre-authenticated trunk ID (from PreAuth no-auth flow)
QueryAggregateCallStats
QueryAggregateCallStats compiles and provides comprehensive statistics on call performance, helping you monitor system efficiency and identify areas for improvement.
Example
curl -X POST "https://video.stream-io-api.com/api/v2/video/stats" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"from": "example_value",
"report_types": ["value1", "value2"]
}'Example: with to
curl -X POST "https://video.stream-io-api.com/api/v2/video/stats" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"to": "example_value"
}'Response: QueryAggregateCallStatsResponse
Parameters
Request Body:
from(string)report_types([]string)to(string)
Types Reference
This section documents the types/interfaces used in this API. These types are extracted from the OpenAPI specification.
ActiveCallsMetrics
// ActiveCallsMetrics
{
"join_call_api": JoinCallAPIMetrics,
"publishers": PublishersMetrics,
"subscribers": SubscribersMetrics
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| join_call_api | JoinCallAPIMetrics | No | |
| publishers | PublishersMetrics | No | |
| subscribers | SubscribersMetrics | No |
ActiveCallsSummary
// ActiveCallsSummary
{
"active_calls": 0,
"active_publishers": 0,
"active_subscribers": 0,
"participants": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| active_calls | number | Yes | |
| active_publishers | number | Yes | |
| active_subscribers | number | Yes | |
| participants | number | Yes |
AudioSettings
// AudioSettings
{
"access_request_enabled": false,
"default_device": "speaker",
"hifi_audio_enabled": false,
"mic_default_on": false,
"noise_cancellation": NoiseCancellationSettings,
"opus_dtx_enabled": false,
"redundant_coding_enabled": false,
"speaker_default_on": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| access_request_enabled | boolean | Yes | |
| default_device | 'speaker' | 'earpiece' | Yes |
| hifi_audio_enabled | boolean | Yes | |
| mic_default_on | boolean | Yes | |
| opus_dtx_enabled | boolean | Yes | |
| redundant_coding_enabled | boolean | Yes | |
| speaker_default_on | boolean | Yes | |
| noise_cancellation | NoiseCancellationSettings | No |
AudioSettingsRequest
// AudioSettingsRequest
{
"access_request_enabled": false,
"default_device": "speaker",
"hifi_audio_enabled": false,
"mic_default_on": false,
"noise_cancellation": NoiseCancellationSettings,
"opus_dtx_enabled": false,
"redundant_coding_enabled": false,
"speaker_default_on": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| default_device | 'speaker' | 'earpiece' | Yes |
| access_request_enabled | boolean | No | |
| hifi_audio_enabled | boolean | No | |
| mic_default_on | boolean | No | |
| noise_cancellation | NoiseCancellationSettings | No | |
| opus_dtx_enabled | boolean | No | |
| redundant_coding_enabled | boolean | No | |
| speaker_default_on | boolean | No |
BackstageSettings
// BackstageSettings
{
"enabled": false,
"join_ahead_time_seconds": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | Yes | |
| join_ahead_time_seconds | number | No |
BackstageSettingsRequest
// BackstageSettingsRequest
{
"enabled": false,
"join_ahead_time_seconds": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | No | |
| join_ahead_time_seconds | number | No |
BlockUserResponse
BlockUserResponse is the payload for blocking a user.
// BlockUserResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
BroadcastSettings
// BroadcastSettings
{
"enabled": false,
"hls": HLSSettings,
"rtmp": RTMPSettings
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | Yes | |
| hls | HLSSettings | No | |
| rtmp | RTMPSettings | No |
BroadcastSettingsRequest
// BroadcastSettingsRequest
{
"enabled": false,
"hls": HLSSettingsRequest,
"rtmp": RTMPSettingsRequest
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | No | |
| hls | HLSSettingsRequest | No | |
| rtmp | RTMPSettingsRequest | No |
CallDurationReportResponse
// CallDurationReportResponse
{
"daily": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| daily | DailyAggregateCallDurationReportResponse[] | Yes |
CallLevelEventPayload
// CallLevelEventPayload
{
"event_type": "string",
"payload": {},
"timestamp": 0,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| event_type | string | Yes | |
| timestamp | number | Yes | |
| user_id | string | Yes | |
| payload | Record<string, any> | No |
CallParticipantCountReportResponse
// CallParticipantCountReportResponse
{
"daily": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| daily | DailyAggregateCallParticipantCountReportResponse[] | Yes |
CallParticipantResponse
// CallParticipantResponse
{
"joined_at": 0,
"role": "string",
"user": UserResponse,
"user_session_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| joined_at | number | Yes | |
| role | string | Yes | |
| user | UserResponse | Yes | |
| user_session_id | string | Yes |
CallParticipantTimeline
// CallParticipantTimeline
{
"data": {},
"severity": "string",
"timestamp": 0,
"type": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| data | Record<string, any> | Yes | |
| severity | string | Yes | |
| timestamp | number | Yes | |
| type | string | Yes |
CallRecording
CallRecording represents a recording of a call.
// CallRecording
{
"end_time": 0,
"filename": "string",
"recording_type": "string",
"session_id": "string",
"start_time": 0,
"url": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| end_time | number | Yes | |
| filename | string | Yes | |
| recording_type | string | Yes | |
| session_id | string | Yes | |
| start_time | number | Yes | |
| url | string | Yes |
CallRequest
CallRequest is the payload for creating a call.
// CallRequest
{
"channel_cid": "string",
"created_by": UserRequest,
"created_by_id": "string",
"custom": {},
"members": [],
"settings_override": CallSettingsRequest,
"starts_at": 0,
"team": "string",
"video": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| channel_cid | string | No | |
| created_by | UserRequest | No | |
| created_by_id | string | No | |
| custom | Record<string, any> | No | |
| members | MemberRequest[] | No | |
| settings_override | CallSettingsRequest | No | |
| starts_at | number | No | |
| team | string | No | |
| video | boolean | No |
CallResponse
Represents a call
// CallResponse
{
"backstage": false,
"blocked_user_ids": [],
"captioning": false,
"channel_cid": "string",
"cid": "string",
"created_at": 0,
"created_by": UserResponse,
"current_session_id": "string",
"custom": {},
"egress": EgressResponse,
"ended_at": 0,
"id": "string",
"ingress": CallIngressResponse,
"join_ahead_time_seconds": 0,
"recording": false,
"routing_number": "string",
"session": CallSessionResponse,
"settings": CallSettingsResponse,
"starts_at": 0,
"team": "string",
"thumbnails": ThumbnailResponse,
"transcribing": false,
"translating": false,
"type": "string",
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| backstage | boolean | Yes | |
| blocked_user_ids | string[] | Yes | |
| captioning | boolean | Yes | |
| cid | string | Yes | The unique identifier for a call (<type>:<id>) |
| created_at | number | Yes | Date/time of creation |
| created_by | UserResponse | Yes | The user that created the call |
| current_session_id | string | Yes | |
| custom | Record<string, any> | Yes | Custom data for this object |
| egress | EgressResponse | Yes | |
| id | string | Yes | Call ID |
| ingress | CallIngressResponse | Yes | |
| recording | boolean | Yes | |
| settings | CallSettingsResponse | Yes | |
| transcribing | boolean | Yes | |
| translating | boolean | Yes | |
| type | string | Yes | The type of call |
| updated_at | number | Yes | Date/time of the last update |
| channel_cid | string | No | |
| ended_at | number | No | Date/time when the call ended |
| join_ahead_time_seconds | number | No | |
| routing_number | string | No | 10-digit routing number for SIP routing |
| session | CallSessionResponse | No | |
| starts_at | number | No | Date/time when the call will start |
| team | string | No | |
| thumbnails | ThumbnailResponse | No |
CallSessionResponse
// CallSessionResponse
{
"accepted_by": {},
"anonymous_participant_count": 0,
"ended_at": 0,
"id": "string",
"live_ended_at": 0,
"live_started_at": 0,
"missed_by": {},
"participants": [],
"participants_count_by_role": {},
"rejected_by": {},
"started_at": 0,
"timer_ends_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| accepted_by | Record<string, any> | Yes | |
| anonymous_participant_count | number | Yes | |
| id | string | Yes | |
| missed_by | Record<string, any> | Yes | |
| participants | CallParticipantResponse[] | Yes | |
| participants_count_by_role | Record<string, any> | Yes | |
| rejected_by | Record<string, any> | Yes | |
| ended_at | number | No | |
| live_ended_at | number | No | |
| live_started_at | number | No | |
| started_at | number | No | |
| timer_ends_at | number | No |
CallSettings
// CallSettings
{
"audio": AudioSettings,
"backstage": BackstageSettings,
"broadcasting": BroadcastSettings,
"frame_recording": FrameRecordSettings,
"geofencing": GeofenceSettings,
"individual_recording": IndividualRecordSettings,
"ingress": IngressSettings,
"limits": LimitsSettings,
"raw_recording": RawRecordSettings,
"recording": RecordSettings,
"ring": RingSettings,
"screensharing": ScreensharingSettings,
"session": SessionSettings,
"thumbnails": ThumbnailsSettings,
"transcription": TranscriptionSettings,
"video": VideoSettings
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| audio | AudioSettings | No | |
| backstage | BackstageSettings | No | |
| broadcasting | BroadcastSettings | No | |
| frame_recording | FrameRecordSettings | No | |
| geofencing | GeofenceSettings | No | |
| individual_recording | IndividualRecordSettings | No | |
| ingress | IngressSettings | No | |
| limits | LimitsSettings | No | |
| raw_recording | RawRecordSettings | No | |
| recording | RecordSettings | No | |
| ring | RingSettings | No | |
| screensharing | ScreensharingSettings | No | |
| session | SessionSettings | No | |
| thumbnails | ThumbnailsSettings | No | |
| transcription | TranscriptionSettings | No | |
| video | VideoSettings | No |
CallSettingsRequest
// CallSettingsRequest
{
"audio": AudioSettingsRequest,
"backstage": BackstageSettingsRequest,
"broadcasting": BroadcastSettingsRequest,
"frame_recording": FrameRecordingSettingsRequest,
"geofencing": GeofenceSettingsRequest,
"individual_recording": IndividualRecordingSettingsRequest,
"ingress": IngressSettingsRequest,
"limits": LimitsSettingsRequest,
"raw_recording": RawRecordingSettingsRequest,
"recording": RecordSettingsRequest,
"ring": RingSettingsRequest,
"screensharing": ScreensharingSettingsRequest,
"session": SessionSettingsRequest,
"thumbnails": ThumbnailsSettingsRequest,
"transcription": TranscriptionSettingsRequest,
"video": VideoSettingsRequest
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| audio | AudioSettingsRequest | No | |
| backstage | BackstageSettingsRequest | No | |
| broadcasting | BroadcastSettingsRequest | No | |
| frame_recording | FrameRecordingSettingsRequest | No | |
| geofencing | GeofenceSettingsRequest | No | |
| individual_recording | IndividualRecordingSettingsRequest | No | |
| ingress | IngressSettingsRequest | No | |
| limits | LimitsSettingsRequest | No | |
| raw_recording | RawRecordingSettingsRequest | No | |
| recording | RecordSettingsRequest | No | |
| ring | RingSettingsRequest | No | |
| screensharing | ScreensharingSettingsRequest | No | |
| session | SessionSettingsRequest | No | |
| thumbnails | ThumbnailsSettingsRequest | No | |
| transcription | TranscriptionSettingsRequest | No | |
| video | VideoSettingsRequest | No |
CallSettingsResponse
// CallSettingsResponse
{
"audio": AudioSettingsResponse,
"backstage": BackstageSettingsResponse,
"broadcasting": BroadcastSettingsResponse,
"frame_recording": FrameRecordingSettingsResponse,
"geofencing": GeofenceSettingsResponse,
"individual_recording": IndividualRecordingSettingsResponse,
"ingress": IngressSettingsResponse,
"limits": LimitsSettingsResponse,
"raw_recording": RawRecordingSettingsResponse,
"recording": RecordSettingsResponse,
"ring": RingSettingsResponse,
"screensharing": ScreensharingSettingsResponse,
"session": SessionSettingsResponse,
"thumbnails": ThumbnailsSettingsResponse,
"transcription": TranscriptionSettingsResponse,
"video": VideoSettingsResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| audio | AudioSettingsResponse | Yes | |
| backstage | BackstageSettingsResponse | Yes | |
| broadcasting | BroadcastSettingsResponse | Yes | |
| frame_recording | FrameRecordingSettingsResponse | Yes | |
| geofencing | GeofenceSettingsResponse | Yes | |
| individual_recording | IndividualRecordingSettingsResponse | Yes | |
| limits | LimitsSettingsResponse | Yes | |
| raw_recording | RawRecordingSettingsResponse | Yes | |
| recording | RecordSettingsResponse | Yes | |
| ring | RingSettingsResponse | Yes | |
| screensharing | ScreensharingSettingsResponse | Yes | |
| session | SessionSettingsResponse | Yes | |
| thumbnails | ThumbnailsSettingsResponse | Yes | |
| transcription | TranscriptionSettingsResponse | Yes | |
| video | VideoSettingsResponse | Yes | |
| ingress | IngressSettingsResponse | No |
CallStateResponseFields
CallStateResponseFields is the payload for call state response
// CallStateResponseFields
{
"call": CallResponse,
"members": [],
"own_capabilities": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call | CallResponse | Yes | |
| members | MemberResponse[] | Yes | List of call members |
| own_capabilities | OwnCapability[] | Yes |
CallStatsMapPublishers
// CallStatsMapPublishers
{
"publishers": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| publishers | CallStatsMapPublisher[] | Yes |
CallStatsMapSFUs
// CallStatsMapSFUs
{
"locations": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| locations | SFULocationResponse[] | Yes |
CallStatsMapSubscribers
// CallStatsMapSubscribers
{
"locations": [],
"participants": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| locations | CallStatsMapLocation[] | Yes | |
| participants | CallStatsMapSubscriber[] | No |
CallStatsParticipant
// CallStatsParticipant
{
"latest_activity_at": 0,
"name": "string",
"roles": [],
"sessions": [],
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| sessions | CallStatsParticipantSession[] | Yes | |
| user_id | string | Yes | |
| latest_activity_at | number | No | |
| name | string | No | |
| roles | string[] | No |
CallStatsParticipantCounts
// CallStatsParticipantCounts
{
"average_jitter_ms": 0,
"average_latency_ms": 0,
"call_event_count": 0,
"cq_score": 0,
"live_sessions": 0,
"max_freezes_duration_ms": 0,
"participants": 0,
"peak_concurrent_sessions": 0,
"peak_concurrent_users": 0,
"publishers": 0,
"sessions": 0,
"sfus_used": 0,
"total_participant_duration": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| live_sessions | number | Yes | |
| participants | number | Yes | |
| peak_concurrent_sessions | number | Yes | |
| peak_concurrent_users | number | Yes | |
| publishers | number | Yes | |
| sessions | number | Yes | |
| sfus_used | number | Yes | |
| average_jitter_ms | number | No | |
| average_latency_ms | number | No | |
| call_event_count | number | No | |
| cq_score | number | No | |
| max_freezes_duration_ms | number | No | |
| total_participant_duration | number | No |
CallStatsReportSummaryResponse
// CallStatsReportSummaryResponse
{
"call_cid": "string",
"call_duration_seconds": 0,
"call_session_id": "string",
"call_status": "string",
"created_at": 0,
"first_stats_time": 0,
"min_user_rating": 0,
"quality_score": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_cid | string | Yes | |
| call_duration_seconds | number | Yes | |
| call_session_id | string | Yes | |
| call_status | string | Yes | |
| first_stats_time | number | Yes | |
| created_at | number | No | |
| min_user_rating | number | No | |
| quality_score | number | No |
CallStatsSessionResponse
// CallStatsSessionResponse
{
"call_ended_at": 0,
"call_id": "string",
"call_session_id": "string",
"call_started_at": 0,
"call_type": "string",
"counts": CallStatsParticipantCounts,
"generated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_id | string | Yes | |
| call_session_id | string | Yes | |
| call_type | string | Yes | |
| counts | CallStatsParticipantCounts | Yes | |
| generated_at | number | Yes | |
| call_ended_at | number | No | |
| call_started_at | number | No |
CallTranscription
CallTranscription represents a transcription of a call.
// CallTranscription
{
"end_time": 0,
"filename": "string",
"session_id": "string",
"start_time": 0,
"url": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| end_time | number | Yes | |
| filename | string | Yes | |
| session_id | string | Yes | |
| start_time | number | Yes | |
| url | string | Yes |
CallsPerDayReportResponse
// CallsPerDayReportResponse
{
"daily": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| daily | DailyAggregateCallsPerDayReportResponse[] | Yes |
ChatActivityStatsResponse
// ChatActivityStatsResponse
{
"Messages": MessageStatsResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| Messages | MessageStatsResponse | No |
CollectUserFeedbackResponse
Basic response information
// CollectUserFeedbackResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
CreateCallTypeResponse
Response for creating a call type
// CreateCallTypeResponse
{
"created_at": 0,
"duration": "string",
"external_storage": "string",
"grants": {},
"name": "string",
"notification_settings": NotificationSettingsResponse,
"settings": CallSettingsResponse,
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | the time the call type was created |
| duration | string | Yes | |
| grants | Record<string, any> | Yes | the permissions granted to each role |
| name | string | Yes | the name of the call type |
| notification_settings | NotificationSettingsResponse | Yes | the notification settings for the call type |
| settings | CallSettingsResponse | Yes | the settings for the call type |
| updated_at | number | Yes | the time the call type was last updated |
| external_storage | string | No | the external storage for the call type |
CreateSIPTrunkResponse
Response containing the created SIP trunk
// CreateSIPTrunkResponse
{
"duration": "string",
"sip_trunk": SIPTrunkResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| sip_trunk | SIPTrunkResponse | No | The created SIP trunk |
DeleteCallResponse
DeleteCallResponse is the payload for deleting a call.
// DeleteCallResponse
{
"call": CallResponse,
"duration": "string",
"task_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call | CallResponse | Yes | |
| duration | string | Yes | |
| task_id | string | No |
DeleteRecordingResponse
Response for DeleteRecording
// DeleteRecordingResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
DeleteSIPInboundRoutingRuleResponse
Response confirming SIP Inbound Routing Rule deletion
// DeleteSIPInboundRoutingRuleResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes |
DeleteSIPTrunkResponse
Response confirming SIP trunk deletion
// DeleteSIPTrunkResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes |
DeleteTranscriptionResponse
DeleteTranscriptionResponse is the payload for deleting a transcription.
// DeleteTranscriptionResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
EdgeResponse
// EdgeResponse
{
"continent_code": "string",
"country_iso_code": "string",
"green": 0,
"id": "string",
"latency_test_url": "string",
"latitude": 0,
"longitude": 0,
"red": 0,
"subdivision_iso_code": "string",
"yellow": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| continent_code | string | Yes | |
| country_iso_code | string | Yes | |
| green | number | Yes | |
| id | string | Yes | |
| latency_test_url | string | Yes | |
| latitude | number | Yes | |
| longitude | number | Yes | |
| red | number | Yes | |
| subdivision_iso_code | string | Yes | |
| yellow | number | Yes |
EndCallResponse
Response for ending a call
// EndCallResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
EventNotificationSettings
// EventNotificationSettings
{
"apns": APNS,
"enabled": false,
"fcm": FCM
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| apns | APNS | Yes | |
| enabled | boolean | Yes | |
| fcm | FCM | Yes |
EventNotificationSettingsRequest
// EventNotificationSettingsRequest
{
"apns": APNSPayload,
"enabled": false,
"fcm": FCMPayload
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| apns | APNSPayload | No | |
| enabled | boolean | No | |
| fcm | FCMPayload | No |
FrameRecordSettings
// FrameRecordSettings
{
"capture_interval_in_seconds": 0,
"mode": "available",
"quality": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| capture_interval_in_seconds | number | Yes | |
| mode | 'available' | 'disabled' | 'auto-on' |
| quality | string | No |
FrameRecordingSettingsRequest
// FrameRecordingSettingsRequest
{
"capture_interval_in_seconds": 0,
"mode": "available",
"quality": "360p"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| capture_interval_in_seconds | number | Yes | |
| mode | 'available' | 'disabled' | 'auto-on' |
| quality | '360p' | '480p' | '720p' |
GeofenceSettings
// GeofenceSettings
{
"names": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| names | string[] | Yes |
GeofenceSettingsRequest
// GeofenceSettingsRequest
{
"names": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| names | string[] | No |
GetActiveCallsStatusResponse
Response containing active calls status information
// GetActiveCallsStatusResponse
{
"duration": "string",
"end_time": 0,
"metrics": ActiveCallsMetrics,
"start_time": 0,
"summary": ActiveCallsSummary
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| end_time | number | Yes | End time of the status period |
| start_time | number | Yes | Start time of the status period |
| metrics | ActiveCallsMetrics | No | Detailed metrics |
| summary | ActiveCallsSummary | No | Summary of active calls |
GetCallParticipantSessionMetricsResponse
Basic response information
// GetCallParticipantSessionMetricsResponse
{
"client": SessionClient,
"duration": "string",
"is_publisher": false,
"is_subscriber": false,
"joined_at": 0,
"published_tracks": [],
"publisher_type": "string",
"user_id": "string",
"user_session_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| client | SessionClient | No | |
| is_publisher | boolean | No | |
| is_subscriber | boolean | No | |
| joined_at | number | No | |
| published_tracks | PublishedTrackMetrics[] | No | |
| publisher_type | string | No | |
| user_id | string | No | |
| user_session_id | string | No |
GetCallReportResponse
Basic response information
// GetCallReportResponse
{
"chat_activity": ChatActivityStatsResponse,
"duration": "string",
"report": ReportResponse,
"session": CallSessionResponse,
"session_id": "string",
"video_reactions": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| report | ReportResponse | Yes | |
| session_id | string | Yes | |
| chat_activity | ChatActivityStatsResponse | No | |
| session | CallSessionResponse | No | |
| video_reactions | VideoReactionsResponse[] | No |
GetCallResponse
// GetCallResponse
{
"call": CallResponse,
"duration": "string",
"members": [],
"own_capabilities": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call | CallResponse | Yes | |
| duration | string | Yes | |
| members | MemberResponse[] | Yes | |
| own_capabilities | OwnCapability[] | Yes |
GetCallSessionParticipantStatsDetailsResponse
Basic response information
// GetCallSessionParticipantStatsDetailsResponse
{
"call_id": "string",
"call_session_id": "string",
"call_type": "string",
"duration": "string",
"publisher": ParticipantSeriesPublisherStats,
"subscriber": ParticipantSeriesSubscriberStats,
"timeframe": ParticipantSeriesTimeframe,
"user": ParticipantSeriesUserStats,
"user_id": "string",
"user_session_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_id | string | Yes | |
| call_session_id | string | Yes | |
| call_type | string | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
| user_id | string | Yes | |
| user_session_id | string | Yes | |
| publisher | ParticipantSeriesPublisherStats | No | |
| subscriber | ParticipantSeriesSubscriberStats | No | |
| timeframe | ParticipantSeriesTimeframe | No | |
| user | ParticipantSeriesUserStats | No |
GetCallTypeResponse
// GetCallTypeResponse
{
"created_at": 0,
"duration": "string",
"external_storage": "string",
"grants": {},
"name": "string",
"notification_settings": NotificationSettingsResponse,
"settings": CallSettingsResponse,
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | |
| duration | string | Yes | |
| grants | Record<string, any> | Yes | |
| name | string | Yes | |
| notification_settings | NotificationSettingsResponse | Yes | |
| settings | CallSettingsResponse | Yes | |
| updated_at | number | Yes | |
| external_storage | string | No |
GetEdgesResponse
Basic response information
// GetEdgesResponse
{
"duration": "string",
"edges": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| edges | EdgeResponse[] | Yes |
GetOrCreateCallResponse
// GetOrCreateCallResponse
{
"call": CallResponse,
"created": false,
"duration": "string",
"members": [],
"own_capabilities": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call | CallResponse | Yes | |
| created | boolean | Yes | |
| duration | string | Yes | |
| members | MemberResponse[] | Yes | |
| own_capabilities | OwnCapability[] | Yes |
GoLiveResponse
Basic response information
// GoLiveResponse
{
"call": CallResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call | CallResponse | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
IndividualRecordSettings
// IndividualRecordSettings
{
"mode": "available",
"output_types": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| mode | 'available' | 'disabled' | 'auto-on' |
| output_types | string[] | No |
IndividualRecordingSettingsRequest
// IndividualRecordingSettingsRequest
{
"mode": "available",
"output_types": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| mode | 'available' | 'disabled' | 'auto-on' |
| output_types | 'audio_only' | 'video_only' | 'audio_video' |
IngressSettings
// IngressSettings
{
"audio_encoding_options": IngressAudioEncodingOptions,
"enabled": false,
"video_encoding_options": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | Yes | |
| audio_encoding_options | IngressAudioEncodingOptions | No | |
| video_encoding_options | Record<string, any> | No |
IngressSettingsRequest
// IngressSettingsRequest
{
"audio_encoding_options": IngressAudioEncodingOptionsRequest,
"enabled": false,
"video_encoding_options": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| audio_encoding_options | IngressAudioEncodingOptionsRequest | No | |
| enabled | boolean | No | |
| video_encoding_options | Record<string, any> | No |
KickUserResponse
KickUserResponse is the payload for kicking a user from a call.
// KickUserResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
LayoutSettingsRequest
// LayoutSettingsRequest
{
"detect_orientation": false,
"external_app_url": "string",
"external_css_url": "string",
"name": "spotlight",
"options": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| name | 'spotlight' | 'grid' | 'single-participant' |
| detect_orientation | boolean | No | |
| external_app_url | string | No | |
| external_css_url | string | No | |
| options | Record<string, any> | No |
LimitsSettings
// LimitsSettings
{
"max_duration_seconds": 0,
"max_participants": 0,
"max_participants_exclude_owner": false,
"max_participants_exclude_roles": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| max_participants_exclude_roles | string[] | Yes | |
| max_duration_seconds | number | No | |
| max_participants | number | No | |
| max_participants_exclude_owner | boolean | No |
LimitsSettingsRequest
// LimitsSettingsRequest
{
"max_duration_seconds": 0,
"max_participants": 0,
"max_participants_exclude_owner": false,
"max_participants_exclude_roles": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| max_duration_seconds | number | No | |
| max_participants | number | No | |
| max_participants_exclude_owner | boolean | No | |
| max_participants_exclude_roles | string[] | No |
ListCallTypeResponse
Response for ListCallType
// ListCallTypeResponse
{
"call_types": {},
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_types | Record<string, any> | Yes | |
| duration | string | Yes |
ListRecordingsResponse
Response for listing recordings
// ListRecordingsResponse
{
"duration": "string",
"recordings": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| recordings | CallRecording[] | Yes |
ListSIPInboundRoutingRuleResponse
Response containing the list of SIP Inbound Routing Rules
// ListSIPInboundRoutingRuleResponse
{
"duration": "string",
"sip_inbound_routing_rules": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| sip_inbound_routing_rules | SIPInboundRoutingRuleResponse[] | Yes | List of SIP Inbound Routing Rules for the application |
ListSIPTrunksResponse
Response containing the list of SIP trunks
// ListSIPTrunksResponse
{
"duration": "string",
"sip_trunks": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| sip_trunks | SIPTrunkResponse[] | Yes | List of SIP trunks for the application |
ListTranscriptionsResponse
// ListTranscriptionsResponse
{
"duration": "string",
"transcriptions": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| transcriptions | CallTranscription[] | Yes | List of transcriptions for the call |
MemberRequest
MemberRequest is the payload for adding a member to a call.
// MemberRequest
{
"custom": {},
"role": "string",
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| user_id | string | Yes | |
| custom | Record<string, any> | No | Custom data for this object |
| role | string | No |
MemberResponse
MemberResponse is the payload for a member of a call.
// MemberResponse
{
"created_at": 0,
"custom": {},
"deleted_at": 0,
"role": "string",
"updated_at": 0,
"user": UserResponse,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | Date/time of creation |
| custom | Record<string, any> | Yes | Custom member response data |
| updated_at | number | Yes | Date/time of the last update |
| user | UserResponse | Yes | |
| user_id | string | Yes | |
| deleted_at | number | No | Date/time of deletion |
| role | string | No |
MuteUsersResponse
MuteUsersResponse is the response payload for the mute users endpoint.
// MuteUsersResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
NetworkMetricsReportResponse
// NetworkMetricsReportResponse
{
"average_connection_time": 0,
"average_jitter": 0,
"average_latency": 0,
"average_time_to_reconnect": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| average_connection_time | number | No | |
| average_jitter | number | No | |
| average_latency | number | No | |
| average_time_to_reconnect | number | No |
NotificationSettings
// NotificationSettings
{
"call_live_started": EventNotificationSettings,
"call_missed": EventNotificationSettings,
"call_notification": EventNotificationSettings,
"call_ring": EventNotificationSettings,
"enabled": false,
"session_started": EventNotificationSettings
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_live_started | EventNotificationSettings | Yes | |
| call_missed | EventNotificationSettings | Yes | |
| call_notification | EventNotificationSettings | Yes | |
| call_ring | EventNotificationSettings | Yes | |
| enabled | boolean | Yes | |
| session_started | EventNotificationSettings | Yes |
NotificationSettingsRequest
// NotificationSettingsRequest
{
"call_live_started": EventNotificationSettingsRequest,
"call_missed": EventNotificationSettingsRequest,
"call_notification": EventNotificationSettingsRequest,
"call_ring": EventNotificationSettingsRequest,
"enabled": false,
"session_started": EventNotificationSettingsRequest
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_live_started | EventNotificationSettingsRequest | No | |
| call_missed | EventNotificationSettingsRequest | No | |
| call_notification | EventNotificationSettingsRequest | No | |
| call_ring | EventNotificationSettingsRequest | No | |
| enabled | boolean | No | |
| session_started | EventNotificationSettingsRequest | No |
NotificationSettingsResponse
// NotificationSettingsResponse
{
"call_live_started": EventNotificationSettingsResponse,
"call_missed": EventNotificationSettingsResponse,
"call_notification": EventNotificationSettingsResponse,
"call_ring": EventNotificationSettingsResponse,
"enabled": false,
"session_started": EventNotificationSettingsResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_live_started | EventNotificationSettingsResponse | Yes | |
| call_missed | EventNotificationSettingsResponse | Yes | |
| call_notification | EventNotificationSettingsResponse | Yes | |
| call_ring | EventNotificationSettingsResponse | Yes | |
| enabled | boolean | Yes | |
| session_started | EventNotificationSettingsResponse | Yes |
OwnCapability
All possibility of string to use
// OwnCapability
{
}ParticipantSeriesPublisherStats
// ParticipantSeriesPublisherStats
{
"global": {},
"global_meta": {},
"global_metrics_order": [],
"global_thresholds": {},
"tracks": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| global | Record<string, any> | No | |
| global_meta | Record<string, any> | No | |
| global_metrics_order | string[] | No | |
| global_thresholds | Record<string, any> | No | |
| tracks | Record<string, any> | No |
ParticipantSeriesSubscriberStats
// ParticipantSeriesSubscriberStats
{
"global": {},
"global_meta": {},
"global_metrics_order": [],
"global_thresholds": {},
"subscriptions": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| global | Record<string, any> | No | |
| global_meta | Record<string, any> | No | |
| global_metrics_order | string[] | No | |
| global_thresholds | Record<string, any> | No | |
| subscriptions | ParticipantSeriesSubscriptionTrackMetrics[] | No |
ParticipantSeriesTimeframe
// ParticipantSeriesTimeframe
{
"max_points": 0,
"since": 0,
"step_seconds": 0,
"until": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| max_points | number | Yes | |
| since | number | Yes | |
| step_seconds | number | Yes | |
| until | number | Yes |
ParticipantSeriesUserStats
// ParticipantSeriesUserStats
{
"metrics": {},
"metrics_meta": {},
"metrics_order": [],
"thresholds": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| metrics | Record<string, any> | No | |
| metrics_meta | Record<string, any> | No | |
| metrics_order | string[] | No | |
| thresholds | Record<string, any> | No |
ParticipantSessionDetails
// ParticipantSessionDetails
{
"duration_in_seconds": 0,
"joined_at": 0,
"left_at": 0,
"publisher_type": "string",
"roles": [],
"user_id": "string",
"user_session_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| publisher_type | string | Yes | |
| roles | string[] | Yes | |
| user_id | string | Yes | |
| user_session_id | string | Yes | |
| duration_in_seconds | number | No | |
| joined_at | number | No | |
| left_at | number | No |
PinResponse
Basic response information
// PinResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
PrivacySettingsResponse
// PrivacySettingsResponse
{
"delivery_receipts": DeliveryReceiptsResponse,
"read_receipts": ReadReceiptsResponse,
"typing_indicators": TypingIndicatorsResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| delivery_receipts | DeliveryReceiptsResponse | No | |
| read_receipts | ReadReceiptsResponse | No | |
| typing_indicators | TypingIndicatorsResponse | No |
PublishedTrackMetrics
// PublishedTrackMetrics
{
"bitrate": MetricTimeSeries,
"codec": "string",
"framerate": MetricTimeSeries,
"resolution": ResolutionMetricsTimeSeries,
"track_id": "string",
"track_type": "string",
"warnings": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bitrate | MetricTimeSeries | No | |
| codec | string | No | |
| framerate | MetricTimeSeries | No | |
| resolution | ResolutionMetricsTimeSeries | No | |
| track_id | string | No | |
| track_type | string | No | |
| warnings | SessionWarningResponse[] | No |
QualityScoreReportResponse
// QualityScoreReportResponse
{
"daily": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| daily | DailyAggregateQualityScoreReportResponse[] | Yes |
QueryAggregateCallStatsResponse
Basic response information
// QueryAggregateCallStatsResponse
{
"call_duration_report": CallDurationReportResponse,
"call_participant_count_report": CallParticipantCountReportResponse,
"calls_per_day_report": CallsPerDayReportResponse,
"duration": "string",
"network_metrics_report": NetworkMetricsReportResponse,
"quality_score_report": QualityScoreReportResponse,
"sdk_usage_report": SDKUsageReportResponse,
"user_feedback_report": UserFeedbackReportResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| call_duration_report | CallDurationReportResponse | No | |
| call_participant_count_report | CallParticipantCountReportResponse | No | |
| calls_per_day_report | CallsPerDayReportResponse | No | |
| network_metrics_report | NetworkMetricsReportResponse | No | |
| quality_score_report | QualityScoreReportResponse | No | |
| sdk_usage_report | SDKUsageReportResponse | No | |
| user_feedback_report | UserFeedbackReportResponse | No |
QueryCallMembersResponse
Basic response information
// QueryCallMembersResponse
{
"duration": "string",
"members": [],
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| members | MemberResponse[] | Yes | |
| next | string | No | |
| prev | string | No |
QueryCallParticipantSessionsResponse
Basic response information
// QueryCallParticipantSessionsResponse
{
"call_id": "string",
"call_session_id": "string",
"call_type": "string",
"duration": 0,
"next": "string",
"participants_sessions": [],
"prev": "string",
"session": CallSessionResponse,
"total_participant_duration": 0,
"total_participant_sessions": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_id | string | Yes | |
| call_session_id | string | Yes | |
| call_type | string | Yes | |
| duration | number | Yes | Duration of the request in milliseconds |
| participants_sessions | ParticipantSessionDetails[] | Yes | |
| total_participant_duration | number | Yes | |
| total_participant_sessions | number | Yes | |
| next | string | No | |
| prev | string | No | |
| session | CallSessionResponse | No |
QueryCallParticipantsResponse
// QueryCallParticipantsResponse
{
"call": CallResponse,
"duration": "string",
"members": [],
"own_capabilities": [],
"participants": [],
"total_participants": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call | CallResponse | Yes | |
| duration | string | Yes | |
| members | MemberResponse[] | Yes | |
| own_capabilities | OwnCapability[] | Yes | |
| participants | CallParticipantResponse[] | Yes | List of call participants |
| total_participants | number | Yes |
QueryCallSessionParticipantStatsResponse
Basic response information
// QueryCallSessionParticipantStatsResponse
{
"call_ended_at": 0,
"call_events": [],
"call_id": "string",
"call_session_id": "string",
"call_started_at": 0,
"call_type": "string",
"counts": CallStatsParticipantCounts,
"duration": "string",
"next": "string",
"participants": [],
"prev": "string",
"tmp_data_source": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_id | string | Yes | |
| call_session_id | string | Yes | |
| call_type | string | Yes | |
| counts | CallStatsParticipantCounts | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
| participants | CallStatsParticipant[] | Yes | |
| call_ended_at | number | No | |
| call_events | CallLevelEventPayload[] | No | |
| call_started_at | number | No | |
| next | string | No | |
| prev | string | No | |
| tmp_data_source | string | No |
QueryCallSessionParticipantStatsTimelineResponse
Basic response information
// QueryCallSessionParticipantStatsTimelineResponse
{
"call_id": "string",
"call_session_id": "string",
"call_type": "string",
"duration": "string",
"events": [],
"user_id": "string",
"user_session_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_id | string | Yes | |
| call_session_id | string | Yes | |
| call_type | string | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
| events | CallParticipantTimeline[] | Yes | |
| user_id | string | Yes | |
| user_session_id | string | Yes |
QueryCallSessionStatsResponse
Basic response information
// QueryCallSessionStatsResponse
{
"call_stats": [],
"duration": "string",
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_stats | CallStatsSessionResponse[] | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
| next | string | No | |
| prev | string | No |
QueryCallStatsMapResponse
Basic response information
// QueryCallStatsMapResponse
{
"call_ended_at": 0,
"call_id": "string",
"call_session_id": "string",
"call_started_at": 0,
"call_type": "string",
"counts": CallStatsParticipantCounts,
"data_source": "string",
"duration": "string",
"end_time": 0,
"generated_at": 0,
"publishers": CallStatsMapPublishers,
"sfus": CallStatsMapSFUs,
"start_time": 0,
"subscribers": CallStatsMapSubscribers
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_id | string | Yes | |
| call_session_id | string | Yes | |
| call_type | string | Yes | |
| counts | CallStatsParticipantCounts | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
| call_ended_at | number | No | |
| call_started_at | number | No | |
| data_source | string | No | |
| end_time | number | No | |
| generated_at | number | No | |
| publishers | CallStatsMapPublishers | No | |
| sfus | CallStatsMapSFUs | No | |
| start_time | number | No | |
| subscribers | CallStatsMapSubscribers | No |
QueryCallStatsResponse
Basic response information
// QueryCallStatsResponse
{
"duration": "string",
"next": "string",
"prev": "string",
"reports": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| reports | CallStatsReportSummaryResponse[] | Yes | |
| next | string | No | |
| prev | string | No |
QueryCallsResponse
// QueryCallsResponse
{
"calls": [],
"duration": "string",
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| calls | CallStateResponseFields[] | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
| next | string | No | |
| prev | string | No |
QueryUserFeedbackResponse
Basic response information
// QueryUserFeedbackResponse
{
"duration": "string",
"next": "string",
"prev": "string",
"user_feedback": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| user_feedback | UserFeedbackResponse[] | Yes | |
| next | string | No | |
| prev | string | No |
RTMPBroadcastRequest
RTMPBroadcastRequest is the payload for starting an RTMP broadcast.
// RTMPBroadcastRequest
{
"layout": LayoutSettingsRequest,
"name": "string",
"quality": "360p",
"stream_key": "string",
"stream_url": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Name identifier for RTMP broadcast, must be unique in call |
| stream_url | string | Yes | URL for the RTMP server to send the call to |
| layout | LayoutSettingsRequest | No | If provided, will override the call's RTMP settings layout |
| quality | '360p' | '480p' | '720p' |
| stream_key | string | No | If provided, will be appended at the end of stream_url |
RawRecordSettings
// RawRecordSettings
{
"audio_only": false,
"mode": "available"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| mode | 'available' | 'disabled' | 'auto-on' |
| audio_only | boolean | No |
RawRecordingSettingsRequest
// RawRecordingSettingsRequest
{
"audio_only": false,
"mode": "available"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| mode | 'available' | 'disabled' | 'auto-on' |
| audio_only | boolean | No | If true, only audio tracks will be recorded |
RecordSettings
// RecordSettings
{
"audio_only": false,
"layout": LayoutSettings,
"mode": "string",
"quality": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| mode | string | Yes | |
| audio_only | boolean | No | |
| layout | LayoutSettings | No | |
| quality | string | No |
RecordSettingsRequest
// RecordSettingsRequest
{
"audio_only": false,
"layout": LayoutSettingsRequest,
"mode": "available",
"quality": "360p"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| mode | 'available' | 'disabled' | 'auto-on' |
| audio_only | boolean | No | Whether to record audio only |
| layout | LayoutSettingsRequest | No | Layout settings for recording |
| quality | '360p' | '480p' | '720p' |
ReportResponse
// ReportResponse
{
"call": CallReportResponse,
"participants": ParticipantReportResponse,
"user_ratings": UserRatingReportResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call | CallReportResponse | Yes | |
| participants | ParticipantReportResponse | Yes | |
| user_ratings | UserRatingReportResponse | Yes |
ResolveSipAuthResponse
Response containing the pre-authentication decision for a SIP trunk
// ResolveSipAuthResponse
{
"auth_result": "string",
"duration": "string",
"password": "string",
"trunk_id": "string",
"username": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| auth_result | string | Yes | Authentication result: password, accept, or no_trunk_found |
| duration | string | Yes | |
| password | string | No | Password for digest authentication (when auth_result is password) |
| trunk_id | string | No | ID of the matched SIP trunk |
| username | string | No | Username for digest authentication (when auth_result is password) |
ResolveSipInboundResponse
Response containing resolved SIP inbound routing information
// ResolveSipInboundResponse
{
"credentials": SipInboundCredentials,
"duration": "string",
"sip_routing_rule": SIPInboundRoutingRuleResponse,
"sip_trunk": SIPTrunkResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| credentials | SipInboundCredentials | Yes | Credentials for the SIP call |
| duration | string | Yes | |
| sip_routing_rule | SIPInboundRoutingRuleResponse | No | The matching SIP inbound routing rule |
| sip_trunk | SIPTrunkResponse | No | The resolved SIP trunk for the inbound call |
Response
Basic response information
// Response
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
RingCallResponse
// RingCallResponse
{
"duration": "string",
"members_ids": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| members_ids | string[] | Yes | List of members ringing notification was sent to |
RingSettings
// RingSettings
{
"auto_cancel_timeout_ms": 0,
"incoming_call_timeout_ms": 0,
"missed_call_timeout_ms": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| auto_cancel_timeout_ms | number | Yes | |
| incoming_call_timeout_ms | number | Yes | |
| missed_call_timeout_ms | number | Yes |
RingSettingsRequest
// RingSettingsRequest
{
"auto_cancel_timeout_ms": 0,
"incoming_call_timeout_ms": 0,
"missed_call_timeout_ms": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| auto_cancel_timeout_ms | number | Yes | When none of the callees accept a ring call in this time a rejection will be ... |
| incoming_call_timeout_ms | number | Yes | When a callee is online but doesn't answer a ring call in this time a rejecti... |
| missed_call_timeout_ms | number | No | When a callee doesn't accept or reject a ring call in this time a missed call... |
SDKUsageReportResponse
// SDKUsageReportResponse
{
"daily": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| daily | DailyAggregateSDKUsageReportResponse[] | Yes |
SIPCallConfigsRequest
Configuration for SIP call settings
// SIPCallConfigsRequest
{
"custom_data": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom_data | Record<string, any> | No | Custom data associated with the call |
SIPCallConfigsResponse
SIP call configuration response
// SIPCallConfigsResponse
{
"custom_data": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom_data | Record<string, any> | Yes | Custom data associated with the call |
SIPCallerConfigsRequest
Configuration for SIP caller settings
// SIPCallerConfigsRequest
{
"custom_data": {},
"id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique identifier for the caller (handlebars template) |
| custom_data | Record<string, any> | No | Custom data associated with the caller (values are handlebars templates) |
SIPCallerConfigsResponse
SIP caller configuration response
// SIPCallerConfigsResponse
{
"custom_data": {},
"id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom_data | Record<string, any> | Yes | Custom data associated with the caller |
| id | string | Yes | Unique identifier for the caller |
SIPChallengeRequest
SIP digest challenge authentication data
// SIPChallengeRequest
{
"a1": "string",
"algorithm": "string",
"charset": "string",
"cnonce": "string",
"domain": [],
"method": "string",
"nc": "string",
"nonce": "string",
"opaque": "string",
"qop": [],
"realm": "string",
"response": "string",
"stale": false,
"uri": "string",
"userhash": false,
"username": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| a1 | string | No | Deprecated: A1 hash for backward compatibility |
| algorithm | string | No | Hash algorithm (e.g., MD5, SHA-256) |
| charset | string | No | Character set |
| cnonce | string | No | Client nonce for qop=auth |
| domain | string[] | No | Domain list |
| method | string | No | SIP method (e.g., INVITE) |
| nc | string | No | Nonce count for qop=auth |
| nonce | string | No | Server nonce |
| opaque | string | No | Opaque value |
| qop | string[] | No | Quality of protection options |
| realm | string | No | Authentication realm |
| response | string | No | Digest response hash from client |
| stale | boolean | No | Whether the nonce is stale |
| uri | string | No | Request URI |
| userhash | boolean | No | Whether to hash the username |
| username | string | No | Username for authentication |
SIPDirectRoutingRuleCallConfigsRequest
Configuration for direct routing rule calls
// SIPDirectRoutingRuleCallConfigsRequest
{
"call_id": "string",
"call_type": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_id | string | Yes | ID of the call (handlebars template) |
| call_type | string | Yes | Type of the call |
SIPDirectRoutingRuleCallConfigsResponse
Direct routing rule call configuration response
// SIPDirectRoutingRuleCallConfigsResponse
{
"call_id": "string",
"call_type": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call_id | string | Yes | ID of the call |
| call_type | string | Yes | Type of the call |
SIPInboundRoutingRulePinConfigsRequest
Configuration for PIN routing rule calls
// SIPInboundRoutingRulePinConfigsRequest
{
"custom_webhook_url": "string",
"pin_failed_attempt_prompt": "string",
"pin_hangup_prompt": "string",
"pin_prompt": "string",
"pin_success_prompt": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom_webhook_url | string | No | Optional webhook URL for custom PIN handling |
| pin_failed_attempt_prompt | string | No | Prompt message for failed PIN attempts |
| pin_hangup_prompt | string | No | Prompt message for hangup after PIN input |
| pin_prompt | string | No | Prompt message for PIN input |
| pin_success_prompt | string | No | Prompt message for successful PIN input |
SIPInboundRoutingRulePinConfigsResponse
PIN routing rule call configuration response
// SIPInboundRoutingRulePinConfigsResponse
{
"custom_webhook_url": "string",
"pin_failed_attempt_prompt": "string",
"pin_hangup_prompt": "string",
"pin_prompt": "string",
"pin_success_prompt": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom_webhook_url | string | No | Optional webhook URL for custom PIN handling |
| pin_failed_attempt_prompt | string | No | Prompt message for failed PIN attempts |
| pin_hangup_prompt | string | No | Prompt message for hangup after PIN input |
| pin_prompt | string | No | Prompt message for PIN input |
| pin_success_prompt | string | No | Prompt message for successful PIN input |
SIPInboundRoutingRuleResponse
SIP Inbound Routing Rule response
// SIPInboundRoutingRuleResponse
{
"call_configs": SIPCallConfigsResponse,
"called_numbers": [],
"caller_configs": SIPCallerConfigsResponse,
"caller_numbers": [],
"created_at": 0,
"direct_routing_configs": SIPDirectRoutingRuleCallConfigsResponse,
"duration": "string",
"id": "string",
"name": "string",
"pin_protection_configs": SIPPinProtectionConfigsResponse,
"pin_routing_configs": SIPInboundRoutingRulePinConfigsResponse,
"trunk_ids": [],
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| called_numbers | string[] | Yes | List of called numbers |
| created_at | number | Yes | Creation timestamp |
| duration | string | Yes | |
| id | string | Yes | Unique identifier of the SIP Inbound Routing Rule |
| name | string | Yes | Name of the SIP Inbound Routing Rule |
| trunk_ids | string[] | Yes | List of SIP trunk IDs |
| updated_at | number | Yes | Last update timestamp |
| call_configs | SIPCallConfigsResponse | No | Call configuration |
| caller_configs | SIPCallerConfigsResponse | No | Caller configuration |
| caller_numbers | string[] | No | List of caller numbers |
| direct_routing_configs | SIPDirectRoutingRuleCallConfigsResponse | No | Direct routing configuration |
| pin_protection_configs | SIPPinProtectionConfigsResponse | No | PIN protection configuration |
| pin_routing_configs | SIPInboundRoutingRulePinConfigsResponse | No | PIN routing configuration |
SIPPinProtectionConfigsRequest
Configuration for PIN protection settings
// SIPPinProtectionConfigsRequest
{
"default_pin": "string",
"enabled": false,
"max_attempts": 0,
"required_pin_digits": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| default_pin | string | No | Default PIN to use if there is no PIN set on the call object |
| enabled | boolean | No | Whether PIN protection is enabled |
| max_attempts | number | No | Maximum number of PIN attempts allowed |
| required_pin_digits | number | No | Number of digits required for the PIN |
SIPPinProtectionConfigsResponse
PIN protection configuration response
// SIPPinProtectionConfigsResponse
{
"default_pin": "string",
"enabled": false,
"max_attempts": 0,
"required_pin_digits": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | Yes | Whether PIN protection is enabled |
| default_pin | string | No | Default PIN to use if there is no PIN set on the call object |
| max_attempts | number | No | Maximum number of PIN attempts allowed |
| required_pin_digits | number | No | Number of digits required for the PIN |
SIPTrunkResponse
SIP trunk information
// SIPTrunkResponse
{
"allowed_ips": [],
"created_at": 0,
"id": "string",
"name": "string",
"numbers": [],
"password": "string",
"updated_at": 0,
"uri": "string",
"username": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| allowed_ips | string[] | Yes | Allowed IPv4/IPv6 addresses or CIDR blocks |
| created_at | number | Yes | Creation timestamp |
| id | string | Yes | Unique identifier for the SIP trunk |
| name | string | Yes | Name of the SIP trunk |
| numbers | string[] | Yes | Phone numbers associated with this SIP trunk |
| password | string | Yes | Password for SIP trunk authentication |
| updated_at | number | Yes | Last update timestamp |
| uri | string | Yes | The URI for the SIP trunk |
| username | string | Yes | Username for SIP trunk authentication |
ScreensharingSettings
// ScreensharingSettings
{
"access_request_enabled": false,
"enabled": false,
"target_resolution": TargetResolution
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| access_request_enabled | boolean | Yes | |
| enabled | boolean | Yes | |
| target_resolution | TargetResolution | No |
ScreensharingSettingsRequest
// ScreensharingSettingsRequest
{
"access_request_enabled": false,
"enabled": false,
"target_resolution": TargetResolution
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| access_request_enabled | boolean | No | |
| enabled | boolean | No | |
| target_resolution | TargetResolution | No |
SendCallEventResponse
// SendCallEventResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
SendClosedCaptionResponse
// SendClosedCaptionResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes |
SessionClient
// SessionClient
{
"ip": "string",
"location": CallStatsLocation,
"name": "string",
"network_type": "string",
"version": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| ip | string | No | |
| location | CallStatsLocation | No | |
| name | string | No | |
| network_type | string | No | |
| version | string | No |
SessionSettings
// SessionSettings
{
"inactivity_timeout_seconds": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| inactivity_timeout_seconds | number | Yes |
SessionSettingsRequest
// SessionSettingsRequest
{
"inactivity_timeout_seconds": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| inactivity_timeout_seconds | number | Yes |
SipInboundCredentials
Credentials for SIP inbound call authentication
// SipInboundCredentials
{
"api_key": "string",
"call_custom_data": {},
"call_id": "string",
"call_type": "string",
"token": "string",
"user_custom_data": {},
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| api_key | string | Yes | API key for the application |
| call_custom_data | Record<string, any> | Yes | Custom data associated with the call |
| call_id | string | Yes | ID of the call |
| call_type | string | Yes | Type of the call |
| token | string | Yes | Authentication token for the call |
| user_custom_data | Record<string, any> | Yes | Custom data associated with the user |
| user_id | string | Yes | User ID for the call |
SortParamRequest
// SortParamRequest
{
"direction": 0,
"field": "string",
"type": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| direction | number | No | Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One o... |
| field | string | No | Name of field to sort by |
| type | string | No | Type of field to sort by. Empty string or omitted means string type (default)... |
SpeechSegmentConfig
// SpeechSegmentConfig
{
"max_speech_caption_ms": 0,
"silence_duration_ms": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| max_speech_caption_ms | number | No | |
| silence_duration_ms | number | No |
StartClosedCaptionsResponse
// StartClosedCaptionsResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes |
StartFrameRecordingResponse
StartFrameRecordingResponse is the response payload for the start frame recording endpoint.
// StartFrameRecordingResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
StartHLSBroadcastingResponse
StartHLSBroadcastingResponse is the payload for starting an HLS broadcasting.
// StartHLSBroadcastingResponse
{
"duration": "string",
"playlist_url": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| playlist_url | string | Yes | the URL of the HLS playlist |
StartRTMPBroadcastsResponse
StartRTMPBroadcastsResponse is the payload for starting an RTMP broadcast.
// StartRTMPBroadcastsResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
StartRecordingResponse
StartRecordingResponse is the response payload for the start recording endpoint.
// StartRecordingResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
StartTranscriptionResponse
// StartTranscriptionResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
StopAllRTMPBroadcastsResponse
// StopAllRTMPBroadcastsResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
StopClosedCaptionsResponse
Basic response information
// StopClosedCaptionsResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
StopFrameRecordingResponse
Basic response information
// StopFrameRecordingResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
StopHLSBroadcastingResponse
Basic response information
// StopHLSBroadcastingResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
StopLiveResponse
// StopLiveResponse
{
"call": CallResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call | CallResponse | Yes | The call that was stopped |
| duration | string | Yes |
StopRTMPBroadcastsResponse
Basic response information
// StopRTMPBroadcastsResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
StopRecordingResponse
Basic response information
// StopRecordingResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
StopTranscriptionResponse
Basic response information
// StopTranscriptionResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
ThumbnailsSettings
// ThumbnailsSettings
{
"enabled": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | Yes |
ThumbnailsSettingsRequest
// ThumbnailsSettingsRequest
{
"enabled": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | No |
TranscriptionSettings
// TranscriptionSettings
{
"closed_caption_mode": "available",
"language": "auto",
"mode": "available",
"speech_segment_config": SpeechSegmentConfig,
"translation": TranslationSettings
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| closed_caption_mode | 'available' | 'disabled' | 'auto-on' |
| language | 'auto' | 'en' | 'fr' |
| mode | 'available' | 'disabled' | 'auto-on' |
| speech_segment_config | SpeechSegmentConfig | No | |
| translation | TranslationSettings | No |
TranscriptionSettingsRequest
// TranscriptionSettingsRequest
{
"closed_caption_mode": "available",
"language": "auto",
"mode": "available",
"speech_segment_config": SpeechSegmentConfig,
"translation": TranslationSettings
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| closed_caption_mode | 'available' | 'disabled' | 'auto-on' |
| language | 'auto' | 'en' | 'fr' |
| mode | 'available' | 'disabled' | 'auto-on' |
| speech_segment_config | SpeechSegmentConfig | No | |
| translation | TranslationSettings | No |
UnblockUserResponse
UnblockUserResponse is the payload for unblocking a user.
// UnblockUserResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
UnpinResponse
UnpinResponse is the payload for unpinning a message.
// UnpinResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
UpdateCallMembersResponse
Basic response information
// UpdateCallMembersResponse
{
"duration": "string",
"members": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| members | MemberResponse[] | Yes |
UpdateCallResponse
Response for updating a call
// UpdateCallResponse
{
"call": CallResponse,
"duration": "string",
"members": [],
"own_capabilities": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| call | CallResponse | Yes | |
| duration | string | Yes | |
| members | MemberResponse[] | Yes | |
| own_capabilities | OwnCapability[] | Yes |
UpdateCallTypeResponse
UpdateCallTypeResponse is the payload for updating a call type.
// UpdateCallTypeResponse
{
"created_at": 0,
"duration": "string",
"external_storage": "string",
"grants": {},
"name": "string",
"notification_settings": NotificationSettingsResponse,
"settings": CallSettingsResponse,
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | the time the call type was created |
| duration | string | Yes | |
| grants | Record<string, any> | Yes | the permissions granted to each role |
| name | string | Yes | the name of the call type |
| notification_settings | NotificationSettingsResponse | Yes | the notification settings for the call type |
| settings | CallSettingsResponse | Yes | the settings for the call type |
| updated_at | number | Yes | the time the call type was last updated |
| external_storage | string | No | the external storage for the call type |
UpdateSIPInboundRoutingRuleResponse
Response containing the updated SIP Inbound Routing Rule
// UpdateSIPInboundRoutingRuleResponse
{
"duration": "string",
"sip_inbound_routing_rule": SIPInboundRoutingRuleResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| sip_inbound_routing_rule | SIPInboundRoutingRuleResponse | No | The updated SIP Inbound Routing Rule |
UpdateSIPTrunkResponse
Response containing the updated SIP trunk
// UpdateSIPTrunkResponse
{
"duration": "string",
"sip_trunk": SIPTrunkResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| sip_trunk | SIPTrunkResponse | No | The updated SIP trunk |
UpdateUserPermissionsResponse
Basic response information
// UpdateUserPermissionsResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
UserFeedbackReportResponse
// UserFeedbackReportResponse
{
"daily": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| daily | DailyAggregateUserFeedbackReportResponse[] | Yes |
UserFeedbackResponse
// UserFeedbackResponse
{
"cid": "string",
"custom": {},
"platform": PlatformDataResponse,
"rating": 0,
"reason": "string",
"sdk": "string",
"sdk_version": "string",
"session_id": "string",
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| cid | string | Yes | |
| platform | PlatformDataResponse | Yes | |
| rating | number | Yes | |
| reason | string | Yes | |
| sdk | string | Yes | |
| sdk_version | string | Yes | |
| session_id | string | Yes | |
| user_id | string | Yes | |
| custom | Record<string, any> | No |
UserRequest
User request object
// UserRequest
{
"custom": {},
"id": "string",
"image": "string",
"invisible": false,
"language": "string",
"name": "string",
"privacy_settings": PrivacySettingsResponse,
"role": "string",
"teams": [],
"teams_role": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | User ID |
| custom | Record<string, any> | No | Custom user data |
| image | string | No | User's profile image URL |
| invisible | boolean | No | |
| language | string | No | |
| name | string | No | Optional name of user |
| privacy_settings | PrivacySettingsResponse | No | |
| role | string | No | User's global role |
| teams | string[] | No | List of teams the user belongs to |
| teams_role | Record<string, any> | No | Map of team-specific roles for the user |
UserResponse
User response object
// UserResponse
{
"avg_response_time": 0,
"ban_expires": 0,
"banned": false,
"blocked_user_ids": [],
"bypass_moderation": false,
"created_at": 0,
"custom": {},
"deactivated_at": 0,
"deleted_at": 0,
"devices": [],
"id": "string",
"image": "string",
"invisible": false,
"language": "string",
"last_active": 0,
"name": "string",
"online": false,
"privacy_settings": PrivacySettingsResponse,
"push_notifications": PushNotificationSettingsResponse,
"revoke_tokens_issued_before": 0,
"role": "string",
"shadow_banned": false,
"teams": [],
"teams_role": {},
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| banned | boolean | Yes | Whether a user is banned or not |
| blocked_user_ids | string[] | Yes | |
| created_at | number | Yes | Date/time of creation |
| custom | Record<string, any> | Yes | Custom data for this object |
| id | string | Yes | Unique user identifier |
| invisible | boolean | Yes | |
| language | string | Yes | Preferred language of a user |
| online | boolean | Yes | Whether a user online or not |
| role | string | Yes | Determines the set of user permissions |
| shadow_banned | boolean | Yes | Whether a user is shadow banned |
| teams | string[] | Yes | List of teams user is a part of |
| updated_at | number | Yes | Date/time of the last update |
| avg_response_time | number | No | |
| ban_expires | number | No | Date when ban expires |
| bypass_moderation | boolean | No | |
| deactivated_at | number | No | Date of deactivation |
| deleted_at | number | No | Date/time of deletion |
| devices | DeviceResponse[] | No | List of devices user is using |
| image | string | No | |
| last_active | number | No | Date of last activity |
| name | string | No | Optional name of user |
| privacy_settings | PrivacySettingsResponse | No | User privacy settings |
| push_notifications | PushNotificationSettingsResponse | No | User push notification settings |
| revoke_tokens_issued_before | number | No | Revocation date for tokens |
| teams_role | Record<string, any> | No |
VideoReactionsResponse
// VideoReactionsResponse
{
"count_over_time": VideoReactionOverTimeResponse,
"reaction": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| reaction | string | Yes | |
| count_over_time | VideoReactionOverTimeResponse | No |
VideoSettings
// VideoSettings
{
"access_request_enabled": false,
"camera_default_on": false,
"camera_facing": "front",
"enabled": false,
"target_resolution": TargetResolution
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| access_request_enabled | boolean | Yes | |
| camera_default_on | boolean | Yes | |
| camera_facing | 'front' | 'back' | 'external' |
| enabled | boolean | Yes | |
| target_resolution | TargetResolution | Yes |
VideoSettingsRequest
// VideoSettingsRequest
{
"access_request_enabled": false,
"camera_default_on": false,
"camera_facing": "front",
"enabled": false,
"target_resolution": TargetResolution
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| access_request_enabled | boolean | No | |
| camera_default_on | boolean | No | |
| camera_facing | 'front' | 'back' | 'external' |
| enabled | boolean | No | |
| target_resolution | TargetResolution | No |