Authentication
Every route exceptGET /healthz and device sign-in needs Authorization: Bearer <credential>: an API key (clr_…) or a browser session token (clt_…). /v1/account/* uses the web session cookie instead, plus X-CSRF-Token on writes. Scopes, limits and errors: Access control.
Conventions
- JSON, snake_case field names.
- Every timestamp on the wire is epoch milliseconds.
Main routes
Only for the optional voice path: record rules by voice.
Live session
WS /ws/session/{session_id} carries a voice recording session (optional): keyframes, activity, transcripts and controls from the browser; questions, interventions, nudges and map updates from the server. It isn’t part of the OpenAPI spec.
Agent surfaces
See MCP guard, How a stop looks and MCP server.