Base URL
Routes
The avatar’s audio and video never pass through these routes: they flow inside your LiveKit room, between your agent, the avatar participant and your users. The routes only start, inspect and release the session.
Authentication
Every route takes
Authorization: Bearer <API_KEY>, the same Boson API key as the other APIs. Sessions belong to the key that created them; another key gets 404 for them. Only your server should call these routes, because the request carries a LiveKit token.
Session lifecycle
Boson ends every session by itself, even if your
DELETE never arrives: at expires_at, or when every other participant has left the room. Still, release sessions you no longer need: avatar capacity is limited, and a session you forgot keeps its slot until it expires.
Creation is not idempotent. If POST /v1/avatar/sessions times out, do not replay it blindly: a second avatar may join the room. Look for the avatar participant in the room first, and release any duplicate.
LiveKit transport
The request’stransport describes your room. You mint the avatar’s access token with your own LiveKit API key and secret.
Limits
Errors
Errors use the common error body;type is the stable category and code the cause. 429 capacity_exhausted and 503 service_unavailable carry a Retry-After header in seconds.