Table of Contents

Interface ILiveKitRoomService

Namespace
LiveKit.Services
Assembly
LiveKit.AspNetCore.ServerSdk.Abstractions.dll

Service for managing LiveKit rooms and participants.

Provides methods for room creation, participant management, and room operations. See LiveKit Room Service Documentation for more information.

public interface ILiveKitRoomService

Methods

CreateRoomAsync(CreateRoomRequest, CancellationToken)

Creates a room with settings. Requires roomCreate permission. This method is optional; rooms are automatically created when clients connect to them for the first time.

Task<Room> CreateRoomAsync(CreateRoomRequest request, CancellationToken cancellationToken = default)

Parameters

request CreateRoomRequest
cancellationToken CancellationToken

Returns

Task<Room>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

DeleteRoomAsync(DeleteRoomRequest, CancellationToken)

Deletes an existing room by name or id. Requires roomCreate permission. DeleteRoom will disconnect all participants that are currently in the room.

Task<DeleteRoomResponse> DeleteRoomAsync(DeleteRoomRequest request, CancellationToken cancellationToken = default)

Parameters

request DeleteRoomRequest
cancellationToken CancellationToken

Returns

Task<DeleteRoomResponse>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

ForwardParticipantAsync(ForwardParticipantRequest, CancellationToken)

Cloud-only: Forwards a connected participant's track(s) to another room. Requires roomAdmin and destinationRoom permissions. The forwarding will stop when the participant leaves the room or RemoveParticipant has been called in the destination room.

Task<ForwardParticipantResponse> ForwardParticipantAsync(ForwardParticipantRequest request, CancellationToken cancellationToken = default)

Parameters

request ForwardParticipantRequest
cancellationToken CancellationToken

Returns

Task<ForwardParticipantResponse>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

GetParticipantAsync(RoomParticipantIdentity, CancellationToken)

Gets information on a specific participant. Requires roomAdmin permission.

Task<ParticipantInfo> GetParticipantAsync(RoomParticipantIdentity request, CancellationToken cancellationToken = default)

Parameters

request RoomParticipantIdentity
cancellationToken CancellationToken

Returns

Task<ParticipantInfo>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

ListParticipantsAsync(ListParticipantsRequest, CancellationToken)

Lists participants in a room. Requires roomAdmin permission.

Task<ListParticipantsResponse> ListParticipantsAsync(ListParticipantsRequest request, CancellationToken cancellationToken = default)

Parameters

request ListParticipantsRequest
cancellationToken CancellationToken

Returns

Task<ListParticipantsResponse>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

ListRoomsAsync(ListRoomsRequest, CancellationToken)

Lists rooms that are active on the server. Requires roomList permission.

Task<ListRoomsResponse> ListRoomsAsync(ListRoomsRequest request, CancellationToken cancellationToken = default)

Parameters

request ListRoomsRequest
cancellationToken CancellationToken

Returns

Task<ListRoomsResponse>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

MoveParticipantAsync(MoveParticipantRequest, CancellationToken)

Cloud-only: Moves a connected participant to a different room. Requires roomAdmin and destinationRoom permissions. The participant will be removed from the current room and added to the destination room.

Task<MoveParticipantResponse> MoveParticipantAsync(MoveParticipantRequest request, CancellationToken cancellationToken = default)

Parameters

request MoveParticipantRequest
cancellationToken CancellationToken

Returns

Task<MoveParticipantResponse>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

MutePublishedTrackAsync(MuteRoomTrackRequest, CancellationToken)

Mutes or unmutes a participant's track. Requires roomAdmin permission.

Task<MuteRoomTrackResponse> MutePublishedTrackAsync(MuteRoomTrackRequest request, CancellationToken cancellationToken = default)

Parameters

request MuteRoomTrackRequest
cancellationToken CancellationToken

Returns

Task<MuteRoomTrackResponse>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

PerformRpcAsync(PerformRpcRequest, CancellationToken)

Performs an RPC call to a participant.

Task<PerformRpcResponse> PerformRpcAsync(PerformRpcRequest request, CancellationToken cancellationToken = default)

Parameters

request PerformRpcRequest
cancellationToken CancellationToken

Returns

Task<PerformRpcResponse>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

RemoveParticipantAsync(RoomParticipantIdentity, CancellationToken)

Removes a participant from room. Requires roomAdmin permission.

Task<RemoveParticipantResponse> RemoveParticipantAsync(RoomParticipantIdentity request, CancellationToken cancellationToken = default)

Parameters

request RoomParticipantIdentity
cancellationToken CancellationToken

Returns

Task<RemoveParticipantResponse>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

SendDataAsync(SendDataRequest, CancellationToken)

Sends data over data channel to participants in a room. Requires roomAdmin permission.

Task<SendDataResponse> SendDataAsync(SendDataRequest request, CancellationToken cancellationToken = default)

Parameters

request SendDataRequest
cancellationToken CancellationToken

Returns

Task<SendDataResponse>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

UpdateParticipantAsync(UpdateParticipantRequest, CancellationToken)

Updates participant metadata. Will cause updates to be broadcasted to everyone in the room. Requires roomAdmin permission.

Task<ParticipantInfo> UpdateParticipantAsync(UpdateParticipantRequest request, CancellationToken cancellationToken = default)

Parameters

request UpdateParticipantRequest
cancellationToken CancellationToken

Returns

Task<ParticipantInfo>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

UpdateRoomMetadataAsync(UpdateRoomMetadataRequest, CancellationToken)

Updates room metadata. Will cause updates to be broadcasted to everyone in the room. Requires roomAdmin permission.

Task<Room> UpdateRoomMetadataAsync(UpdateRoomMetadataRequest request, CancellationToken cancellationToken = default)

Parameters

request UpdateRoomMetadataRequest
cancellationToken CancellationToken

Returns

Task<Room>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.

UpdateSubscriptionsAsync(UpdateSubscriptionsRequest, CancellationToken)

Subscribes or unsubscribes a participant from tracks. Requires roomAdmin permission.

Task<UpdateSubscriptionsResponse> UpdateSubscriptionsAsync(UpdateSubscriptionsRequest request, CancellationToken cancellationToken = default)

Parameters

request UpdateSubscriptionsRequest
cancellationToken CancellationToken

Returns

Task<UpdateSubscriptionsResponse>

Exceptions

LiveKitApiException

Thrown when the server returns a non-success HTTP status code.