Skip to main content
POST
/
v1
/
sessions
curl -X POST https://api.kallglot.com/v1/sessions \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"mode": "bidirectional_translation"}'
{
  "id": "sess_01HXYZ123456789",
  "object": "session",
  "status": "created",
  "mode": "bidirectional_translation",
  "provider": "twilio",
  "phone_number": "+14155551234",
  "source_language": null,
  "target_language": null,
  "stream": {
    "url": "wss://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/connect",
    "token": "kst_live_xxxxxxxxxxxxxxxx",
    "expires_at": "2026-03-26T12:00:00Z"
  },
  "recording": {
    "enabled": false
  },
  "metadata": null,
  "created_at": "2026-03-26T11:00:00Z"
}

Documentation Index

Fetch the complete documentation index at: https://developer.kallglot.com/llms.txt

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

Create a new session to start real-time voice processing. The session establishes a WebSocket connection for streaming audio and receiving transcripts/translations.
Do not send a top-level provider object on create. Specify telephony with routing only (for example routing.phone_number or routing.connection_id). A top-level provider string on the response indicates the resolved carrier (twilio, telnyx, sip, etc.) and must not be confused with request fields.

Request Body

mode
string
required
The session mode:
  • bidirectional_translation - Both parties hear translated speech
  • assistive_translation - Agent hears original, customer hears translation
  • ai_agent - AI-powered voice agent handles the conversation
  • help_chat_voice - Voice-enabled help desk assistant
source_language
string
Language code for Party A (e.g., en, es, de). Optional - if omitted, language is auto-detected.
target_language
string
Language code for Party B (e.g., en, es, de). Optional - if omitted, language is auto-detected.
routing
object
Telephony routing. Omit to use your organization’s default route.Exactly one routing method should be supplied (phone number, SIP, connection, or inherited default).
audio
object
Optional audio transport hints (encoding, sample rate, channels). Omit unless your telephony path needs non-default values.
voice
object
Voice synthesis hints for translated audio.
recording
object
ai_agent
object
Only for ai_agent mode. Omit for translation modes.
metadata
object
Custom key-value pairs to attach to the session (e.g., {"customer_id": "123"}).

Response

id
string
Session identifier (e.g., sess_01HXYZ123456789).
object
string
Always session.
status
string
created, active, or ended.
mode
string
The session mode.
configuration_mode
string
Echoed field on the session object. You do not need to set or interpret it for a standard integration.
source_language
string
Resolved source language. null if using auto-detection.
target_language
string
Resolved target language. null if using auto-detection.
stream
object
WebSocket connection details.
provider
string
Response only — resolved telephony carrier: twilio, telnyx, sip, or webrtc when applicable. This is not a request field; select routes with routing on create.
phone_number
string
Phone number for this session (if applicable).
call
object
Optional linked telephony reference when present (id, object, provider, and provider-specific identifiers such as carrier call IDs).
recording
object
metadata
object
Custom metadata attached to the session.
created_at
string
Creation timestamp (ISO 8601).
Samples below: The minimal cURL uses default org routing (no routing in the body). The second cURL adds routing.phone_number to match Quick Start. For production, send Idempotency-Key on every create (see Idempotency).
curl -X POST https://api.kallglot.com/v1/sessions \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"mode": "bidirectional_translation"}'
{
  "id": "sess_01HXYZ123456789",
  "object": "session",
  "status": "created",
  "mode": "bidirectional_translation",
  "provider": "twilio",
  "phone_number": "+14155551234",
  "source_language": null,
  "target_language": null,
  "stream": {
    "url": "wss://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/connect",
    "token": "kst_live_xxxxxxxxxxxxxxxx",
    "expires_at": "2026-03-26T12:00:00Z"
  },
  "recording": {
    "enabled": false
  },
  "metadata": null,
  "created_at": "2026-03-26T11:00:00Z"
}