curl https://api.kallglot.com/v1/sessions/sess_01HXYZ123456789 \
-H "Authorization: Bearer sk_live_your_api_key"
import os
import requests
API_KEY = os.environ.get('KALLGLOT_API_KEY')
SESSION_ID = 'sess_01HXYZ123456789'
response = requests.get(
f'https://api.kallglot.com/v1/sessions/{SESSION_ID}',
headers={'Authorization': f'Bearer {API_KEY}'}
)
if response.status_code == 200:
session = response.json()
print(f"Status: {session['status']}")
print(f"Mode: {session['mode']}")
if session.get('stream'):
print(f"WebSocket: {session['stream']['url']}")
elif response.status_code == 404:
print('Session not found')
else:
error = response.json()
print(f"Error: {error['error']['message']}")
const API_KEY = process.env.KALLGLOT_API_KEY;
const SESSION_ID = 'sess_01HXYZ123456789';
const response = await fetch(`https://api.kallglot.com/v1/sessions/${SESSION_ID}`, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const data = await response.json();
if (response.ok) {
console.log('Status:', data.status);
console.log('Mode:', data.mode);
if (data.stream) {
console.log('WebSocket:', data.stream.url);
}
} else {
console.error('Error:', data.error.message);
}
{
"id": "sess_01HXYZ123456789",
"object": "session",
"status": "active",
"mode": "bidirectional_translation",
"provider": "twilio",
"phone_number": "+14155551234",
"source_language": "de",
"target_language": "en",
"stream": {
"url": "wss://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/connect",
"token": "kst_live_xxxxxxxx",
"expires_at": "2026-03-26T12:00:00Z"
},
"recording": { "enabled": true },
"metadata": { "customer_id": "123" },
"created_at": "2026-03-26T11:00:00Z",
"started_at": "2026-03-26T11:00:15Z",
"ended_at": null
}
{
"id": "sess_01HXYZ123456789",
"object": "session",
"status": "ended",
"mode": "bidirectional_translation",
"provider": "twilio",
"source_language": "de",
"target_language": "en",
"recording": { "enabled": true },
"metadata": { "customer_id": "123" },
"created_at": "2026-03-26T11:00:00Z",
"started_at": "2026-03-26T11:00:15Z",
"ended_at": "2026-03-26T11:04:20Z"
}
{
"error": {
"code": "session_not_found",
"message": "Session not found",
"type": "not_found_error"
}
}
Sessions
Retrieve Session
Get session details and status
GET
/
v1
/
sessions
/
{id}
curl https://api.kallglot.com/v1/sessions/sess_01HXYZ123456789 \
-H "Authorization: Bearer sk_live_your_api_key"
import os
import requests
API_KEY = os.environ.get('KALLGLOT_API_KEY')
SESSION_ID = 'sess_01HXYZ123456789'
response = requests.get(
f'https://api.kallglot.com/v1/sessions/{SESSION_ID}',
headers={'Authorization': f'Bearer {API_KEY}'}
)
if response.status_code == 200:
session = response.json()
print(f"Status: {session['status']}")
print(f"Mode: {session['mode']}")
if session.get('stream'):
print(f"WebSocket: {session['stream']['url']}")
elif response.status_code == 404:
print('Session not found')
else:
error = response.json()
print(f"Error: {error['error']['message']}")
const API_KEY = process.env.KALLGLOT_API_KEY;
const SESSION_ID = 'sess_01HXYZ123456789';
const response = await fetch(`https://api.kallglot.com/v1/sessions/${SESSION_ID}`, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const data = await response.json();
if (response.ok) {
console.log('Status:', data.status);
console.log('Mode:', data.mode);
if (data.stream) {
console.log('WebSocket:', data.stream.url);
}
} else {
console.error('Error:', data.error.message);
}
{
"id": "sess_01HXYZ123456789",
"object": "session",
"status": "active",
"mode": "bidirectional_translation",
"provider": "twilio",
"phone_number": "+14155551234",
"source_language": "de",
"target_language": "en",
"stream": {
"url": "wss://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/connect",
"token": "kst_live_xxxxxxxx",
"expires_at": "2026-03-26T12:00:00Z"
},
"recording": { "enabled": true },
"metadata": { "customer_id": "123" },
"created_at": "2026-03-26T11:00:00Z",
"started_at": "2026-03-26T11:00:15Z",
"ended_at": null
}
{
"id": "sess_01HXYZ123456789",
"object": "session",
"status": "ended",
"mode": "bidirectional_translation",
"provider": "twilio",
"source_language": "de",
"target_language": "en",
"recording": { "enabled": true },
"metadata": { "customer_id": "123" },
"created_at": "2026-03-26T11:00:00Z",
"started_at": "2026-03-26T11:00:15Z",
"ended_at": "2026-03-26T11:04:20Z"
}
{
"error": {
"code": "session_not_found",
"message": "Session not found",
"type": "not_found_error"
}
}
Retrieve the current state of a session including status, languages, and connection details.
Path Parameters
string
required
Session ID (e.g.,
sess_01HXYZ123456789).Response
string
Session identifier.
string
Always
session.string
created, active, or ended.string
Session mode.
string
Source language code.
string
Target language code.
object
string
Response only — which carrier is attached (
twilio, telnyx, or sip). Set telephony on create with routing, not this field.string
Phone number used (if applicable).
object
Custom metadata.
string
Creation timestamp (ISO 8601).
string
When session became active. Null if not started.
string
When session ended. Null if still active.
curl https://api.kallglot.com/v1/sessions/sess_01HXYZ123456789 \
-H "Authorization: Bearer sk_live_your_api_key"
import os
import requests
API_KEY = os.environ.get('KALLGLOT_API_KEY')
SESSION_ID = 'sess_01HXYZ123456789'
response = requests.get(
f'https://api.kallglot.com/v1/sessions/{SESSION_ID}',
headers={'Authorization': f'Bearer {API_KEY}'}
)
if response.status_code == 200:
session = response.json()
print(f"Status: {session['status']}")
print(f"Mode: {session['mode']}")
if session.get('stream'):
print(f"WebSocket: {session['stream']['url']}")
elif response.status_code == 404:
print('Session not found')
else:
error = response.json()
print(f"Error: {error['error']['message']}")
const API_KEY = process.env.KALLGLOT_API_KEY;
const SESSION_ID = 'sess_01HXYZ123456789';
const response = await fetch(`https://api.kallglot.com/v1/sessions/${SESSION_ID}`, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const data = await response.json();
if (response.ok) {
console.log('Status:', data.status);
console.log('Mode:', data.mode);
if (data.stream) {
console.log('WebSocket:', data.stream.url);
}
} else {
console.error('Error:', data.error.message);
}
{
"id": "sess_01HXYZ123456789",
"object": "session",
"status": "active",
"mode": "bidirectional_translation",
"provider": "twilio",
"phone_number": "+14155551234",
"source_language": "de",
"target_language": "en",
"stream": {
"url": "wss://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/connect",
"token": "kst_live_xxxxxxxx",
"expires_at": "2026-03-26T12:00:00Z"
},
"recording": { "enabled": true },
"metadata": { "customer_id": "123" },
"created_at": "2026-03-26T11:00:00Z",
"started_at": "2026-03-26T11:00:15Z",
"ended_at": null
}
{
"id": "sess_01HXYZ123456789",
"object": "session",
"status": "ended",
"mode": "bidirectional_translation",
"provider": "twilio",
"source_language": "de",
"target_language": "en",
"recording": { "enabled": true },
"metadata": { "customer_id": "123" },
"created_at": "2026-03-26T11:00:00Z",
"started_at": "2026-03-26T11:00:15Z",
"ended_at": "2026-03-26T11:04:20Z"
}
{
"error": {
"code": "session_not_found",
"message": "Session not found",
"type": "not_found_error"
}
}
⌘I