Thrive AI Health
Api reference

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.

POST
/v1/users/{user_id}/voice/sessions

Authorization

MemberBearer
AuthorizationBearer <token>

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

user_id*User Id
Formatuuid

Header Parameters

org-id?string|null
x-user-id?string|null
x-request-id?string|null
traceparent?string|null
Idempotency-Key?|null

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"
    }
  ]
}