Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.auvy.ai/llms.txt

Use this file to discover all available pages before exploring further.

Meetings API

Meetings are versioned resource objects in the collaboration vertical. They share the same resource head, grep, search, and Vault browse substrate as other resource kinds.
Meetings are brain-scoped. Send X-Brain-Id, a brain_id query/body field, or configure SDK getBrainId.

List Meetings

GET /v1/meetings
Returns resource-head list rows for the active brain.
const meetings = await auvy.resources.meetings.list({ limit: 50 })

Create Meeting

POST /v1/meetings
FieldTypeRequiredDescription
titlestringYesMeeting title.
descriptionstringNoShort description.
bodyobjectNoPartial structured body: agenda, notes, summary, decisions, action items, transcript refs.
brain_idstringNoBrain UUID when not supplied by auth context.
curl -X POST https://api.auvy.ai/v1/meetings \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Brain-Id: YOUR_BRAIN_ID" \
  -H "Content-Type: application/json" \
  -d '{"title":"Customer sync","body":{"agenda":["Renewal risks","Next steps"]}}'

Get Meeting

GET /v1/meetings/:id

Patch Meeting Body

Structured meeting patches use the central resource patch route:
await auvy.resources.meetings.patchPartial(meetingId, {
  summary: 'Customer wants a renewal proposal by Friday.',
  decisions: ['Send proposal draft'],
})

Live Transcription

GET  /v1/meetings/transcription/runtime
POST /v1/meetings/:id/transcription/live/start
POST /v1/meetings/:id/transcription/chunk
GET  /v1/meetings/:id/transcription/live/events/:session_id
POST /v1/meetings/:id/transcription/live/stop
POST /v1/meetings/:id/transcription/batch
After live/start, send linear16 mono PCM at 16 kHz with POST .../transcription/chunk (job_id, chunk_base64). The API appends each chunk to a Redis stream; the agent-end voice-live worker reads that stream and forwards audio to Deepgram over an outbound websocket. Live events are server-sent events from Synapse, not a Deepgram webhook. The final diarized transcript is flushed to the meeting resource body (transcript_segments) when live/stop completes. Local development does not need an HTTPS tunnel for Deepgram. Run the dashboard, API, Redis, and agent-end on the same local REDIS_URL, and set DEEPGRAM_API_KEY for agent-end. The runtime endpoint returns deepgram_configured, queue_name, and a reason when live transcription is unavailable.