Skip to main content

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 identifier
  • roomId (string, required): Room identifier
  • durationSeconds (number, required): Invitation validity duration in seconds
  • allowAll (boolean, optional): Allow all admins to admit guests
  • allowedAdmins (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 URL
  • guestName (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 identifier
  • guestIdentity (string, required): Identity of the guest user
  • action (string, required): Action to take - either "admit" or "deny"
Action Values

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 }