curl https://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/recordings \
-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}/recordings',
headers={'Authorization': f'Bearer {API_KEY}'}
)
if response.status_code == 200:
recordings = response.json()
if recordings['data']:
for rec in recordings['data']:
print(f"Recording {rec['id']}")
print(f" Duration: {rec['duration']}s")
print(f" Format: {rec['format']}")
print(f" Status: {rec['status']}")
else:
print('No recordings available yet')
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}/recordings`, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const data = await response.json();
if (response.ok) {
if (data.data.length > 0) {
for (const rec of data.data) {
console.log(`Recording ${rec.id}`);
console.log(` Duration: ${rec.duration}s`);
console.log(` Format: ${rec.format}`);
console.log(` Status: ${rec.status}`);
}
} else {
console.log('No recordings available yet');
}
} else {
console.error('Error:', data.error.message);
}
{
"object": "list",
"data": [
{
"id": "rec_01HABC987654321",
"object": "recording",
"session_id": "sess_01HXYZ123456789",
"duration": 245.3,
"format": "mp3",
"status": "ready",
"created_at": "2026-03-26T11:04:20Z"
}
]
}
{
"object": "list",
"data": []
}
{
"error": {
"code": "session_not_found",
"message": "Session not found",
"type": "not_found_error"
}
}
Sessions
Get Recordings
Get session recordings
GET
/
v1
/
sessions
/
{id}
/
recordings
curl https://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/recordings \
-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}/recordings',
headers={'Authorization': f'Bearer {API_KEY}'}
)
if response.status_code == 200:
recordings = response.json()
if recordings['data']:
for rec in recordings['data']:
print(f"Recording {rec['id']}")
print(f" Duration: {rec['duration']}s")
print(f" Format: {rec['format']}")
print(f" Status: {rec['status']}")
else:
print('No recordings available yet')
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}/recordings`, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const data = await response.json();
if (response.ok) {
if (data.data.length > 0) {
for (const rec of data.data) {
console.log(`Recording ${rec.id}`);
console.log(` Duration: ${rec.duration}s`);
console.log(` Format: ${rec.format}`);
console.log(` Status: ${rec.status}`);
}
} else {
console.log('No recordings available yet');
}
} else {
console.error('Error:', data.error.message);
}
{
"object": "list",
"data": [
{
"id": "rec_01HABC987654321",
"object": "recording",
"session_id": "sess_01HXYZ123456789",
"duration": 245.3,
"format": "mp3",
"status": "ready",
"created_at": "2026-03-26T11:04:20Z"
}
]
}
{
"object": "list",
"data": []
}
{
"error": {
"code": "session_not_found",
"message": "Session not found",
"type": "not_found_error"
}
}
List recordings for a session. Dual-channel recording provides stereo audio with agent and customer on separate channels.
Path Parameters
Session ID (e.g.,
sess_01HXYZ123456789).Response
Always
list.Recording objects.
curl https://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/recordings \
-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}/recordings',
headers={'Authorization': f'Bearer {API_KEY}'}
)
if response.status_code == 200:
recordings = response.json()
if recordings['data']:
for rec in recordings['data']:
print(f"Recording {rec['id']}")
print(f" Duration: {rec['duration']}s")
print(f" Format: {rec['format']}")
print(f" Status: {rec['status']}")
else:
print('No recordings available yet')
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}/recordings`, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const data = await response.json();
if (response.ok) {
if (data.data.length > 0) {
for (const rec of data.data) {
console.log(`Recording ${rec.id}`);
console.log(` Duration: ${rec.duration}s`);
console.log(` Format: ${rec.format}`);
console.log(` Status: ${rec.status}`);
}
} else {
console.log('No recordings available yet');
}
} else {
console.error('Error:', data.error.message);
}
{
"object": "list",
"data": [
{
"id": "rec_01HABC987654321",
"object": "recording",
"session_id": "sess_01HXYZ123456789",
"duration": 245.3,
"format": "mp3",
"status": "ready",
"created_at": "2026-03-26T11:04:20Z"
}
]
}
{
"object": "list",
"data": []
}
{
"error": {
"code": "session_not_found",
"message": "Session not found",
"type": "not_found_error"
}
}
Recordings are available after the session ends. Processing typically takes a few seconds.
⌘I