/openapi.json.
Authentication
- Public API (
/api/v1/v1/...):Authorization: Bearer <api-key>. Mint keys in Settings → Developer. Keys are scoped and rate-limited per plan. - Session surface (
/api/v1/...): the web app’s cookie session (WorkOS).
Conventions
- JSON in/out. Errors:
{ "detail": "<message>" }. - Long-running operations return
202 { job_id }; poll/v1/jobs/{id}. - Tenancy is enforced by Postgres RLS; premium features by plan entitlements (
403with{ error: "entitlement_required", key }when missing).