Skip to main content

Quick Start Guide

This guide walks you through creating a real-time voice translation session using the Kallglot API.

Choose Your Telephony Path

Before creating a session, decide how the call will reach Kallglot:
  1. Kallglot-managed number: use an active number provisioned by Kallglot
  2. External provider connection: use your own Twilio or Telnyx account via routing.connection_id
  3. SIP / PBX: create the session first, then route your PBX call to sip:<session_id>@sip.kallglot.com
See Choose your telephony integration for the routing guide.

Prerequisites

1

Get an API Key

Create your developer account at kallglot.com, then generate an API key in the Developer Portal.
2

Activate Billing

Make sure the organization has an active subscription and available API credits before sending production API requests.

Base URLs

Create a Session

A session establishes a real-time voice connection with Kallglot. The example below uses a Kallglot-managed number because it is the fastest setup path.
Request shape: use routing, not provider. For POST /v1/sessions, telephony selection belongs under routing (phone_number, connection_id, or SIP fields per Create Session). The session response may include a string field provider (for example "twilio") describing which carrier was resolved—that is not something you send as provider: { "type": "twilio", ... } in the request body. Older samples that used a nested provider object for outbound creation are not the public contract; integrations should always follow routing.
Language auto-detection: source_language and target_language are optional. When omitted, Kallglot infers each speaker’s language from the audio. Set them explicitly when you already know the pair for more predictable startup behavior.

Response

Successful POST /v1/sessions requests currently consume 1 API credit. Check X-API-Credits-Remaining and X-API-Credits-Used in the response headers to track usage. If the organization subscription is inactive, the API returns 403 organization_inactive. If credits are exhausted, it returns 402 insufficient_api_credits.

Connect to the WebSocket

The session response includes a WebSocket URL for real-time streaming. The token expires in 5 minutes, so connect promptly. Once connected, token expiry does NOT terminate the stream.

End the Session

When the conversation is complete, end the session to stop billing:

Response

Retrieve the Transcript

After the session ends, retrieve the complete transcript:

Response

Next Steps

Session Modes

Learn about different translation modes

Webhooks

Set up real-time event notifications

AI Agents

Deploy intelligent voice agents

Error Handling

Handle errors gracefully