Interface ILiveKitRoomService
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
requestCreateRoomRequestcancellationTokenCancellationToken
Returns
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
requestDeleteRoomRequestcancellationTokenCancellationToken
Returns
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
requestForwardParticipantRequestcancellationTokenCancellationToken
Returns
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
requestRoomParticipantIdentitycancellationTokenCancellationToken
Returns
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
requestListParticipantsRequestcancellationTokenCancellationToken
Returns
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
requestListRoomsRequestcancellationTokenCancellationToken
Returns
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
requestMoveParticipantRequestcancellationTokenCancellationToken
Returns
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
requestMuteRoomTrackRequestcancellationTokenCancellationToken
Returns
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
requestPerformRpcRequestcancellationTokenCancellationToken
Returns
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
requestRoomParticipantIdentitycancellationTokenCancellationToken
Returns
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
requestSendDataRequestcancellationTokenCancellationToken
Returns
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
requestUpdateParticipantRequestcancellationTokenCancellationToken
Returns
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
requestUpdateRoomMetadataRequestcancellationTokenCancellationToken
Returns
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
requestUpdateSubscriptionsRequestcancellationTokenCancellationToken
Returns
Exceptions
- LiveKitApiException
Thrown when the server returns a non-success HTTP status code.