ProductvideoApi

interface ProductvideoApi

Functions

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/accept")
abstract suspend fun acceptCall(@Path(value = "type") type: String, @Path(value = "id") id: String): AcceptCallResponse

Accept Call Sends events: - call.accepted Required permissions: - JoinCall Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/block")
abstract suspend fun blockUser(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body blockUserRequest: BlockUserRequest): BlockUserResponse

Block user on a call Block a user, preventing them from joining the call until they are unblocked. Sends events: - call.blocked_user Required permissions: - BlockUser Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/feedback/{session}")
abstract suspend fun collectUserFeedback(@Path(value = "type") type: String, @Path(value = "id") id: String, @Path(value = "session") session: String, @Body collectUserFeedbackRequest: CollectUserFeedbackRequest): CollectUserFeedbackResponse

Collect user feedback Required permissions: - JoinCall Responses:

Link copied to clipboard
@POST(value = "/video/devices")
abstract suspend fun createDevice(@Body createDeviceRequest: CreateDeviceRequest): Response

Create device Adds a new device to a user, if the same device already exists the call will have no effect Responses:

Link copied to clipboard
@POST(value = "/video/guest")
abstract suspend fun createGuest(@Body createGuestRequest: CreateGuestRequest): CreateGuestResponse

Create Guest

Link copied to clipboard
@DELETE(value = "/video/devices")
abstract suspend fun deleteDevice(@Query(value = "id") id: String, @Query(value = "user_id") userId: String? = null): Response

Delete device Deletes one device Responses:

Link copied to clipboard
@DELETE(value = "/video/call/{type}/{id}/{session}/recordings/{filename}")
abstract suspend fun deleteRecording(@Path(value = "type") type: String, @Path(value = "id") id: String, @Path(value = "session") session: String, @Path(value = "filename") filename: String): DeleteRecordingResponse

Delete recording Deletes recording Required permissions: - DeleteRecording Responses:

Link copied to clipboard
@DELETE(value = "/video/call/{type}/{id}/{session}/transcriptions/{filename}")
abstract suspend fun deleteTranscription(@Path(value = "type") type: String, @Path(value = "id") id: String, @Path(value = "session") session: String, @Path(value = "filename") filename: String): DeleteTranscriptionResponse

Delete transcription Deletes transcription Required permissions: - DeleteTranscription Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/mark_ended")
abstract suspend fun endCall(@Path(value = "type") type: String, @Path(value = "id") id: String): EndCallResponse

End call Sends events: - call.ended Required permissions: - EndCall Responses:

Link copied to clipboard
@GET(value = "/video/call/{type}/{id}")
abstract suspend fun getCall(@Path(value = "type") type: String, @Path(value = "id") id: String, @Query(value = "connection_id") connectionId: String? = null, @Query(value = "members_limit") membersLimit: Int? = null, @Query(value = "ring") ring: Boolean? = null, @Query(value = "notify") notify: Boolean? = null): GetCallResponse

Get Call Required permissions: - ReadCall Responses:

Link copied to clipboard
@GET(value = "/video/call/{type}/{id}/stats/{session}")
abstract suspend fun getCallStats(@Path(value = "type") type: String, @Path(value = "id") id: String, @Path(value = "session") session: String): GetCallStatsResponse

Get Call Stats Required permissions: - ReadCallStats Responses:

Link copied to clipboard
@GET(value = "/video/edges")
abstract suspend fun getEdges(): GetEdgesResponse

Get Edges Returns the list of all edges available for video calls. Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}")
abstract suspend fun getOrCreateCall(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body getOrCreateCallRequest: GetOrCreateCallRequest, @Query(value = "connection_id") connectionId: String? = null): GetOrCreateCallResponse

Get or create a call Gets or creates a new call Sends events: - call.created - call.notification - call.ring Required permissions: - CreateCall - ReadCall - UpdateCallSettings Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/go_live")
abstract suspend fun goLive(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body goLiveRequest: GoLiveRequest): GoLiveResponse

Set call as live Sends events: - call.live_started Required permissions: - UpdateCall Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/join")
abstract suspend fun joinCall(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body joinCallRequest: JoinCallRequest, @Query(value = "connection_id") connectionId: String? = null): JoinCallResponse

Join call Request to join a call Required permissions: - CreateCall - JoinCall Responses:

Link copied to clipboard
@GET(value = "/video/devices")
abstract suspend fun listDevices(@Query(value = "user_id") userId: String? = null): ListDevicesResponse

List devices Returns all available devices Responses:

Link copied to clipboard
@GET(value = "/video/call/{type}/{id}/recordings")
abstract suspend fun listRecordings(@Path(value = "type") type: String, @Path(value = "id") id: String): ListRecordingsResponse

List recordings Lists recordings Required permissions: - ListRecordings Responses:

Link copied to clipboard
@GET(value = "/video/call/{type}/{id}/transcriptions")
abstract suspend fun listTranscriptions(@Path(value = "type") type: String, @Path(value = "id") id: String): ListTranscriptionsResponse

List transcriptions Lists transcriptions Required permissions: - ListTranscriptions Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/mute_users")
abstract suspend fun muteUsers(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body muteUsersRequest: MuteUsersRequest): MuteUsersResponse

Mute users Mutes users in a call Required permissions: - MuteUsers Responses:

Link copied to clipboard
@POST(value = "/video/call/members")
abstract suspend fun queryCallMembers(@Body queryCallMembersRequest: QueryCallMembersRequest): QueryCallMembersResponse

Query call members Query call members with filter query Required permissions: - ReadCall Responses:

Link copied to clipboard
@POST(value = "/video/calls")
abstract suspend fun queryCalls(@Body queryCallsRequest: QueryCallsRequest, @Query(value = "connection_id") connectionId: String? = null): QueryCallsResponse

Query call Query calls with filter query Required permissions: - ReadCall Responses:

Link copied to clipboard
@POST(value = "/video/call/stats")
abstract suspend fun queryCallStats(@Body queryCallStatsRequest: QueryCallStatsRequest): QueryCallStatsResponse

Query Call Stats Required permissions: - ReadCallStats Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/reject")
abstract suspend fun rejectCall(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body rejectCallRequest: RejectCallRequest): RejectCallResponse

Reject Call Sends events: - call.rejected Required permissions: - JoinCall Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/request_permission")
abstract suspend fun requestPermission(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body requestPermissionRequest: RequestPermissionRequest): RequestPermissionResponse

Request permission Request permission to perform an action Sends events: - call.permission_request Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/event")
abstract suspend fun sendCallEvent(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body sendCallEventRequest: SendCallEventRequest): SendCallEventResponse

Send custom event Sends custom event to the call Sends events: - custom Required permissions: - SendEvent Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/reaction")
abstract suspend fun sendVideoReaction(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body sendReactionRequest: SendReactionRequest): SendReactionResponse

Send reaction to the call Sends reaction to the call Sends events: - call.reaction_new Required permissions: - CreateCallReaction Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/start_broadcasting")
abstract suspend fun startHLSBroadcasting(@Path(value = "type") type: String, @Path(value = "id") id: String): StartHLSBroadcastingResponse

Start HLS broadcasting Starts HLS broadcasting Required permissions: - StartBroadcasting Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/start_recording")
abstract suspend fun startRecording(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body startRecordingRequest: StartRecordingRequest): StartRecordingResponse

Start recording Starts recording Sends events: - call.recording_started Required permissions: - StartRecording Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/start_transcription")
abstract suspend fun startTranscription(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body startTranscriptionRequest: StartTranscriptionRequest): StartTranscriptionResponse

Start transcription Starts transcription Required permissions: - StartTranscription Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/stop_broadcasting")
abstract suspend fun stopHLSBroadcasting(@Path(value = "type") type: String, @Path(value = "id") id: String): StopHLSBroadcastingResponse

Stop HLS broadcasting Stops HLS broadcasting Required permissions: - StopBroadcasting Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/stop_live")
abstract suspend fun stopLive(@Path(value = "type") type: String, @Path(value = "id") id: String): StopLiveResponse

Set call as not live Sends events: - call.updated Required permissions: - UpdateCall Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/stop_recording")
abstract suspend fun stopRecording(@Path(value = "type") type: String, @Path(value = "id") id: String): StopRecordingResponse

Stop recording Stops recording Sends events: - call.recording_stopped Required permissions: - StopRecording Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/stop_transcription")
abstract suspend fun stopTranscription(@Path(value = "type") type: String, @Path(value = "id") id: String): StopTranscriptionResponse

Stop transcription Stops transcription Sends events: - call.transcription_stopped Required permissions: - StopTranscription Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/unblock")
abstract suspend fun unblockUser(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body unblockUserRequest: UnblockUserRequest): UnblockUserResponse

Unblocks user on a call Removes the block for a user on a call. The user will be able to join the call again. Sends events: - call.unblocked_user Required permissions: - BlockUser Responses:

Link copied to clipboard
@PATCH(value = "/video/call/{type}/{id}")
abstract suspend fun updateCall(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body updateCallRequest: UpdateCallRequest): UpdateCallResponse

Update Call Sends events: - call.updated Required permissions: - UpdateCall Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/members")
abstract suspend fun updateCallMembers(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body updateCallMembersRequest: UpdateCallMembersRequest): UpdateCallMembersResponse

Update Call Member Sends events: - call.member_added - call.member_removed - call.member_updated Required permissions: - RemoveCallMember - UpdateCallMember - UpdateCallMemberRole Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/user_permissions")
abstract suspend fun updateUserPermissions(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body updateUserPermissionsRequest: UpdateUserPermissionsRequest): UpdateUserPermissionsResponse

Update user permissions Updates user permissions Sends events: - call.permissions_updated Required permissions: - UpdateCallPermissions Responses:

Link copied to clipboard
@GET(value = "/video/longpoll")
abstract suspend fun videoConnect()

Video Connect (WebSocket) Establishes WebSocket connection for user to video Sends events: - connection.ok - health.check Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/pin")
abstract suspend fun videoPin(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body pinRequest: PinRequest): PinResponse

Pin Pins a track for all users in the call. Required permissions: - PinCallTrack Responses:

Link copied to clipboard
@POST(value = "/video/call/{type}/{id}/unpin")
abstract suspend fun videoUnpin(@Path(value = "type") type: String, @Path(value = "id") id: String, @Body unpinRequest: UnpinRequest): UnpinResponse

Unpin Unpins a track for all users in the call. Required permissions: - PinCallTrack Responses: