Skip to main content

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.

API Reference

Use this section to reproduce working requests: URLs, bodies, authentication, pagination, errors, and the WebSocket stream. It is intentionally limited to what you need to connect your servers and clients to Kallglot. The API follows common REST patterns: JSON over HTTPS, standard status codes, and Bearer API keys.

Base URL

All API endpoints are relative to:
https://api.kallglot.com/v1

Request Format

The API accepts JSON-encoded request bodies and returns JSON-encoded responses. All requests must include the Content-Type: application/json header for POST/PUT/PATCH requests.
curl https://api.kallglot.com/v1/sessions \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"mode": "bidirectional_translation"}'

Response Format

All responses follow a consistent structure:

Success Response

{
  "id": "sess_01HXYZ123456789",
  "object": "session",
  "status": "created",
  "created_at": "2026-03-26T10:00:00Z"
}

Error Response

{
  "error": {
    "code": "invalid_request",
    "message": "The 'mode' field is required.",
    "type": "validation_error",
    "param": "mode"
  }
}

Object Types

ObjectDescription
sessionA real-time voice processing session
agentConfigurable AI agent
transcriptText transcript of a session
recordingAudio recording of a session
analysisAI analysis of a session
webhook_eventEvent delivered via webhook

ID Formats

All objects use prefixed identifiers for easy identification:
PrefixObject Type
sess_Session
rec_Recording
anl_Analysis
agt_AI agent (ids are issued by Kallglot)
kst_Stream token
wh_Webhook endpoint
evt_Webhook event

Pagination

There is no GET /v1/sessions list endpoint. Cursor-style query parameters apply only where a list route exists:
  • GET /v1/agents
  • GET /v1/sessions/{session_id}/recordings
curl "https://api.kallglot.com/v1/agents?limit=20&starting_after=agt_01HXYZ"
ParameterTypeDescription
limitintegerPage size (1100; default 20)
starting_afterstringCursor for forward pagination
ending_beforestringCursor for backward pagination (where supported)

Paginated list response shape

{
  "object": "list",
  "data": [{ "id": "agt_01HXYZ", "object": "agent", "name": "Support" }],
  "has_more": false,
  "next_cursor": null,
  "url": "/v1/agents"
}

Idempotency

For POST requests that create resources, include an Idempotency-Key header to ensure the request is processed only once:
curl -X POST https://api.kallglot.com/v1/sessions \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Idempotency-Key: unique-request-id-12345" \
  -H "Content-Type: application/json" \
  -d '{"mode": "bidirectional_translation"}'
  • Keys are valid for roughly 24 hours (server-defined TTL)
  • Retrying with the same key returns the cached response when the JSON body matches the original request (see mismatches below)
  • Use UUIDs or other unique identifiers
See Idempotency for supported routes, conflict codes, and body-matching behavior.

Versioning

The API version is included in the URL path (/v1/). We release new versions when making backwards-incompatible changes.
VersionStatusEnd of Life
v1Current-

Endpoints

Agents

MethodEndpointDescription
GET/v1/agentsList AI agents
GET/v1/agents/:idRetrieve an AI agent
POST/v1/agentsCreate an AI agent
PATCH/v1/agents/:idUpdate an AI agent
DELETE/v1/agents/:idDelete an AI agent

Sessions

MethodEndpointDescription
POST/v1/sessionsCreate a new session
GET/v1/sessions/:idRetrieve a session
POST/v1/sessions/:id/endEnd a session
POST/v1/sessions/:id/dialStart an outbound SIP dial (use Create Session with SIP routing; session is typically created first)
POST/v1/sessions/:id/hangupHang up an active SIP leg
GET/v1/sessions/:id/transcriptGet session transcript
GET/v1/sessions/:id/recordingsList session recordings

Recordings

MethodEndpointDescription
GET/v1/recordings/:idRetrieve recording metadata
GET/v1/recordings/:id/audioDownload recording audio

Analysis

MethodEndpointDescription
POST/v1/sessions/:id/analysisQueue session analysis (202 Accepted)
GET/v1/analyses/:idRetrieve analysis results

Streaming

ProtocolEndpointDescription
WebSocketwss://api.kallglot.com/v1/sessions/:id/connect?token=...Real-time audio and transcript streaming