Skip to main content

Managing rooms

Create, list, and delete Rooms from your backend server.

Initialize RoomServiceClient

Room management is done with a RoomServiceClient, created like so:

import (
lksdk "github.com/livekit/server-sdk-go"
livekit "github.com/livekit/protocol/livekit"
)
// ...
host := "https://my.livekit.host"
roomClient := lksdk.NewRoomServiceClient(host, "api-key", "secret-key")
pip install livekit-api
from livekit.api import LiveKitAPI
# Will read LIVEKIT_URL, LIVEKIT_API_KEY, and LIVEKIT_API_SECRET from environment variables
async with api.LiveKitAPI() as lkapi:
# ... use your client with `lkapi.room` ...
import { Room, RoomServiceClient } from 'livekit-server-sdk';
const livekitHost = 'https://my.livekit.host';
const roomService = new RoomServiceClient(livekitHost, 'api-key', 'secret-key');

Create a room

room, _ := roomClient.CreateRoom(context.Background(), &livekit.CreateRoomRequest{
Name: "myroom",
EmptyTimeout: 10 * 60, // 10 minutes
MaxParticipants: 20,
})
from livekit.api import CreateRoomRequest
room = await lkapi.room.create_room(CreateRoomRequest(
name="myroom",
empty_timeout=10 * 60,
max_participants=20,
))
const opts = {
name: 'myroom',
emptyTimeout: 10 * 60, // 10 minutes
maxParticipants: 20,
};
roomService.createRoom(opts).then((room: Room) => {
console.log('room created', room);
});
lk room create --empty-timeout 600 myroom

List rooms

rooms, _ := roomClient.ListRooms(context.Background(), &livekit.ListRoomsRequest{})
from livekit.api import ListRoomsRequest
rooms = await lkapi.room.list_rooms(ListRoomsRequest())
roomService.listRooms().then((rooms: Room[]) => {
console.log('existing rooms', rooms);
});
lk room list

Delete a room

Deleting a room causes all Participants to be disconnected.

_, _ = roomClient.DeleteRoom(context.Background(), &livekit.DeleteRoomRequest{
Room: "myroom",
})
from livekit.api import DeleteRoomRequest
await lkapi.room.delete_room(DeleteRoomRequest(
room="myroom",
))
// Delete a room
roomService.deleteRoom('myroom').then(() => {
console.log('room deleted');
});
lk room delete myroom