Package-level declarations

Types

Link copied to clipboard
data class AcceptCallResponse(@Json(name = "duration") val duration: String)

AcceptCallResponse is the payload for accepting a call.

Link copied to clipboard
data class APIError(@Json(name = "code") val code: Int, @Json(name = "duration") val duration: String, @Json(name = "message") val message: String, @Json(name = "more_info") val moreInfo: String, @Json(name = "StatusCode") val statusCode: Int, @Json(name = "details") val details: List<Int> = emptyList(), @Json(name = "unrecoverable") val unrecoverable: Boolean? = null, @Json(name = "exception_fields") val exceptionFields: Map<String, String>? = emptyMap())
Link copied to clipboard
data class AppEventResponse(@Json(name = "auto_translation_enabled") val autoTranslationEnabled: Boolean, @Json(name = "name") val name: String, @Json(name = "async_url_enrich_enabled") val asyncUrlEnrichEnabled: Boolean? = null, @Json(name = "file_upload_config") val fileUploadConfig: FileUploadConfig? = null, @Json(name = "image_upload_config") val imageUploadConfig: FileUploadConfig? = null)
Link copied to clipboard
data class AppUpdatedEvent(@Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "app") val app: AppEventResponse, @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "type") val type: String, @Json(name = "received_at") val receivedAt: OffsetDateTime? = null) : VideoEvent

Emitted when app settings are updated

Link copied to clipboard
data class AudioSettingsRequest(@Json(name = "default_device") val defaultDevice: AudioSettingsRequest.DefaultDevice, @Json(name = "access_request_enabled") val accessRequestEnabled: Boolean? = null, @Json(name = "hifi_audio_enabled") val hifiAudioEnabled: Boolean? = null, @Json(name = "mic_default_on") val micDefaultOn: Boolean? = null, @Json(name = "opus_dtx_enabled") val opusDtxEnabled: Boolean? = null, @Json(name = "redundant_coding_enabled") val redundantCodingEnabled: Boolean? = null, @Json(name = "speaker_default_on") val speakerDefaultOn: Boolean? = null, @Json(name = "noise_cancellation") val noiseCancellation: NoiseCancellationSettings? = null)
Link copied to clipboard
data class AudioSettingsResponse(@Json(name = "access_request_enabled") val accessRequestEnabled: Boolean, @Json(name = "default_device") val defaultDevice: AudioSettingsResponse.DefaultDevice, @Json(name = "hifi_audio_enabled") val hifiAudioEnabled: Boolean, @Json(name = "mic_default_on") val micDefaultOn: Boolean, @Json(name = "opus_dtx_enabled") val opusDtxEnabled: Boolean, @Json(name = "redundant_coding_enabled") val redundantCodingEnabled: Boolean, @Json(name = "speaker_default_on") val speakerDefaultOn: Boolean, @Json(name = "noise_cancellation") val noiseCancellation: NoiseCancellationSettings? = null)
Link copied to clipboard
data class BackstageSettingsRequest(@Json(name = "enabled") val enabled: Boolean? = null, @Json(name = "join_ahead_time_seconds") val joinAheadTimeSeconds: Int? = null)
Link copied to clipboard
data class BackstageSettingsResponse(@Json(name = "enabled") val enabled: Boolean, @Json(name = "join_ahead_time_seconds") val joinAheadTimeSeconds: Int? = null)
Link copied to clipboard
data class BlockedUserEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String, @Json(name = "blocked_by_user") val blockedByUser: UserResponse? = null) : VideoEvent, WSCallEvent

This event is sent to call participants to notify when a user is blocked on a call, clients can use this event to show a notification.

Link copied to clipboard
data class BlockUserRequest(@Json(name = "user_id") val userId: String)

BlockUserRequest is the payload for blocking a user.

Link copied to clipboard
data class BlockUserResponse(@Json(name = "duration") val duration: String)

BlockUserResponse is the payload for blocking a user.

Link copied to clipboard
data class Bound(@Json(name = "inclusive") val inclusive: Boolean, @Json(name = "value") val value: Float)
Link copied to clipboard
data class BroadcastSettingsRequest(@Json(name = "enabled") val enabled: Boolean? = null, @Json(name = "hls") val hls: HLSSettingsRequest? = null, @Json(name = "rtmp") val rtmp: RTMPSettingsRequest? = null)
Link copied to clipboard
data class BroadcastSettingsResponse(@Json(name = "enabled") val enabled: Boolean, @Json(name = "hls") val hls: HLSSettingsResponse, @Json(name = "rtmp") val rtmp: RTMPSettingsResponse)

BroadcastSettingsResponse is the payload for broadcasting settings

Link copied to clipboard
data class CallAcceptedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "call") val call: CallResponse, @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a user accepts a notification to join a call.

Link copied to clipboard
data class CallClosedCaption(@Json(name = "end_time") val endTime: OffsetDateTime, @Json(name = "id") val id: String, @Json(name = "language") val language: String, @Json(name = "speaker_id") val speakerId: String, @Json(name = "start_time") val startTime: OffsetDateTime, @Json(name = "text") val text: String, @Json(name = "translated") val translated: Boolean, @Json(name = "user") val user: UserResponse, @Json(name = "service") val service: String? = null)

CallClosedCaption represents a closed caption of a call.

Link copied to clipboard
data class CallClosedCaptionsFailedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when call closed captions has failed

Link copied to clipboard
data class CallClosedCaptionsStartedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when call closed caption has started

Link copied to clipboard
data class CallClosedCaptionsStoppedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when call closed captions has stopped

Link copied to clipboard
data class CallCreatedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a call is created. Clients receiving this event should check if the ringing

Link copied to clipboard
data class CallDeletedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a call is deleted. Clients receiving this event should leave the call screen

Link copied to clipboard
data class CallDurationReport(@Json(name = "histogram") val histogram: List<ReportByHistogramBucket> = emptyList())
Link copied to clipboard
data class CallDurationReportResponse(@Json(name = "daily") val daily: List<DailyAggregateCallDurationReportResponse> = emptyList())
Link copied to clipboard
data class CallEndedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String, @Json(name = "reason") val reason: String? = null, @Json(name = "user") val user: UserResponse? = null) : VideoEvent, WSCallEvent

This event is sent when a call is mark as ended for all its participants. Clients receiving this event should leave the call screen

Link copied to clipboard
data class CallFrameRecordingFailedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when frame recording has failed

Link copied to clipboard
data class CallFrameRecordingFrameReadyEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "captured_at") val capturedAt: OffsetDateTime, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "session_id") val sessionId: String, @Json(name = "track_type") val trackType: String, @Json(name = "url") val url: String, @Json(name = "users") val users: Map<String, UserResponse> = emptyMap(), @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a frame is captured from a call

Link copied to clipboard
data class CallFrameRecordingStartedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when frame recording has started

Link copied to clipboard
data class CallFrameRecordingStoppedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when frame recording has stopped

Link copied to clipboard
data class CallHLSBroadcastingFailedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when HLS broadcasting has failed

Link copied to clipboard
data class CallHLSBroadcastingStartedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "hls_playlist_url") val hlsPlaylistUrl: String, @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when HLS broadcasting has started

Link copied to clipboard
data class CallHLSBroadcastingStoppedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when HLS broadcasting has stopped

Link copied to clipboard
data class CallIngressResponse(@Json(name = "rtmp") val rtmp: RTMPIngress, @Json(name = "srt") val srt: SRTIngress, @Json(name = "whip") val whip: WHIPIngress)

CallIngressResponse is the payload for ingress settings

Link copied to clipboard
data class CallLiveStartedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a call is started. Clients receiving this event should start the call.

Link copied to clipboard
data class CallMemberAddedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when one or more members are added to a call

Link copied to clipboard
data class CallMemberRemovedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "members") val members: List<String> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when one or more members are removed from a call

Link copied to clipboard
data class CallMemberUpdatedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when one or more members are updated

Link copied to clipboard
data class CallMemberUpdatedPermissionEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "capabilities_by_role") val capabilitiesByRole: Map<String, List<String>> = emptyMap(), @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when one or more members get its role updated

Link copied to clipboard
data class CallMissedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "notify_user") val notifyUser: Boolean, @Json(name = "session_id") val sessionId: String, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent to call members who did not accept/reject/join the call to notify they missed the call

Link copied to clipboard
data class CallModerationBlurEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "user_id") val userId: String, @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "type") val type: String) : VideoEvent, WSCallEvent
Link copied to clipboard
data class CallModerationWarningEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "message") val message: String, @Json(name = "user_id") val userId: String, @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "type") val type: String) : VideoEvent, WSCallEvent
Link copied to clipboard
data class CallNotificationEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "session_id") val sessionId: String, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent to all call members to notify they are getting called

Link copied to clipboard
data class CallParticipantCountReport(@Json(name = "histogram") val histogram: List<ReportByHistogramBucket> = emptyList())
Link copied to clipboard
data class CallParticipantCountReportResponse(@Json(name = "daily") val daily: List<DailyAggregateCallParticipantCountReportResponse> = emptyList())
Link copied to clipboard
data class CallParticipantResponse(@Json(name = "joined_at") val joinedAt: OffsetDateTime, @Json(name = "role") val role: String, @Json(name = "user_session_id") val userSessionId: String, @Json(name = "user") val user: UserResponse)
Link copied to clipboard
data class CallParticipantTimeline(@Json(name = "severity") val severity: String, @Json(name = "timestamp") val timestamp: OffsetDateTime, @Json(name = "type") val type: String, @Json(name = "data") val data: Map<String, Any?> = emptyMap())
Link copied to clipboard
data class CallReactionEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "reaction") val reaction: ReactionResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a reaction is sent in a call, clients should use this to show the reaction in the call screen

Link copied to clipboard
data class CallRecording(@Json(name = "end_time") val endTime: OffsetDateTime, @Json(name = "filename") val filename: String, @Json(name = "session_id") val sessionId: String, @Json(name = "start_time") val startTime: OffsetDateTime, @Json(name = "url") val url: String)

CallRecording represents a recording of a call.

Link copied to clipboard
data class CallRecordingFailedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when call recording has failed

Link copied to clipboard
data class CallRecordingReadyEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "call_recording") val callRecording: CallRecording, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when call recording is ready

Link copied to clipboard
data class CallRecordingStartedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when call recording has started

Link copied to clipboard
data class CallRecordingStoppedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when call recording has stopped

Link copied to clipboard
data class CallRejectedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "call") val call: CallResponse, @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String, @Json(name = "reason") val reason: String? = null) : VideoEvent, WSCallEvent

This event is sent when a user rejects a notification to join a call.

Link copied to clipboard
data class CallReportResponse(@Json(name = "score") val score: Float, @Json(name = "ended_at") val endedAt: OffsetDateTime? = null, @Json(name = "started_at") val startedAt: OffsetDateTime? = null)
Link copied to clipboard
data class CallRequest(@Json(name = "channel_cid") val channelCid: String? = null, @Json(name = "starts_at") val startsAt: OffsetDateTime? = null, @Json(name = "team") val team: String? = null, @Json(name = "video") val video: Boolean? = null, @Json(name = "members") val members: List<MemberRequest>? = emptyList(), @Json(name = "custom") val custom: Map<String, Any?>? = emptyMap(), @Json(name = "settings_override") val settingsOverride: CallSettingsRequest? = null)

CallRequest is the payload for creating a call.

Link copied to clipboard
data class CallResponse(@Json(name = "backstage") val backstage: Boolean, @Json(name = "captioning") val captioning: Boolean, @Json(name = "cid") val cid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "current_session_id") val currentSessionId: String, @Json(name = "id") val id: String, @Json(name = "recording") val recording: Boolean, @Json(name = "transcribing") val transcribing: Boolean, @Json(name = "translating") val translating: Boolean, @Json(name = "type") val type: String, @Json(name = "updated_at") val updatedAt: OffsetDateTime, @Json(name = "blocked_user_ids") val blockedUserIds: List<String> = emptyList(), @Json(name = "created_by") val createdBy: UserResponse, @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "egress") val egress: EgressResponse, @Json(name = "ingress") val ingress: CallIngressResponse, @Json(name = "settings") val settings: CallSettingsResponse, @Json(name = "channel_cid") val channelCid: String? = null, @Json(name = "ended_at") val endedAt: OffsetDateTime? = null, @Json(name = "join_ahead_time_seconds") val joinAheadTimeSeconds: Int? = null, @Json(name = "starts_at") val startsAt: OffsetDateTime? = null, @Json(name = "team") val team: String? = null, @Json(name = "session") val session: CallSessionResponse? = null, @Json(name = "thumbnails") val thumbnails: ThumbnailResponse? = null)

Represents a call

Link copied to clipboard
data class CallRingEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "session_id") val sessionId: String, @Json(name = "video") val video: Boolean, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent to all call members to notify they are getting called

Link copied to clipboard
data class CallRtmpBroadcastFailedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "name") val name: String, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a call RTMP broadcast has failed

Link copied to clipboard
data class CallRtmpBroadcastStartedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "name") val name: String, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when RTMP broadcast has started

Link copied to clipboard
data class CallRtmpBroadcastStoppedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "name") val name: String, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when RTMP broadcast has stopped

Link copied to clipboard
data class CallSessionEndedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "session_id") val sessionId: String, @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a call session ends

Link copied to clipboard
data class CallSessionParticipantCountsUpdatedEvent(@Json(name = "anonymous_participant_count") val anonymousParticipantCount: Int, @Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "session_id") val sessionId: String, @Json(name = "participants_count_by_role") val participantsCountByRole: Map<String, Int> = emptyMap(), @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when the participant counts in a call session are updated

Link copied to clipboard
data class CallSessionParticipantJoinedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "session_id") val sessionId: String, @Json(name = "participant") val participant: CallParticipantResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a participant joins a call session

Link copied to clipboard
data class CallSessionParticipantLeftEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "duration_seconds") val durationSeconds: Int, @Json(name = "session_id") val sessionId: String, @Json(name = "participant") val participant: CallParticipantResponse, @Json(name = "type") val type: String, @Json(name = "reason") val reason: String? = null) : VideoEvent, WSCallEvent

This event is sent when a participant leaves a call session

Link copied to clipboard
data class CallSessionResponse(@Json(name = "anonymous_participant_count") val anonymousParticipantCount: Int, @Json(name = "id") val id: String, @Json(name = "participants") val participants: List<CallParticipantResponse> = emptyList(), @Json(name = "accepted_by") val acceptedBy: Map<String, OffsetDateTime> = emptyMap(), @Json(name = "missed_by") val missedBy: Map<String, OffsetDateTime> = emptyMap(), @Json(name = "participants_count_by_role") val participantsCountByRole: Map<String, Int> = emptyMap(), @Json(name = "rejected_by") val rejectedBy: Map<String, OffsetDateTime> = emptyMap(), @Json(name = "ended_at") val endedAt: OffsetDateTime? = null, @Json(name = "live_ended_at") val liveEndedAt: OffsetDateTime? = null, @Json(name = "live_started_at") val liveStartedAt: OffsetDateTime? = null, @Json(name = "started_at") val startedAt: OffsetDateTime? = null, @Json(name = "timer_ends_at") val timerEndsAt: OffsetDateTime? = null)
Link copied to clipboard
data class CallSessionStartedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "session_id") val sessionId: String, @Json(name = "call") val call: CallResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a call session starts

Link copied to clipboard
data class CallSettingsRequest(@Json(name = "audio") val audio: AudioSettingsRequest? = null, @Json(name = "backstage") val backstage: BackstageSettingsRequest? = null, @Json(name = "broadcasting") val broadcasting: BroadcastSettingsRequest? = null, @Json(name = "frame_recording") val frameRecording: FrameRecordingSettingsRequest? = null, @Json(name = "geofencing") val geofencing: GeofenceSettingsRequest? = null, @Json(name = "ingress") val ingress: IngressSettingsRequest? = null, @Json(name = "limits") val limits: LimitsSettingsRequest? = null, @Json(name = "recording") val recording: RecordSettingsRequest? = null, @Json(name = "ring") val ring: RingSettingsRequest? = null, @Json(name = "screensharing") val screensharing: ScreensharingSettingsRequest? = null, @Json(name = "session") val session: SessionSettingsRequest? = null, @Json(name = "thumbnails") val thumbnails: ThumbnailsSettingsRequest? = null, @Json(name = "transcription") val transcription: TranscriptionSettingsRequest? = null, @Json(name = "video") val video: VideoSettingsRequest? = null)
Link copied to clipboard
data class CallSettingsResponse(@Json(name = "audio") val audio: AudioSettingsResponse, @Json(name = "backstage") val backstage: BackstageSettingsResponse, @Json(name = "broadcasting") val broadcasting: BroadcastSettingsResponse, @Json(name = "frame_recording") val frameRecording: FrameRecordingSettingsResponse, @Json(name = "geofencing") val geofencing: GeofenceSettingsResponse, @Json(name = "limits") val limits: LimitsSettingsResponse, @Json(name = "recording") val recording: RecordSettingsResponse, @Json(name = "ring") val ring: RingSettingsResponse, @Json(name = "screensharing") val screensharing: ScreensharingSettingsResponse, @Json(name = "session") val session: SessionSettingsResponse, @Json(name = "thumbnails") val thumbnails: ThumbnailsSettingsResponse, @Json(name = "transcription") val transcription: TranscriptionSettingsResponse, @Json(name = "video") val video: VideoSettingsResponse, @Json(name = "ingress") val ingress: IngressSettingsResponse? = null)
Link copied to clipboard
data class CallsPerDayReport(@Json(name = "count") val count: Int)
Link copied to clipboard
data class CallsPerDayReportResponse(@Json(name = "daily") val daily: List<DailyAggregateCallsPerDayReportResponse> = emptyList())
Link copied to clipboard
data class CallStateResponseFields(@Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "own_capabilities") val ownCapabilities: List<OwnCapability> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "membership") val membership: MemberResponse? = null)

CallStateResponseFields is the payload for call state response

Link copied to clipboard
data class CallStatsParticipant(@Json(name = "user_id") val userId: String, @Json(name = "sessions") val sessions: List<CallStatsParticipantSession> = emptyList(), @Json(name = "latest_activity_at") val latestActivityAt: OffsetDateTime? = null, @Json(name = "name") val name: String? = null, @Json(name = "roles") val roles: List<String>? = emptyList())
Link copied to clipboard
data class CallStatsParticipantCounts(@Json(name = "live_sessions") val liveSessions: Int, @Json(name = "participants") val participants: Int, @Json(name = "publishers") val publishers: Int, @Json(name = "sessions") val sessions: Int)
Link copied to clipboard
data class CallStatsParticipantSession(@Json(name = "is_live") val isLive: Boolean, @Json(name = "user_session_id") val userSessionId: String, @Json(name = "published_tracks") val publishedTracks: PublishedTrackFlags, @Json(name = "cq_score") val cqScore: Int? = null, @Json(name = "ended_at") val endedAt: OffsetDateTime? = null, @Json(name = "publisher_type") val publisherType: String? = null, @Json(name = "started_at") val startedAt: OffsetDateTime? = null, @Json(name = "unified_session_id") val unifiedSessionId: String? = null)
Link copied to clipboard
data class CallStatsReportReadyEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "session_id") val sessionId: String, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when the insights report is ready

Link copied to clipboard
data class CallStatsReportSummaryResponse(@Json(name = "call_cid") val callCid: String, @Json(name = "call_duration_seconds") val callDurationSeconds: Int, @Json(name = "call_session_id") val callSessionId: String, @Json(name = "call_status") val callStatus: String, @Json(name = "first_stats_time") val firstStatsTime: OffsetDateTime, @Json(name = "created_at") val createdAt: OffsetDateTime? = null, @Json(name = "min_user_rating") val minUserRating: Int? = null, @Json(name = "quality_score") val qualityScore: Int? = null)
Link copied to clipboard
data class CallTranscription(@Json(name = "end_time") val endTime: OffsetDateTime, @Json(name = "filename") val filename: String, @Json(name = "session_id") val sessionId: String, @Json(name = "start_time") val startTime: OffsetDateTime, @Json(name = "url") val url: String)

CallTranscription represents a transcription of a call.

Link copied to clipboard
data class CallTranscriptionFailedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "type") val type: String, @Json(name = "error") val error: String? = null) : VideoEvent, WSCallEvent

This event is sent when call transcription has failed

Link copied to clipboard
data class CallTranscriptionReadyEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "call_transcription") val callTranscription: CallTranscription, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when call transcription is ready

Link copied to clipboard
data class CallTranscriptionStartedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when call transcription has started

Link copied to clipboard
data class CallTranscriptionStoppedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "egress_id") val egressId: String, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when call transcription has stopped

Link copied to clipboard
data class CallUpdatedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "call") val call: CallResponse, @Json(name = "capabilities_by_role") val capabilitiesByRole: Map<String, List<String>> = emptyMap(), @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a call is updated, clients should use this update the local state of the call.

Link copied to clipboard
data class CallUserFeedbackSubmittedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "rating") val rating: Int, @Json(name = "session_id") val sessionId: String, @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String, @Json(name = "reason") val reason: String? = null, @Json(name = "sdk") val sdk: String? = null, @Json(name = "sdk_version") val sdkVersion: String? = null, @Json(name = "custom") val custom: Map<String, Any?>? = emptyMap()) : VideoEvent, WSCallEvent

This event is sent when a user submits feedback for a call.

Link copied to clipboard
data class CallUserMutedEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "from_user_id") val fromUserId: String, @Json(name = "reason") val reason: String, @Json(name = "muted_user_ids") val mutedUserIds: List<String> = emptyList(), @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a call member is muted

Link copied to clipboard
data class ChatActivityStatsResponse(@Json(name = "Messages") val messages: MessageStatsResponse? = null)
Link copied to clipboard
data class ClosedCaptionEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "closed_caption") val closedCaption: CallClosedCaption, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when closed captions are being sent in a call, clients should use this to show the closed captions in the call screen

Link copied to clipboard
data class CollectUserFeedbackRequest(@Json(name = "rating") val rating: Int, @Json(name = "sdk") val sdk: String, @Json(name = "sdk_version") val sdkVersion: String, @Json(name = "reason") val reason: String? = null, @Json(name = "user_session_id") val userSessionId: String? = null, @Json(name = "custom") val custom: Map<String, Any?>? = emptyMap())
Link copied to clipboard
data class CollectUserFeedbackResponse(@Json(name = "duration") val duration: String)

Basic response information

Link copied to clipboard
data class ConnectedEvent(@Json(name = "connection_id") val connectionId: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "me") val me: OwnUserResponse, @Json(name = "type") val type: String) : VideoEvent

This event is sent when the WS connection is established and authenticated, this event contains the full user object as it is stored on the server

Link copied to clipboard
data class ConnectionErrorEvent(@Json(name = "connection_id") val connectionId: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "error") val error: APIError, @Json(name = "type") val type: String) : VideoEvent

This event is sent when the WS connection fails

Link copied to clipboard
data class ConnectUserDetailsRequest(@Json(name = "id") val id: String, @Json(name = "image") val image: String? = null, @Json(name = "invisible") val invisible: Boolean? = null, @Json(name = "language") val language: String? = null, @Json(name = "name") val name: String? = null, @Json(name = "custom") val custom: Map<String, Any?>? = emptyMap())
Link copied to clipboard
data class CountByMinuteResponse(@Json(name = "count") val count: Int, @Json(name = "start_ts") val startTs: OffsetDateTime)
Link copied to clipboard
data class CreateDeviceRequest(@Json(name = "id") val id: String, @Json(name = "push_provider") val pushProvider: CreateDeviceRequest.PushProvider, @Json(name = "push_provider_name") val pushProviderName: String? = null, @Json(name = "voip_token") val voipToken: Boolean? = null)

Create device request

Link copied to clipboard
data class CreateGuestRequest(@Json(name = "user") val user: UserRequest)
Link copied to clipboard
data class CreateGuestResponse(@Json(name = "access_token") val accessToken: String, @Json(name = "duration") val duration: String, @Json(name = "user") val user: UserResponse)
Link copied to clipboard
data class Credentials(@Json(name = "token") val token: String, @Json(name = "ice_servers") val iceServers: List<ICEServer> = emptyList(), @Json(name = "server") val server: SFUResponse)
Link copied to clipboard
data class CustomVideoEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

A custom event, this event is used to send custom events to other participants in the call.

Link copied to clipboard
data class DailyAggregateCallDurationReportResponse(@Json(name = "date") val date: String, @Json(name = "report") val report: CallDurationReport)
data class DailyAggregateCallParticipantCountReportResponse(@Json(name = "date") val date: String, @Json(name = "report") val report: CallParticipantCountReport)
Link copied to clipboard
data class DailyAggregateCallsPerDayReportResponse(@Json(name = "date") val date: String, @Json(name = "report") val report: CallsPerDayReport)
Link copied to clipboard
data class DailyAggregateQualityScoreReportResponse(@Json(name = "date") val date: String, @Json(name = "report") val report: QualityScoreReport)
Link copied to clipboard
data class DailyAggregateSDKUsageReportResponse(@Json(name = "date") val date: String, @Json(name = "report") val report: SDKUsageReport)
Link copied to clipboard
data class DailyAggregateUserFeedbackReportResponse(@Json(name = "date") val date: String, @Json(name = "report") val report: UserFeedbackReport)
Link copied to clipboard
data class DeleteCallRequest(@Json(name = "hard") val hard: Boolean? = null)

DeleteCallRequest is the payload for deleting a call.

Link copied to clipboard
data class DeleteCallResponse(@Json(name = "duration") val duration: String, @Json(name = "call") val call: CallResponse, @Json(name = "task_id") val taskId: String? = null)

DeleteCallResponse is the payload for deleting a call.

Link copied to clipboard
data class DeleteRecordingResponse(@Json(name = "duration") val duration: String)

Response for DeleteRecording

Link copied to clipboard
data class DeleteTranscriptionResponse(@Json(name = "duration") val duration: String)

DeleteTranscriptionResponse is the payload for deleting a transcription.

Link copied to clipboard
data class DeliveryReceipts(@Json(name = "enabled") val enabled: Boolean)
Link copied to clipboard
data class DeviceResponse(@Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "id") val id: String, @Json(name = "push_provider") val pushProvider: String, @Json(name = "user_id") val userId: String, @Json(name = "disabled") val disabled: Boolean? = null, @Json(name = "disabled_reason") val disabledReason: String? = null, @Json(name = "push_provider_name") val pushProviderName: String? = null, @Json(name = "voip") val voip: Boolean? = null)

Response for Device

Link copied to clipboard
data class EdgeResponse(@Json(name = "continent_code") val continentCode: String, @Json(name = "country_iso_code") val countryIsoCode: String, @Json(name = "green") val green: Int, @Json(name = "id") val id: String, @Json(name = "latency_test_url") val latencyTestUrl: String, @Json(name = "latitude") val latitude: Float, @Json(name = "longitude") val longitude: Float, @Json(name = "red") val red: Int, @Json(name = "subdivision_iso_code") val subdivisionIsoCode: String, @Json(name = "yellow") val yellow: Int)
Link copied to clipboard
data class EgressHLSResponse(@Json(name = "playlist_url") val playlistUrl: String, @Json(name = "status") val status: String)
Link copied to clipboard
data class EgressResponse(@Json(name = "broadcasting") val broadcasting: Boolean, @Json(name = "rtmps") val rtmps: List<EgressRTMPResponse> = emptyList(), @Json(name = "frame_recording") val frameRecording: FrameRecordingResponse? = null, @Json(name = "hls") val hls: EgressHLSResponse? = null)
Link copied to clipboard
data class EgressRTMPResponse(@Json(name = "name") val name: String, @Json(name = "started_at") val startedAt: OffsetDateTime, @Json(name = "stream_key") val streamKey: String? = null, @Json(name = "stream_url") val streamUrl: String? = null)
Link copied to clipboard
data class EndCallResponse(@Json(name = "duration") val duration: String)

Response for ending a call

Link copied to clipboard
data class FeedsPreferences(@Json(name = "comment") val comment: String? = null, @Json(name = "comment_reaction") val commentReaction: String? = null, @Json(name = "follow") val follow: String? = null, @Json(name = "mention") val mention: String? = null, @Json(name = "reaction") val reaction: String? = null, @Json(name = "custom_activity_types") val customActivityTypes: Map<String, String>? = emptyMap())
Link copied to clipboard
data class FileUploadConfig(@Json(name = "size_limit") val sizeLimit: Int, @Json(name = "allowed_file_extensions") val allowedFileExtensions: List<String> = emptyList(), @Json(name = "allowed_mime_types") val allowedMimeTypes: List<String> = emptyList(), @Json(name = "blocked_file_extensions") val blockedFileExtensions: List<String> = emptyList(), @Json(name = "blocked_mime_types") val blockedMimeTypes: List<String> = emptyList())
Link copied to clipboard
data class FrameRecordingResponse(@Json(name = "status") val status: String)
Link copied to clipboard
data class FrameRecordingSettingsRequest(@Json(name = "capture_interval_in_seconds") val captureIntervalInSeconds: Int, @Json(name = "mode") val mode: FrameRecordingSettingsRequest.Mode, @Json(name = "quality") val quality: FrameRecordingSettingsRequest.Quality? = null)
Link copied to clipboard
data class FrameRecordingSettingsResponse(@Json(name = "capture_interval_in_seconds") val captureIntervalInSeconds: Int, @Json(name = "mode") val mode: FrameRecordingSettingsResponse.Mode, @Json(name = "quality") val quality: String? = null)
Link copied to clipboard
data class GeofenceSettingsRequest(@Json(name = "names") val names: List<String>? = emptyList())
Link copied to clipboard
data class GeofenceSettingsResponse(@Json(name = "names") val names: List<String> = emptyList())
Link copied to clipboard
data class GetCallReportResponse(@Json(name = "duration") val duration: String, @Json(name = "session_id") val sessionId: String, @Json(name = "report") val report: ReportResponse, @Json(name = "video_reactions") val videoReactions: List<VideoReactionsResponse>? = emptyList(), @Json(name = "chat_activity") val chatActivity: ChatActivityStatsResponse? = null, @Json(name = "session") val session: CallSessionResponse? = null)

Basic response information

Link copied to clipboard
data class GetCallResponse(@Json(name = "duration") val duration: String, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "own_capabilities") val ownCapabilities: List<OwnCapability> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "membership") val membership: MemberResponse? = null)
data class GetCallSessionParticipantStatsDetailsResponse(@Json(name = "call_id") val callId: String, @Json(name = "call_session_id") val callSessionId: String, @Json(name = "call_type") val callType: String, @Json(name = "duration") val duration: String, @Json(name = "user_id") val userId: String, @Json(name = "user_session_id") val userSessionId: String, @Json(name = "publisher") val publisher: ParticipantSeriesPublisherStats? = null, @Json(name = "subscriber") val subscriber: ParticipantSeriesSubscriberStats? = null, @Json(name = "timeframe") val timeframe: ParticipantSeriesTimeframe? = null, @Json(name = "user") val user: ParticipantSeriesUserStats? = null)

Basic response information

Link copied to clipboard
data class GetEdgesResponse(@Json(name = "duration") val duration: String, @Json(name = "edges") val edges: List<EdgeResponse> = emptyList())

Basic response information

Link copied to clipboard
data class GetOrCreateCallRequest(@Json(name = "members_limit") val membersLimit: Int? = null, @Json(name = "notify") val notify: Boolean? = null, @Json(name = "ring") val ring: Boolean? = null, @Json(name = "video") val video: Boolean? = null, @Json(name = "data") val data: CallRequest? = null)
Link copied to clipboard
data class GetOrCreateCallResponse(@Json(name = "created") val created: Boolean, @Json(name = "duration") val duration: String, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "own_capabilities") val ownCapabilities: List<OwnCapability> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "membership") val membership: MemberResponse? = null)
Link copied to clipboard
data class GoLiveRequest(@Json(name = "recording_storage_name") val recordingStorageName: String? = null, @Json(name = "start_closed_caption") val startClosedCaption: Boolean? = null, @Json(name = "start_hls") val startHls: Boolean? = null, @Json(name = "start_recording") val startRecording: Boolean? = null, @Json(name = "start_transcription") val startTranscription: Boolean? = null, @Json(name = "transcription_storage_name") val transcriptionStorageName: String? = null)
Link copied to clipboard
data class GoLiveResponse(@Json(name = "duration") val duration: String, @Json(name = "call") val call: CallResponse)

Basic response information

Link copied to clipboard
data class GroupedStatsResponse(@Json(name = "name") val name: String, @Json(name = "unique") val unique: Int)
Link copied to clipboard
data class HealthCheckEvent(@Json(name = "connection_id") val connectionId: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "type") val type: String, @Json(name = "cid") val cid: String? = null, @Json(name = "received_at") val receivedAt: OffsetDateTime? = null) : VideoEvent
Link copied to clipboard
data class HLSSettingsRequest(@Json(name = "quality_tracks") val qualityTracks: List<String> = emptyList(), @Json(name = "auto_on") val autoOn: Boolean? = null, @Json(name = "enabled") val enabled: Boolean? = null)
Link copied to clipboard
data class HLSSettingsResponse(@Json(name = "auto_on") val autoOn: Boolean, @Json(name = "enabled") val enabled: Boolean, @Json(name = "quality_tracks") val qualityTracks: List<String> = emptyList())

HLSSettings is the payload for HLS settings

Link copied to clipboard
data class ICEServer(@Json(name = "password") val password: String, @Json(name = "username") val username: String, @Json(name = "urls") val urls: List<String> = emptyList())
Link copied to clipboard
data class IngressAudioEncodingOptionsRequest(@Json(name = "bitrate") val bitrate: Int, @Json(name = "channels") val channels: IngressAudioEncodingOptionsRequest.Channels, @Json(name = "enable_dtx") val enableDtx: Boolean? = null)
Link copied to clipboard
data class IngressAudioEncodingResponse(@Json(name = "bitrate") val bitrate: Int, @Json(name = "channels") val channels: Int, @Json(name = "enable_dtx") val enableDtx: Boolean)
Link copied to clipboard
data class IngressSettingsRequest(@Json(name = "enabled") val enabled: Boolean? = null, @Json(name = "audio_encoding_options") val audioEncodingOptions: IngressAudioEncodingOptionsRequest? = null, @Json(name = "video_encoding_options") val videoEncodingOptions: Map<String, IngressVideoEncodingOptionsRequest>? = emptyMap())
Link copied to clipboard
data class IngressSettingsResponse(@Json(name = "enabled") val enabled: Boolean, @Json(name = "audio_encoding_options") val audioEncodingOptions: IngressAudioEncodingResponse? = null, @Json(name = "video_encoding_options") val videoEncodingOptions: Map<String, IngressVideoEncodingResponse>? = emptyMap())
Link copied to clipboard
data class IngressSourceRequest(@Json(name = "fps") val fps: IngressSourceRequest.Fps, @Json(name = "height") val height: Int, @Json(name = "width") val width: Int)
Link copied to clipboard
data class IngressSourceResponse(@Json(name = "fps") val fps: Int, @Json(name = "height") val height: Int, @Json(name = "width") val width: Int)
Link copied to clipboard
data class IngressVideoEncodingOptionsRequest(@Json(name = "layers") val layers: List<IngressVideoLayerRequest> = emptyList(), @Json(name = "source") val source: IngressSourceRequest)
Link copied to clipboard
data class IngressVideoEncodingResponse(@Json(name = "layers") val layers: List<IngressVideoLayerResponse> = emptyList(), @Json(name = "source") val source: IngressSourceResponse)
Link copied to clipboard
data class IngressVideoLayerRequest(@Json(name = "bitrate") val bitrate: Int, @Json(name = "codec") val codec: IngressVideoLayerRequest.Codec, @Json(name = "frame_rate_limit") val frameRateLimit: Int, @Json(name = "max_dimension") val maxDimension: Int, @Json(name = "min_dimension") val minDimension: Int)
Link copied to clipboard
data class IngressVideoLayerResponse(@Json(name = "bitrate") val bitrate: Int, @Json(name = "codec") val codec: String, @Json(name = "frame_rate_limit") val frameRateLimit: Int, @Json(name = "max_dimension") val maxDimension: Int, @Json(name = "min_dimension") val minDimension: Int)
Link copied to clipboard
data class JoinCallRequest(@Json(name = "location") val location: String, @Json(name = "create") val create: Boolean? = null, @Json(name = "members_limit") val membersLimit: Int? = null, @Json(name = "migrating_from") val migratingFrom: String? = null, @Json(name = "notify") val notify: Boolean? = null, @Json(name = "ring") val ring: Boolean? = null, @Json(name = "video") val video: Boolean? = null, @Json(name = "data") val data: CallRequest? = null)
Link copied to clipboard
data class JoinCallResponse(@Json(name = "created") val created: Boolean, @Json(name = "duration") val duration: String, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "own_capabilities") val ownCapabilities: List<OwnCapability> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "credentials") val credentials: Credentials, @Json(name = "stats_options") val statsOptions: StatsOptions, @Json(name = "membership") val membership: MemberResponse? = null)
Link copied to clipboard
data class KickedUserEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String, @Json(name = "kicked_by_user") val kickedByUser: UserResponse? = null) : VideoEvent, WSCallEvent

This event is sent to call participants to notify when a user is kicked from a call. Clients should make the kicked user leave the call UI.

Link copied to clipboard
data class KickUserRequest(@Json(name = "user_id") val userId: String, @Json(name = "block") val block: Boolean? = null)

KickUserRequest is the payload for kicking a user from a call. Optionally block the user as well.

Link copied to clipboard
data class KickUserResponse(@Json(name = "duration") val duration: String)

KickUserResponse is the payload for kicking a user from a call.

Link copied to clipboard
data class LayoutSettingsRequest(@Json(name = "name") val name: LayoutSettingsRequest.Name, @Json(name = "detect_orientation") val detectOrientation: Boolean? = null, @Json(name = "external_app_url") val externalAppUrl: String? = null, @Json(name = "external_css_url") val externalCssUrl: String? = null, @Json(name = "options") val options: Map<String, Any?>? = emptyMap())
Link copied to clipboard
data class LimitsSettingsRequest(@Json(name = "max_duration_seconds") val maxDurationSeconds: Int? = null, @Json(name = "max_participants") val maxParticipants: Int? = null, @Json(name = "max_participants_exclude_owner") val maxParticipantsExcludeOwner: Boolean? = null, @Json(name = "max_participants_exclude_roles") val maxParticipantsExcludeRoles: List<String>? = emptyList())
Link copied to clipboard
data class LimitsSettingsResponse(@Json(name = "max_participants_exclude_roles") val maxParticipantsExcludeRoles: List<String> = emptyList(), @Json(name = "max_duration_seconds") val maxDurationSeconds: Int? = null, @Json(name = "max_participants") val maxParticipants: Int? = null, @Json(name = "max_participants_exclude_owner") val maxParticipantsExcludeOwner: Boolean? = null)
Link copied to clipboard
data class ListDevicesResponse(@Json(name = "duration") val duration: String, @Json(name = "devices") val devices: List<DeviceResponse> = emptyList())

List devices response

Link copied to clipboard
data class ListRecordingsResponse(@Json(name = "duration") val duration: String, @Json(name = "recordings") val recordings: List<CallRecording> = emptyList())

Response for listing recordings

Link copied to clipboard
data class ListTranscriptionsResponse(@Json(name = "duration") val duration: String, @Json(name = "transcriptions") val transcriptions: List<CallTranscription> = emptyList())
Link copied to clipboard
Link copied to clipboard

Marker class for representing delayed or "slow" call-related events.

Link copied to clipboard
data class MemberRequest(@Json(name = "user_id") val userId: String, @Json(name = "role") val role: String? = null, @Json(name = "custom") val custom: Map<String, Any?>? = emptyMap())

MemberRequest is the payload for adding a member to a call.

Link copied to clipboard
data class MemberResponse(@Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "updated_at") val updatedAt: OffsetDateTime, @Json(name = "user_id") val userId: String, @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "user") val user: UserResponse, @Json(name = "deleted_at") val deletedAt: OffsetDateTime? = null, @Json(name = "role") val role: String? = null)

MemberResponse is the payload for a member of a call.

Link copied to clipboard
data class MessageStatsResponse(@Json(name = "count_over_time") val countOverTime: List<CountByMinuteResponse>? = emptyList())
Link copied to clipboard
data class MuteUsersRequest(@Json(name = "audio") val audio: Boolean? = null, @Json(name = "mute_all_users") val muteAllUsers: Boolean? = null, @Json(name = "screenshare") val screenshare: Boolean? = null, @Json(name = "screenshare_audio") val screenshareAudio: Boolean? = null, @Json(name = "video") val video: Boolean? = null, @Json(name = "user_ids") val userIds: List<String>? = emptyList())
Link copied to clipboard
data class MuteUsersResponse(@Json(name = "duration") val duration: String)

MuteUsersResponse is the response payload for the mute users endpoint.

Link copied to clipboard
data class NetworkMetricsReportResponse(@Json(name = "average_connection_time") val averageConnectionTime: Float? = null, @Json(name = "average_jitter") val averageJitter: Float? = null, @Json(name = "average_latency") val averageLatency: Float? = null, @Json(name = "average_time_to_reconnect") val averageTimeToReconnect: Float? = null)
Link copied to clipboard
data class NoiseCancellationSettings(@Json(name = "mode") val mode: NoiseCancellationSettings.Mode)
Link copied to clipboard
sealed class OwnCapability

OwnCapability Enum

Link copied to clipboard
data class OwnUserResponse(@Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "id") val id: String, @Json(name = "language") val language: String, @Json(name = "role") val role: String, @Json(name = "updated_at") val updatedAt: OffsetDateTime, @Json(name = "devices") val devices: List<DeviceResponse> = emptyList(), @Json(name = "teams") val teams: List<String> = emptyList(), @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "avg_response_time") val avgResponseTime: Int? = null, @Json(name = "deactivated_at") val deactivatedAt: OffsetDateTime? = null, @Json(name = "deleted_at") val deletedAt: OffsetDateTime? = null, @Json(name = "image") val image: String? = null, @Json(name = "last_active") val lastActive: OffsetDateTime? = null, @Json(name = "name") val name: String? = null, @Json(name = "revoke_tokens_issued_before") val revokeTokensIssuedBefore: OffsetDateTime? = null, @Json(name = "blocked_user_ids") val blockedUserIds: List<String>? = emptyList(), @Json(name = "push_preferences") val pushPreferences: PushPreferences? = null, @Json(name = "teams_role") val teamsRole: Map<String, String>? = emptyMap())
Link copied to clipboard
data class ParticipantCountByMinuteResponse(@Json(name = "first") val first: Int, @Json(name = "last") val last: Int, @Json(name = "max") val max: Int, @Json(name = "min") val min: Int, @Json(name = "start_ts") val startTs: OffsetDateTime)
Link copied to clipboard
data class ParticipantCountOverTimeResponse(@Json(name = "by_minute") val byMinute: List<ParticipantCountByMinuteResponse>? = emptyList())
Link copied to clipboard
data class ParticipantReportResponse(@Json(name = "sum") val sum: Int, @Json(name = "unique") val unique: Int, @Json(name = "max_concurrent") val maxConcurrent: Int? = null, @Json(name = "by_browser") val byBrowser: List<GroupedStatsResponse>? = emptyList(), @Json(name = "by_country") val byCountry: List<GroupedStatsResponse>? = emptyList(), @Json(name = "by_device") val byDevice: List<GroupedStatsResponse>? = emptyList(), @Json(name = "by_operating_system") val byOperatingSystem: List<GroupedStatsResponse>? = emptyList(), @Json(name = "count_over_time") val countOverTime: ParticipantCountOverTimeResponse? = null, @Json(name = "publishers") val publishers: PublisherStatsResponse? = null, @Json(name = "subscribers") val subscribers: SubscriberStatsResponse? = null)
Link copied to clipboard
data class ParticipantSeriesPublisherStats(@Json(name = "global") val global: Map<String, List<List<Float>>>? = emptyMap(), @Json(name = "tracks") val tracks: Map<String, List<ParticipantSeriesTrackMetrics>>? = emptyMap())
Link copied to clipboard
data class ParticipantSeriesSubscriberStats(@Json(name = "subscriptions") val subscriptions: List<ParticipantSeriesSubscriptionTrackMetrics>? = emptyList(), @Json(name = "global") val global: Map<String, List<List<Float>>>? = emptyMap())
data class ParticipantSeriesSubscriptionTrackMetrics(@Json(name = "publisher_user_id") val publisherUserId: String, @Json(name = "publisher_name") val publisherName: String? = null, @Json(name = "publisher_user_session_id") val publisherUserSessionId: String? = null, @Json(name = "tracks") val tracks: Map<String, List<ParticipantSeriesTrackMetrics>>? = emptyMap())
Link copied to clipboard
data class ParticipantSeriesTimeframe(@Json(name = "max_points") val maxPoints: Int, @Json(name = "since") val since: OffsetDateTime, @Json(name = "step_seconds") val stepSeconds: Int, @Json(name = "until") val until: OffsetDateTime)
Link copied to clipboard
data class ParticipantSeriesTrackMetrics(@Json(name = "track_id") val trackId: String, @Json(name = "label") val label: String? = null, @Json(name = "track_type") val trackType: String? = null, @Json(name = "metrics") val metrics: Map<String, List<List<Float>>>? = emptyMap())
Link copied to clipboard
data class ParticipantSeriesUserStats(@Json(name = "metrics") val metrics: Map<String, List<List<Float>>>? = emptyMap())
Link copied to clipboard
data class PermissionRequestEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "permissions") val permissions: List<String> = emptyList(), @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a user requests access to a feature on a call,

Link copied to clipboard
data class PerSDKUsageReport(@Json(name = "total") val total: Int, @Json(name = "by_version") val byVersion: Map<String, Int> = emptyMap())
Link copied to clipboard
data class PinRequest(@Json(name = "session_id") val sessionId: String, @Json(name = "user_id") val userId: String)

PinRequest is the payload for pinning a message.

Link copied to clipboard
data class PinResponse(@Json(name = "duration") val duration: String)

Basic response information

Link copied to clipboard
data class PrivacySettings(@Json(name = "delivery_receipts") val deliveryReceipts: DeliveryReceipts? = null, @Json(name = "read_receipts") val readReceipts: ReadReceipts? = null, @Json(name = "typing_indicators") val typingIndicators: TypingIndicators? = null)
Link copied to clipboard
data class PublishedTrackFlags(@Json(name = "audio") val audio: Boolean, @Json(name = "screenshare") val screenshare: Boolean, @Json(name = "screenshare_audio") val screenshareAudio: Boolean, @Json(name = "video") val video: Boolean)
Link copied to clipboard
data class PublisherStatsResponse(@Json(name = "total") val total: Int, @Json(name = "unique") val unique: Int, @Json(name = "by_track") val byTrack: List<TrackStatsResponse>? = emptyList())
Link copied to clipboard
data class PushPreferences(@Json(name = "call_level") val callLevel: String? = null, @Json(name = "chat_level") val chatLevel: String? = null, @Json(name = "disabled_until") val disabledUntil: OffsetDateTime? = null, @Json(name = "feeds_level") val feedsLevel: String? = null, @Json(name = "feeds_preferences") val feedsPreferences: FeedsPreferences? = null)
Link copied to clipboard
data class QualityScoreReport(@Json(name = "histogram") val histogram: List<ReportByHistogramBucket> = emptyList())
Link copied to clipboard
data class QualityScoreReportResponse(@Json(name = "daily") val daily: List<DailyAggregateQualityScoreReportResponse> = emptyList())
Link copied to clipboard
data class QueryAggregateCallStatsRequest(@Json(name = "from") val from: String? = null, @Json(name = "to") val to: String? = null, @Json(name = "report_types") val reportTypes: List<String>? = emptyList())
Link copied to clipboard
data class QueryAggregateCallStatsResponse(@Json(name = "duration") val duration: String, @Json(name = "call_duration_report") val callDurationReport: CallDurationReportResponse? = null, @Json(name = "call_participant_count_report") val callParticipantCountReport: CallParticipantCountReportResponse? = null, @Json(name = "calls_per_day_report") val callsPerDayReport: CallsPerDayReportResponse? = null, @Json(name = "network_metrics_report") val networkMetricsReport: NetworkMetricsReportResponse? = null, @Json(name = "quality_score_report") val qualityScoreReport: QualityScoreReportResponse? = null, @Json(name = "sdk_usage_report") val sdkUsageReport: SDKUsageReportResponse? = null, @Json(name = "user_feedback_report") val userFeedbackReport: UserFeedbackReportResponse? = null)

Basic response information

Link copied to clipboard
data class QueryCallMembersRequest(@Json(name = "id") val id: String, @Json(name = "type") val type: String, @Json(name = "limit") val limit: Int? = null, @Json(name = "next") val next: String? = null, @Json(name = "prev") val prev: String? = null, @Json(name = "sort") val sort: List<SortParamRequest>? = emptyList(), @Json(name = "filter_conditions") val filterConditions: Map<String, Any?>? = emptyMap())
Link copied to clipboard
data class QueryCallMembersResponse(@Json(name = "duration") val duration: String, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "next") val next: String? = null, @Json(name = "prev") val prev: String? = null)

Basic response information

Link copied to clipboard
data class QueryCallParticipantsRequest(@Json(name = "filter_conditions") val filterConditions: Map<String, Any?>? = emptyMap())
Link copied to clipboard
data class QueryCallParticipantsResponse(@Json(name = "duration") val duration: String, @Json(name = "total_participants") val totalParticipants: Int, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "own_capabilities") val ownCapabilities: List<OwnCapability> = emptyList(), @Json(name = "participants") val participants: List<CallParticipantResponse> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "membership") val membership: MemberResponse? = null)
Link copied to clipboard
data class QueryCallSessionParticipantStatsResponse(@Json(name = "call_id") val callId: String, @Json(name = "call_session_id") val callSessionId: String, @Json(name = "call_type") val callType: String, @Json(name = "duration") val duration: String, @Json(name = "participants") val participants: List<CallStatsParticipant> = emptyList(), @Json(name = "counts") val counts: CallStatsParticipantCounts, @Json(name = "call_ended_at") val callEndedAt: OffsetDateTime? = null, @Json(name = "call_started_at") val callStartedAt: OffsetDateTime? = null, @Json(name = "next") val next: String? = null, @Json(name = "prev") val prev: String? = null, @Json(name = "tmp_data_source") val tmpDataSource: String? = null)

Basic response information

data class QueryCallSessionParticipantStatsTimelineResponse(@Json(name = "call_id") val callId: String, @Json(name = "call_session_id") val callSessionId: String, @Json(name = "call_type") val callType: String, @Json(name = "duration") val duration: String, @Json(name = "user_id") val userId: String, @Json(name = "user_session_id") val userSessionId: String, @Json(name = "events") val events: List<CallParticipantTimeline> = emptyList())

Basic response information

Link copied to clipboard
data class QueryCallsRequest(@Json(name = "limit") val limit: Int? = null, @Json(name = "next") val next: String? = null, @Json(name = "prev") val prev: String? = null, @Json(name = "watch") val watch: Boolean? = null, @Json(name = "sort") val sort: List<SortParamRequest>? = emptyList(), @Json(name = "filter_conditions") val filterConditions: Map<String, Any?>? = emptyMap())
Link copied to clipboard
data class QueryCallsResponse(@Json(name = "duration") val duration: String, @Json(name = "calls") val calls: List<CallStateResponseFields> = emptyList(), @Json(name = "next") val next: String? = null, @Json(name = "prev") val prev: String? = null)
Link copied to clipboard
data class QueryCallStatsRequest(@Json(name = "limit") val limit: Int? = null, @Json(name = "next") val next: String? = null, @Json(name = "prev") val prev: String? = null, @Json(name = "sort") val sort: List<SortParamRequest>? = emptyList(), @Json(name = "filter_conditions") val filterConditions: Map<String, Any?>? = emptyMap())
Link copied to clipboard
data class QueryCallStatsResponse(@Json(name = "duration") val duration: String, @Json(name = "reports") val reports: List<CallStatsReportSummaryResponse> = emptyList(), @Json(name = "next") val next: String? = null, @Json(name = "prev") val prev: String? = null)

Basic response information

Link copied to clipboard
data class ReactionResponse(@Json(name = "type") val type: String, @Json(name = "user") val user: UserResponse, @Json(name = "emoji_code") val emojiCode: String? = null, @Json(name = "custom") val custom: Map<String, Any?>? = emptyMap())
Link copied to clipboard
data class ReadReceipts(@Json(name = "enabled") val enabled: Boolean)
Link copied to clipboard
data class RecordSettingsRequest(@Json(name = "mode") val mode: RecordSettingsRequest.Mode, @Json(name = "audio_only") val audioOnly: Boolean? = null, @Json(name = "quality") val quality: RecordSettingsRequest.Quality? = null)
Link copied to clipboard
data class RecordSettingsResponse(@Json(name = "audio_only") val audioOnly: Boolean, @Json(name = "mode") val mode: String, @Json(name = "quality") val quality: String)

RecordSettings is the payload for recording settings

Link copied to clipboard
data class RejectCallRequest(@Json(name = "reason") val reason: String? = null)
Link copied to clipboard
data class RejectCallResponse(@Json(name = "duration") val duration: String)
Link copied to clipboard
data class ReportByHistogramBucket(@Json(name = "category") val category: String, @Json(name = "count") val count: Int, @Json(name = "sum") val sum: Float, @Json(name = "lower_bound") val lowerBound: Bound? = null, @Json(name = "upper_bound") val upperBound: Bound? = null)
Link copied to clipboard
data class ReportResponse(@Json(name = "call") val call: CallReportResponse, @Json(name = "participants") val participants: ParticipantReportResponse, @Json(name = "user_ratings") val userRatings: UserRatingReportResponse)
Link copied to clipboard
data class RequestPermissionRequest(@Json(name = "permissions") val permissions: List<String> = emptyList())
Link copied to clipboard
data class RequestPermissionResponse(@Json(name = "duration") val duration: String)
Link copied to clipboard
data class Response(@Json(name = "duration") val duration: String)

Basic response information

Link copied to clipboard
data class RingSettingsRequest(@Json(name = "auto_cancel_timeout_ms") val autoCancelTimeoutMs: Int, @Json(name = "incoming_call_timeout_ms") val incomingCallTimeoutMs: Int, @Json(name = "missed_call_timeout_ms") val missedCallTimeoutMs: Int? = null)
Link copied to clipboard
data class RingSettingsResponse(@Json(name = "auto_cancel_timeout_ms") val autoCancelTimeoutMs: Int, @Json(name = "incoming_call_timeout_ms") val incomingCallTimeoutMs: Int, @Json(name = "missed_call_timeout_ms") val missedCallTimeoutMs: Int)
Link copied to clipboard
data class RTMPBroadcastRequest(@Json(name = "name") val name: String, @Json(name = "stream_url") val streamUrl: String, @Json(name = "quality") val quality: RTMPBroadcastRequest.Quality? = null, @Json(name = "stream_key") val streamKey: String? = null, @Json(name = "layout") val layout: LayoutSettingsRequest? = null)

RTMPBroadcastRequest is the payload for starting an RTMP broadcast.

Link copied to clipboard
data class RTMPIngress(@Json(name = "address") val address: String)

RTMP input settings

Link copied to clipboard
data class RTMPSettingsRequest(@Json(name = "enabled") val enabled: Boolean? = null, @Json(name = "quality") val quality: RTMPSettingsRequest.Quality? = null)
Link copied to clipboard
data class RTMPSettingsResponse(@Json(name = "enabled") val enabled: Boolean, @Json(name = "quality") val quality: String)

RTMPSettingsResponse is the payload for RTMP settings

Link copied to clipboard
data class ScreensharingSettingsRequest(@Json(name = "access_request_enabled") val accessRequestEnabled: Boolean? = null, @Json(name = "enabled") val enabled: Boolean? = null, @Json(name = "target_resolution") val targetResolution: TargetResolution? = null)
Link copied to clipboard
data class ScreensharingSettingsResponse(@Json(name = "access_request_enabled") val accessRequestEnabled: Boolean, @Json(name = "enabled") val enabled: Boolean, @Json(name = "target_resolution") val targetResolution: TargetResolution? = null)
Link copied to clipboard
data class SDKUsageReport(@Json(name = "per_sdk_usage") val perSdkUsage: Map<String, PerSDKUsageReport> = emptyMap())
Link copied to clipboard
data class SDKUsageReportResponse(@Json(name = "daily") val daily: List<DailyAggregateSDKUsageReportResponse> = emptyList())
Link copied to clipboard
data class SendCallEventRequest(@Json(name = "custom") val custom: Map<String, Any?>? = emptyMap())

Send a call event to the other user

Link copied to clipboard
data class SendCallEventResponse(@Json(name = "duration") val duration: String)
Link copied to clipboard
data class SendReactionRequest(@Json(name = "type") val type: String, @Json(name = "emoji_code") val emojiCode: String? = null, @Json(name = "custom") val custom: Map<String, Any?>? = emptyMap())
Link copied to clipboard
data class SendReactionResponse(@Json(name = "duration") val duration: String, @Json(name = "reaction") val reaction: ReactionResponse)

Basic response information

Link copied to clipboard
data class SessionSettingsRequest(@Json(name = "inactivity_timeout_seconds") val inactivityTimeoutSeconds: Int)
Link copied to clipboard
data class SessionSettingsResponse(@Json(name = "inactivity_timeout_seconds") val inactivityTimeoutSeconds: Int)
Link copied to clipboard
data class SFUResponse(@Json(name = "edge_name") val edgeName: String, @Json(name = "url") val url: String, @Json(name = "ws_endpoint") val wsEndpoint: String)
Link copied to clipboard
data class SortParamRequest(@Json(name = "direction") val direction: Int? = null, @Json(name = "field") val field: String? = null)
Link copied to clipboard
data class SpeechSegmentConfig(@Json(name = "max_speech_caption_ms") val maxSpeechCaptionMs: Int? = null, @Json(name = "silence_duration_ms") val silenceDurationMs: Int? = null)
Link copied to clipboard
data class SRTIngress(@Json(name = "address") val address: String)
Link copied to clipboard
data class StartClosedCaptionsRequest(@Json(name = "enable_transcription") val enableTranscription: Boolean? = null, @Json(name = "external_storage") val externalStorage: String? = null, @Json(name = "language") val language: StartClosedCaptionsRequest.Language? = null, @Json(name = "speech_segment_config") val speechSegmentConfig: SpeechSegmentConfig? = null)
Link copied to clipboard
data class StartClosedCaptionsResponse(@Json(name = "duration") val duration: String)
Link copied to clipboard
data class StartFrameRecordingRequest(@Json(name = "recording_external_storage") val recordingExternalStorage: String? = null)
Link copied to clipboard
data class StartFrameRecordingResponse(@Json(name = "duration") val duration: String)

StartFrameRecordingResponse is the response payload for the start frame recording endpoint.

Link copied to clipboard
data class StartHLSBroadcastingResponse(@Json(name = "duration") val duration: String, @Json(name = "playlist_url") val playlistUrl: String)

StartHLSBroadcastingResponse is the payload for starting an HLS broadcasting.

Link copied to clipboard
data class StartRecordingRequest(@Json(name = "recording_external_storage") val recordingExternalStorage: String? = null)
Link copied to clipboard
data class StartRecordingResponse(@Json(name = "duration") val duration: String)

StartRecordingResponse is the response payload for the start recording endpoint.

Link copied to clipboard
data class StartRTMPBroadcastsRequest(@Json(name = "broadcasts") val broadcasts: List<RTMPBroadcastRequest> = emptyList())

StartRTMPBroadcastsRequest is the payload for starting RTMP broadcasts.

Link copied to clipboard
data class StartRTMPBroadcastsResponse(@Json(name = "duration") val duration: String)

StartRTMPBroadcastsResponse is the payload for starting an RTMP broadcast.

Link copied to clipboard
data class StartTranscriptionRequest(@Json(name = "enable_closed_captions") val enableClosedCaptions: Boolean? = null, @Json(name = "language") val language: StartTranscriptionRequest.Language? = null, @Json(name = "transcription_external_storage") val transcriptionExternalStorage: String? = null)
Link copied to clipboard
data class StartTranscriptionResponse(@Json(name = "duration") val duration: String)
Link copied to clipboard
data class StatsOptions(@Json(name = "enable_rtc_stats") val enableRtcStats: Boolean, @Json(name = "reporting_interval_ms") val reportingIntervalMs: Int)
Link copied to clipboard
data class StopAllRTMPBroadcastsResponse(@Json(name = "duration") val duration: String)
Link copied to clipboard
data class StopClosedCaptionsRequest(@Json(name = "stop_transcription") val stopTranscription: Boolean? = null)
Link copied to clipboard
data class StopClosedCaptionsResponse(@Json(name = "duration") val duration: String)

Basic response information

Link copied to clipboard
data class StopFrameRecordingResponse(@Json(name = "duration") val duration: String)

Basic response information

Link copied to clipboard
data class StopHLSBroadcastingResponse(@Json(name = "duration") val duration: String)

Basic response information

Link copied to clipboard
data class StopLiveRequest(@Json(name = "continue_closed_caption") val continueClosedCaption: Boolean? = null, @Json(name = "continue_hls") val continueHls: Boolean? = null, @Json(name = "continue_recording") val continueRecording: Boolean? = null, @Json(name = "continue_rtmp_broadcasts") val continueRtmpBroadcasts: Boolean? = null, @Json(name = "continue_transcription") val continueTranscription: Boolean? = null)
Link copied to clipboard
data class StopLiveResponse(@Json(name = "duration") val duration: String, @Json(name = "call") val call: CallResponse)
Link copied to clipboard
data class StopRecordingResponse(@Json(name = "duration") val duration: String)

Basic response information

Link copied to clipboard
data class StopRTMPBroadcastsResponse(@Json(name = "duration") val duration: String)

Basic response information

Link copied to clipboard
data class StopTranscriptionRequest(@Json(name = "stop_closed_captions") val stopClosedCaptions: Boolean? = null)
Link copied to clipboard
data class StopTranscriptionResponse(@Json(name = "duration") val duration: String)

Basic response information

Link copied to clipboard
data class SubscriberStatsResponse(@Json(name = "total") val total: Int, @Json(name = "total_subscribed_duration_seconds") val totalSubscribedDurationSeconds: Int, @Json(name = "unique") val unique: Int)
Link copied to clipboard
data class TargetResolution(@Json(name = "height") val height: Int, @Json(name = "width") val width: Int, @Json(name = "bitrate") val bitrate: Int? = null)
Link copied to clipboard
data class ThumbnailResponse(@Json(name = "image_url") val imageUrl: String)
Link copied to clipboard
data class ThumbnailsSettingsRequest(@Json(name = "enabled") val enabled: Boolean? = null)
Link copied to clipboard
data class ThumbnailsSettingsResponse(@Json(name = "enabled") val enabled: Boolean)
Link copied to clipboard
data class TrackStatsResponse(@Json(name = "duration_seconds") val durationSeconds: Int, @Json(name = "track_type") val trackType: String)
Link copied to clipboard
data class TranscriptionSettingsRequest(@Json(name = "closed_caption_mode") val closedCaptionMode: TranscriptionSettingsRequest.ClosedCaptionMode? = null, @Json(name = "language") val language: TranscriptionSettingsRequest.Language? = null, @Json(name = "mode") val mode: TranscriptionSettingsRequest.Mode? = null, @Json(name = "speech_segment_config") val speechSegmentConfig: SpeechSegmentConfig? = null, @Json(name = "translation") val translation: TranslationSettings? = null)
Link copied to clipboard
data class TranscriptionSettingsResponse(@Json(name = "closed_caption_mode") val closedCaptionMode: TranscriptionSettingsResponse.ClosedCaptionMode, @Json(name = "language") val language: TranscriptionSettingsResponse.Language, @Json(name = "mode") val mode: TranscriptionSettingsResponse.Mode, @Json(name = "speech_segment_config") val speechSegmentConfig: SpeechSegmentConfig? = null, @Json(name = "translation") val translation: TranslationSettings? = null)
Link copied to clipboard
data class TranslationSettings(@Json(name = "enabled") val enabled: Boolean? = null, @Json(name = "languages") val languages: List<String>? = emptyList())
Link copied to clipboard
data class TypingIndicators(@Json(name = "enabled") val enabled: Boolean)
Link copied to clipboard
data class UnblockedUserEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent when a user is unblocked on a call,

Link copied to clipboard
data class UnblockUserRequest(@Json(name = "user_id") val userId: String)

UnblockUserRequest is the payload for unblocking a user.

Link copied to clipboard
data class UnblockUserResponse(@Json(name = "duration") val duration: String)

UnblockUserResponse is the payload for unblocking a user.

Link copied to clipboard
data class UnpinRequest(@Json(name = "session_id") val sessionId: String, @Json(name = "user_id") val userId: String)

UnpinRequest is the payload for unpinning a message.

Link copied to clipboard
data class UnpinResponse(@Json(name = "duration") val duration: String)

UnpinResponse is the payload for unpinning a message.

Link copied to clipboard
Link copied to clipboard
data class UpdateCallMembersRequest(@Json(name = "remove_members") val removeMembers: List<String>? = emptyList(), @Json(name = "update_members") val updateMembers: List<MemberRequest>? = emptyList())

Update call members

Link copied to clipboard
data class UpdateCallMembersResponse(@Json(name = "duration") val duration: String, @Json(name = "members") val members: List<MemberResponse> = emptyList())

Basic response information

Link copied to clipboard
data class UpdateCallRequest(@Json(name = "starts_at") val startsAt: OffsetDateTime? = null, @Json(name = "custom") val custom: Map<String, Any?>? = emptyMap(), @Json(name = "settings_override") val settingsOverride: CallSettingsRequest? = null)

Request for updating a call

Link copied to clipboard
data class UpdateCallResponse(@Json(name = "duration") val duration: String, @Json(name = "members") val members: List<MemberResponse> = emptyList(), @Json(name = "own_capabilities") val ownCapabilities: List<OwnCapability> = emptyList(), @Json(name = "call") val call: CallResponse, @Json(name = "membership") val membership: MemberResponse? = null)

Response for updating a call

Link copied to clipboard
data class UpdatedCallPermissionsEvent(@Json(name = "call_cid") val callCid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "own_capabilities") val ownCapabilities: List<OwnCapability> = emptyList(), @Json(name = "user") val user: UserResponse, @Json(name = "type") val type: String) : VideoEvent, WSCallEvent

This event is sent to notify about permission changes for a user, clients receiving this event should update their UI accordingly

Link copied to clipboard
data class UpdateUserPermissionsRequest(@Json(name = "user_id") val userId: String, @Json(name = "grant_permissions") val grantPermissions: List<String>? = emptyList(), @Json(name = "revoke_permissions") val revokePermissions: List<String>? = emptyList())
Link copied to clipboard
data class UpdateUserPermissionsResponse(@Json(name = "duration") val duration: String)

Basic response information

Link copied to clipboard
data class User(@Json(name = "banned") val banned: Boolean, @Json(name = "id") val id: String, @Json(name = "online") val online: Boolean, @Json(name = "role") val role: String, @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "teams_role") val teamsRole: Map<String, String> = emptyMap(), @Json(name = "avg_response_time") val avgResponseTime: Int? = null, @Json(name = "ban_expires") val banExpires: OffsetDateTime? = null, @Json(name = "created_at") val createdAt: OffsetDateTime? = null, @Json(name = "deactivated_at") val deactivatedAt: OffsetDateTime? = null, @Json(name = "deleted_at") val deletedAt: OffsetDateTime? = null, @Json(name = "invisible") val invisible: Boolean? = null, @Json(name = "language") val language: String? = null, @Json(name = "last_active") val lastActive: OffsetDateTime? = null, @Json(name = "last_engaged_at") val lastEngagedAt: OffsetDateTime? = null, @Json(name = "revoke_tokens_issued_before") val revokeTokensIssuedBefore: OffsetDateTime? = null, @Json(name = "updated_at") val updatedAt: OffsetDateTime? = null, @Json(name = "teams") val teams: List<String>? = emptyList())
Link copied to clipboard
data class UserBannedEvent(@Json(name = "channel_id") val channelId: String, @Json(name = "channel_type") val channelType: String, @Json(name = "cid") val cid: String, @Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "shadow") val shadow: Boolean, @Json(name = "created_by") val createdBy: User, @Json(name = "type") val type: String, @Json(name = "expiration") val expiration: OffsetDateTime? = null, @Json(name = "reason") val reason: String? = null, @Json(name = "team") val team: String? = null, @Json(name = "user") val user: User? = null) : VideoEvent
Link copied to clipboard
data class UserDeactivatedEvent(@Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "created_by") val createdBy: User, @Json(name = "type") val type: String, @Json(name = "user") val user: User? = null) : VideoEvent
Link copied to clipboard
data class UserFeedbackReport(@Json(name = "unreported_count") val unreportedCount: Int, @Json(name = "count_by_rating") val countByRating: Map<String, Int> = emptyMap())
Link copied to clipboard
data class UserFeedbackReportResponse(@Json(name = "daily") val daily: List<DailyAggregateUserFeedbackReportResponse> = emptyList())
Link copied to clipboard
data class UserMutedEvent(@Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "type") val type: String, @Json(name = "target_user") val targetUser: String? = null, @Json(name = "target_users") val targetUsers: List<String>? = emptyList(), @Json(name = "user") val user: User? = null) : VideoEvent
Link copied to clipboard
data class UserRatingReportResponse(@Json(name = "average") val average: Float, @Json(name = "count") val count: Int)
Link copied to clipboard
data class UserReactivatedEvent(@Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "type") val type: String, @Json(name = "user") val user: User? = null) : VideoEvent
Link copied to clipboard
data class UserRequest(@Json(name = "id") val id: String, @Json(name = "image") val image: String? = null, @Json(name = "invisible") val invisible: Boolean? = null, @Json(name = "language") val language: String? = null, @Json(name = "name") val name: String? = null, @Json(name = "custom") val custom: Map<String, Any?>? = emptyMap())

User request object

Link copied to clipboard
data class UserResponse(@Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "id") val id: String, @Json(name = "language") val language: String, @Json(name = "role") val role: String, @Json(name = "updated_at") val updatedAt: OffsetDateTime, @Json(name = "blocked_user_ids") val blockedUserIds: List<String> = emptyList(), @Json(name = "teams") val teams: List<String> = emptyList(), @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "avg_response_time") val avgResponseTime: Int? = null, @Json(name = "deactivated_at") val deactivatedAt: OffsetDateTime? = null, @Json(name = "deleted_at") val deletedAt: OffsetDateTime? = null, @Json(name = "image") val image: String? = null, @Json(name = "last_active") val lastActive: OffsetDateTime? = null, @Json(name = "name") val name: String? = null, @Json(name = "revoke_tokens_issued_before") val revokeTokensIssuedBefore: OffsetDateTime? = null, @Json(name = "teams_role") val teamsRole: Map<String, String>? = emptyMap())

User response object

Link copied to clipboard
data class UserResponsePrivacyFields(@Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "id") val id: String, @Json(name = "language") val language: String, @Json(name = "role") val role: String, @Json(name = "updated_at") val updatedAt: OffsetDateTime, @Json(name = "blocked_user_ids") val blockedUserIds: List<String> = emptyList(), @Json(name = "teams") val teams: List<String> = emptyList(), @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "avg_response_time") val avgResponseTime: Int? = null, @Json(name = "deactivated_at") val deactivatedAt: OffsetDateTime? = null, @Json(name = "deleted_at") val deletedAt: OffsetDateTime? = null, @Json(name = "image") val image: String? = null, @Json(name = "invisible") val invisible: Boolean? = null, @Json(name = "last_active") val lastActive: OffsetDateTime? = null, @Json(name = "name") val name: String? = null, @Json(name = "revoke_tokens_issued_before") val revokeTokensIssuedBefore: OffsetDateTime? = null, @Json(name = "teams_role") val teamsRole: Map<String, String>? = emptyMap())
Link copied to clipboard
data class UserUpdatedEvent(@Json(name = "created_at") val createdAt: OffsetDateTime, @Json(name = "custom") val custom: Map<String, Any?> = emptyMap(), @Json(name = "user") val user: UserResponsePrivacyFields, @Json(name = "type") val type: String, @Json(name = "received_at") val receivedAt: OffsetDateTime? = null) : VideoEvent

This event is sent when a user gets updated. The event contains information about the updated user.

Link copied to clipboard
abstract class VideoEvent
Link copied to clipboard
class VideoEventAdapter : JsonAdapter<VideoEvent>
Link copied to clipboard
data class VideoReactionOverTimeResponse(@Json(name = "by_minute") val byMinute: List<CountByMinuteResponse>? = emptyList())
Link copied to clipboard
data class VideoReactionsResponse(@Json(name = "reaction") val reaction: String, @Json(name = "count_over_time") val countOverTime: VideoReactionOverTimeResponse? = null)
Link copied to clipboard
data class VideoSettingsRequest(@Json(name = "access_request_enabled") val accessRequestEnabled: Boolean? = null, @Json(name = "camera_default_on") val cameraDefaultOn: Boolean? = null, @Json(name = "camera_facing") val cameraFacing: VideoSettingsRequest.CameraFacing? = null, @Json(name = "enabled") val enabled: Boolean? = null, @Json(name = "target_resolution") val targetResolution: TargetResolution? = null)
Link copied to clipboard
data class VideoSettingsResponse(@Json(name = "access_request_enabled") val accessRequestEnabled: Boolean, @Json(name = "camera_default_on") val cameraDefaultOn: Boolean, @Json(name = "camera_facing") val cameraFacing: VideoSettingsResponse.CameraFacing, @Json(name = "enabled") val enabled: Boolean, @Json(name = "target_resolution") val targetResolution: TargetResolution)
Link copied to clipboard
data class WHIPIngress(@Json(name = "address") val address: String)
Link copied to clipboard
data class WSAuthMessage(@Json(name = "token") val token: String, @Json(name = "user_details") val userDetails: ConnectUserDetailsRequest, @Json(name = "products") val products: List<String>? = emptyList())

Websocket auth message

Link copied to clipboard
data class WSAuthMessageRequest(@Json(name = "token") val token: String, @Json(name = "user_details") val userDetails: ConnectUserDetailsRequest) : VideoEvent
Link copied to clipboard
sealed interface WSCallEvent
Link copied to clipboard
sealed interface WSClientEvent