Skip to main content

Voice API

The Voice API gives you programmatic control over voice interactions — start calls, check status, retrieve recordings, and manage sessions. Use it to build custom voice experiences in your applications.

Authentication

All voice API endpoints require a Bearer token:

Endpoints

Start an Outbound Call

POST /voice/outbound/dial
Parameters: Response:

Start a Voice Session (WebRTC)

POST /voice/start Creates a WebRTC session for browser-based voice:
Response:
Use the returned token and livekit_url to connect via WebRTC.

Get Session Status

GET /voice/status/{session_id}
Response:

List Voice Sessions

GET /voice/sessions
Query Parameters:

Get Session Details

GET /voice/sessions/{session_id}

Get Session Transcript

GET /v1/widget/transcript/{session_id}
Response:

Get Recording

GET /voice/recording/{recording_id} Returns the recording details:

End a Voice Session

POST /voice/end/{session_id}

Webhook Events

If you provide a webhook_url when starting a call, you’ll receive POST requests with call status updates:

Event Types

Integration Example: Appointment Reminders

Rate Limits

Best Practices

  • Set max_duration to prevent unexpectedly long calls
  • Use context to personalize the agent’s greeting and behavior
  • Enable recording for compliance and quality review
  • Handle webhook events for real-time call tracking
  • Use scheduled calls for time-sensitive outreach (reminders, follow-ups)