Conclave Docs

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

EndpointPurpose
POST /api/meetings/invite-botLaunch a Meet/Teams/Zoom bot
POST /api/workspaces/{id}/transcriptsTranscript upload
POST /api/workspaces/{id}/recordAudio-file / in-person record ingest
GET /api/meetings/{id}/live · /live-viewLive SSE stream + view
POST /search · POST /askHybrid search · Ask (RAG, the only read-path LLM call)
GET /api/transcripts/sessions/{id}/transcript.txtSpeaker-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 · /resultOption-A post-pass worker claim transport
GET /api/diarize/audio/{id}Audio-by-reference (service-token gated)
GET .../v2/fix-suggestions · GET/POST .../versionsStudio 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-keyActive + retired Ed25519 seal verification keys (#21; in_tee:true in prod)
/oauth/token · /oauth/authorize · /.well-known/oauth-authorization-serverOAuth 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/qAnalytics-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

EndpointPurpose
POST /v1/diarizeBatch diarize (heartbeat NDJSON)
WS /v1/diarize/streamStreaming diarize
WS /v1/inperson/streamIn-person live path (diart diarization + ASR)
GET /health · GET /attestationHealth · 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.

EndpointPurpose
POST /v1/enrollCreate/strengthen a voiceprint
POST /v1/identify · POST /v1/identify-spansIdentify a clip · pre-diarized spans (flagship)
POST /v1/propose · /v1/confirm · /v1/denyConsent proposal lifecycle
GET /v1/me/pending · GET /v1/me/recognitionsSubject inboxes
POST /v1/me/voiceprints/{ws}/{vid}/forgetErasure (+ signed receipt)
GET .../export · POST /v1/me/voiceprints/importSigned export / import
POST /v1/recognitionsRecord + notify a consented recognition
GET /v1/deletion-receipt-keyEd25519 public key for offline verification
POST /auth/v1/exchange-tokenVerify Conclave JWT → mint fpm_session (shared login)

On this page