Docs / Quickstart

Quickstart

Control plane base URL

Point your backend at the Invoker API (not the browser). Example:

https://api.example.com

1. Tenant API key

Use the operator console (Arca login for your team only) or the admin API to create a key. End users of your product never need Arca. You will receive:

  • public_key (e.g. lk_live_…)
  • secret (shown once)

Call the API with:

Authorization: Bearer <public_key>:<secret>

2. Create a room

POST /v1/rooms with an empty JSON body {}.

Response includes room_id and room_name (LiveKit room string).

3. Mint a join token

POST /v1/rooms/{room_id}/tokens with JSON:

{
  "identity": "user-123",
  "name": "Display Name",
  "can_publish": true,
  "can_subscribe": true,
  "ttl_seconds": 600
}

Response includes livekit_url, token, and expires_at.

4. ICE servers

GET /v1/ice — returns ice_servers for RTCPeerConnection.

5. Browser

Use the official LiveKit client SDK. Pass livekit_url, join token, and configure rtcConfig.iceServers from step 4. Never expose the tenant API secret to the browser.

Open the console →