Conclave Docs

API reference

The HTTP surface of each service.

The load-bearing endpoints per service. Auth is Supabase JWT (Conclave), scoped M2M tokens (VFTE), 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 GPU worker claim transport
GET /api/diarize/audio/{id}Audio-by-reference (service-token gated)
GET /attestation?nonce=TDX quote

Capture

EndpointPurpose
POST /v1/diarizeBatch diarize (heartbeat NDJSON)
WS /v1/diarize/streamStreaming diarize
WS /v1/inperson/streamIn-person live path (diart + ASR)
GET /health · GET /attestationHealth · TDX quote (quote-only, no sealed key)

VFTE / FPM

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)

Source: FEATURE-SPEC.md §2.x/§3.7/§4, per-repo READMEs.

On this page