The Claros web app talks to a FastAPI server. This reference is generated from it.
The API is not offered as a public API during preview. We issue scoped keys on request; endpoints may change.

Authentication

Every route except GET /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.

Regenerating the spec

From the repo root:
It imports the app without starting it and makes no outside calls. A new route fails until it has a title and group in that script.