Guest API
This document describes all guest management endpoints for LiveKit rooms.
Guest Management
Create Guest Invite
Generates a guest invitation link for joining a LiveKit room.
Endpoint: POST /api/v1/livekit/guest/invite
Request Body:
{
"orgId": "acme-corp",
"roomId": "room-1234",
"durationSeconds": 86400,
"allowAll": true,
"allowedAdmins": [
"user-id-1",
"user-id-2"
]
}
Parameters:
orgId(string, required): Organization identifierroomId(string, required): Room identifierdurationSeconds(number, required): Invitation validity duration in secondsallowAll(boolean, optional): Allow all admins to admit guestsallowedAdmins(array, optional): List of specific admin user IDs who can admit guests
Success Response: 201 Created
{
"inviteUrl": "https://your-base-url.com/join?invite_token=ENCRYPTED_JWE_TOKEN"
}
Guest Room Authorization
Generates a LiveKit room token for a guest user.
Endpoint: POST /api/v1/livekit/guest/room-auth
Request Body:
{
"inviteToken": "string",
"guestName": "string"
}
Parameters:
inviteToken(string, required): The encrypted invitation token from the invite URLguestName(string, required): Display name for the guest user
Success Response: 200 OK
{
"livekitToken": "string"
}
Admit or Deny Guest
Admits or denies a guest waiting to join the room.
Endpoint: POST /api/v1/livekit/guest/admit
Request Body:
{
"roomId": "string",
"guestIdentity": "string",
"action": "admit"
}
Parameters:
roomId(string, required): Room identifierguestIdentity(string, required): Identity of the guest useraction(string, required): Action to take - either"admit"or"deny"
The action field must be either "admit" or "deny".
Success Response: 200 OK
{
"code": 200
}
/api/v1/livekit/guest/room-auth/ Request Body: { "inviteToken": "string", "guestName": "string" } Success Response (201 Created): { "livekitToken": "string" } /api/v1/livekit/guest/admit Request Body: { "roomId": "string", "guestIdentity": "string", "action": "admit" } Note: The action field must be either "admit" or "deny". Success Response (201 Created): { "code": http.StatusOK }