Start a voice session
Opens a real-time voice conversation on the platform default voice agent, attached to an existing session (sessionId) or a new one, and returns the clientBootstrap to hand to the ElevenLabs Conversational AI SDK client-side (Conversation.startSession): connect with signedUrl, apply any overrides, and forward sessionToken as custom_llm_extra_body.b4m_session. Transcripts are appended to the session as the call runs. When credits are enforced, the maximum call length is reserved up front and reconciled down by POST /api/v1/voice/sessions/{id}/end, so always end the call. Pass isReconnect: true to re-attach a dropped transport without a second reservation. POST /api/voice/v2/sessions is a legacy alias of this endpoint. Authenticate with an API key (b4m_live_) or a JWT.
Request
- Base URL: https://your-deployment.example.com
- URL: https://your-deployment.example.com/api/v1/voice/sessions
- Auth: one of:
- HTTP bearer
- API key in header x-api-key
Request body
Example request
{
"sessionId": "664f1c2b9a1e4d0012ab34aa"
}Response
The call is provisioned. clientBootstrap is consumed by the ElevenLabs Conversational AI SDK in the client; signedUrl is short-lived, so connect promptly.
Example response
{
"session": {
"id": "664f1c2b9a1e4d0012ab34aa",
"name": "Voice • claude-sonnet-4-6"
},
"reasoningModelId": "claude-sonnet-4-6",
"clientBootstrap": {
"transport": "elevenlabs-conversational",
"signedUrl": "wss://api.elevenlabs.io/v1/convai/conversation?agent_id=agent_123&conversation_signature=sig",
"agentId": "agent_123",
"sessionToken": "eyJhbGciOiJIUzI1NiJ9.<payload>.<signature>"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.