Skip to 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 }