API reference
The HTTP surface of each service.
The load-bearing endpoints per service. Auth is Supabase JWT (Conclave), scoped M2M tokens (VFTEE), and Bearer tokens (Capture). This is a map, not an exhaustive OpenAPI dump — see each repo for the full surface.
Conclave
| Endpoint | Purpose |
|---|---|
POST /api/meetings/invite-bot | Launch a Meet/Teams/Zoom bot |
POST /api/workspaces/{id}/transcripts | Transcript upload |
POST /api/workspaces/{id}/record | Audio-file / in-person record ingest |
GET /api/meetings/{id}/live · /live-view | Live SSE stream + view |
POST /search · POST /ask | Hybrid search · Ask (RAG, the only read-path LLM call) |
GET /api/transcripts/sessions/{id}/transcript.txt | Speaker-turn transcript download |
GET /api/transcripts/sessions/{id}/audio?start=&end= | Decrypt-on-read audio (Range-enabled) clip |
POST /api/diarize/jobs/claim · /{id}/heartbeat · /result | Option-A post-pass worker claim transport |
GET /api/diarize/audio/{id} | Audio-by-reference (service-token gated) |
GET .../v2/fix-suggestions · GET/POST .../versions | Studio refine suggestions (#124) · transcript version chain + history (#3) |
POST .../redaction/preview · .../redaction/strip · GET .../redaction/receipt/{n} | Regulated-data redaction — detect / strip (→ new sealed version) / signed conclave-redaction/v1 completeness receipt (#134 v1, editor-gated, live) |
GET /v1/transcript-seal-key | Active + retired Ed25519 seal verification keys (#21; in_tee:true in prod) |
/oauth/token · /oauth/authorize · /.well-known/oauth-authorization-server | OAuth 2.1 "Connect with Conclave" (issuer api.conclavehq.org, PR #116) |
GET /api/ext/v1/{me,meetings,transcript} | External read API — workspace PAT-gated (Authorization: Bearer conclave_pat_…, PR #89) |
GET /admin/analytics/q | Analytics-cockpit query (reads the analytics DB; admin-gated) |
GET /attestation?nonce= | Signed TDX quote; binds the seal pubkey into report_data and returns seal_key_id (#21, live) — cryptographic evidence the record was produced in a genuine sealed enclave. |
Capture
| Endpoint | Purpose |
|---|---|
POST /v1/diarize | Batch diarize (heartbeat NDJSON) |
WS /v1/diarize/stream | Streaming diarize |
WS /v1/inperson/stream | In-person live path (diart diarization + ASR) |
GET /health · GET /attestation | Health · TDX quote (quote-only, no sealed key) |
VFTEE / FPM
All of these are live in prod — the consent plane, SSO, and permission scoping are deployed. See Status.
| Endpoint | Purpose |
|---|---|
POST /v1/enroll | Create/strengthen a voiceprint |
POST /v1/identify · POST /v1/identify-spans | Identify a clip · pre-diarized spans (flagship) |
POST /v1/propose · /v1/confirm · /v1/deny | Consent proposal lifecycle |
GET /v1/me/pending · GET /v1/me/recognitions | Subject inboxes |
POST /v1/me/voiceprints/{ws}/{vid}/forget | Erasure (+ signed receipt) |
GET .../export · POST /v1/me/voiceprints/import | Signed export / import |
POST /v1/recognitions | Record + notify a consented recognition |
GET /v1/deletion-receipt-key | Ed25519 public key for offline verification |
POST /auth/v1/exchange-token | Verify Conclave JWT → mint fpm_session (shared login) |