Create a voice session and return LiveKit credentials
Returns a short-lived LiveKit token (~1 minute TTL) and connection URL. The client must connect immediately after receiving. Pass `thread_id` to resume an existing thread; omit to start a new one. `coach_mode` selects conversational (`COACH`) vs interviewer (`INTAKE`) posture; `additional_instructions` injects runtime context.
Authorization
MemberBearer Member-scoped JWT minted by POST /v1/auth/token. Required on every /v1/users/{user_id}/... route; the token's sub claim must match the path user_id.
In: header
Path Parameters
uuidHeader Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://loading/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/voice/sessions" \ -H "Content-Type: application/json" \ -d '{}'{
"data": {
"token": "string",
"url": "string",
"room_name": "string",
"thread_id": "1de43264-67cb-48af-89f9-e865c375bb84"
}
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Retrieve messages in a thread
Paginated message history including both text-chat messages and voice-session transcripts (the `modality` field distinguishes). Optional `after` / `before` query params narrow the time range — useful for incremental refreshes.
Retrieve metadata for a completed voice call
Returns call-level metadata (start/end timestamps, duration, status). Transcripts are stored on the associated thread — fetch them via `GET /threads/{thread_id}/messages`.