Skip to main content

API Reference

The Kallglot API is organized around REST principles. It uses standard HTTP response codes, authentication, and verbs.

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
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
ana_Analysis
kst_Stream token
wh_Webhook endpoint
evt_Webhook event

Pagination

List endpoints support cursor-based pagination:
curl "https://api.kallglot.com/v1/sessions?limit=10&starting_after=sess_01HXYZ"
ParameterTypeDescription
limitintegerNumber of items to return (1-100, default 20)
starting_afterstringCursor for forward pagination
ending_beforestringCursor for backward pagination

Paginated Response

{
  "object": "list",
  "data": [
    { "id": "sess_01HXYZ...", "object": "session", ... }
  ],
  "has_more": true,
  "url": "/v1/sessions"
}

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 24 hours
  • Retrying with the same key returns the same response
  • Use UUIDs or other unique identifiers
See Idempotency for more details.

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

Sessions

MethodEndpointDescription
POST/v1/sessionsCreate a new session
GET/v1/sessions/:idRetrieve a session
POST/v1/sessions/:id/endEnd a session
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/downloadDownload recording file

Analysis

MethodEndpointDescription
POST/v1/sessions/:id/analysisRequest session analysis
GET/v1/analysis/:idRetrieve analysis results

Streaming

ProtocolEndpointDescription
WebSocketwss://stream.kallglot.com/v1/sessions/:id/connectReal-time audio streaming