curl -X POST https://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/end \
-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.post(
f'https://api.kallglot.com/v1/sessions/{SESSION_ID}/end',
headers={'Authorization': f'Bearer {API_KEY}'}
)
if response.status_code == 200:
session = response.json()
print(f"Session ended successfully")
print(f"Duration: {session['duration_seconds']}s")
print(f"Ended at: {session['ended_at']}")
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}/end`, {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const data = await response.json();
if (response.ok) {
console.log('Session ended successfully');
console.log('Duration:', data.duration_seconds + 's');
console.log('Ended at:', data.ended_at);
} else {
console.error('Error:', data.error.message);
}
{
"id": "sess_01HXYZ123456789",
"object": "session",
"status": "ended",
"duration_seconds": 245.3,
"ended_at": "2026-03-26T11:04:20Z"
}
{
"error": {
"code": "session_not_found",
"message": "Session not found",
"type": "not_found_error"
}
}
Sessions
End Session
End an active session
POST
/
v1
/
sessions
/
{id}
/
end
curl -X POST https://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/end \
-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.post(
f'https://api.kallglot.com/v1/sessions/{SESSION_ID}/end',
headers={'Authorization': f'Bearer {API_KEY}'}
)
if response.status_code == 200:
session = response.json()
print(f"Session ended successfully")
print(f"Duration: {session['duration_seconds']}s")
print(f"Ended at: {session['ended_at']}")
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}/end`, {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const data = await response.json();
if (response.ok) {
console.log('Session ended successfully');
console.log('Duration:', data.duration_seconds + 's');
console.log('Ended at:', data.ended_at);
} else {
console.error('Error:', data.error.message);
}
{
"id": "sess_01HXYZ123456789",
"object": "session",
"status": "ended",
"duration_seconds": 245.3,
"ended_at": "2026-03-26T11:04:20Z"
}
{
"error": {
"code": "session_not_found",
"message": "Session not found",
"type": "not_found_error"
}
}
End a session to disconnect calls, stop recording, and finalize the transcript. Billing stops when the session ends.
Path Parameters
Session ID (e.g.,
sess_01HXYZ123456789).Response
Session identifier.
Always
session.Will be
ended.Total session duration.
End timestamp (ISO 8601).
curl -X POST https://api.kallglot.com/v1/sessions/sess_01HXYZ123456789/end \
-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.post(
f'https://api.kallglot.com/v1/sessions/{SESSION_ID}/end',
headers={'Authorization': f'Bearer {API_KEY}'}
)
if response.status_code == 200:
session = response.json()
print(f"Session ended successfully")
print(f"Duration: {session['duration_seconds']}s")
print(f"Ended at: {session['ended_at']}")
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}/end`, {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const data = await response.json();
if (response.ok) {
console.log('Session ended successfully');
console.log('Duration:', data.duration_seconds + 's');
console.log('Ended at:', data.ended_at);
} else {
console.error('Error:', data.error.message);
}
{
"id": "sess_01HXYZ123456789",
"object": "session",
"status": "ended",
"duration_seconds": 245.3,
"ended_at": "2026-03-26T11:04:20Z"
}
{
"error": {
"code": "session_not_found",
"message": "Session not found",
"type": "not_found_error"
}
}
Idempotent - calling on an already-ended session returns the existing summary.
Sessions inactive for 30+ minutes are automatically ended.
⌘I