Skip to main content

Authentication

Check that you’re using the x-api-key header (not Authorization). Bearer tokens are for Clerk JWTs only — see Authentication.
The key is missing the required permission for that feature. Permissions are managed per-API-key in the dashboard — make sure the key you’re using has access to the resource you’re calling.

Voice

  1. Check that your tools respond in <1s — see Tools.
  2. Use a low-latency TTS (elevenLabs flash_v2_5, cartesia sonic-turbo) and STT (deepgram nova-3).
  3. Enable preemptiveSynthesis and allowInterruptions.
Check your firewall is allowing UDP for LiveKit. Outbound-only TCP fallback exists but adds latency.

RAG

  1. Increase top-K to 4–6 for sparse corpora.
  2. Enable Cohere reranking.
  3. Improve document segmentation — Markdown headings beat paragraphs.

Webhooks

You’re verifying against a parsed body. Use the raw Buffer / bytes of the request — see Verifying signatures.
Confirm your endpoint is on a public URL and returns 2xx within 15 seconds. Check the Webhooks delivery log in the dashboard for the last attempt and response code.

Still stuck?

Open a ticket: [email protected].