Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.medera.info/llms.txt

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

The AI Services receive Vapi webhooks at:
POST /api/vapi/webhook                    # main webhook (HMAC-SHA256 verified)
POST /api/vapi/webhook/assistant-request  # dynamic assistant config
GET  /api/vapi/webhook/health             # health
GET  /api/vapi/webhook/call/{call_id}     # call state
GET  /api/vapi/webhook/call/{call_id}/transcript  # buffered transcript

Event types

EventWhen
status-updateCall status change
transcriptTranscript chunk available
function-callLLM invoked one of Grace’s functions
tool-callsTool invocation batch
end-of-call-reportFinal call summary
speech-updateSpeaking / silent state
user-interruptedUser interrupted assistant
hangCall hung up

Signature verification

Webhook signature: vapi-signature header. Verified using the configured webhook_secret (HMAC-SHA256). Unverified webhooks are rejected.

Outbound webhooks (to your endpoint)

If your tenant has configured a webhook URL on the deployment, Medera sends signed outbound webhooks:
EventPayload
intake.started{ call_id, deployment_id, patient_phone }
intake.screener.completed{ call_id, screener, score, severity }
intake.crisis.detected{ call_id, risk_band, escalation_id }
intake.summary.ready{ call_id, handoff_packet_url }
intake.completed{ call_id, summary_id, duration_ms }
Verify with Medera-Signature: sha256=....