Skip to content
Browse the docs

Kalima REST API v1

Authenticate with an API key, read sessions and transcripts, and submit audio for transcription.

The Kalima REST API is available on Pro, Team, and Enterprise. It lets an integration read your saved sessions and transcripts or submit an audio file for background transcription.

Note

API key self-service is not yet available in account settings. Contact support to request a key for an eligible account. Store the returned key securely because its secret is shown only once.

Authentication and scopes

Send the key as a bearer token with every request:

Authorization: Bearer kal_xxxxxxxxxxxxxxxxxxxx

Use the read scope to list sessions and fetch transcripts. Add write only when the integration must submit audio. Keys are tied to the account that created them, and responses include only sessions owned by that account.

Endpoints

Base URL: https://meetkalima.com/api/v1

Method and pathPurpose
GET /sessionsList saved sessions with pagination
GET /sessions/{id}Read one session
GET /sessions/{id}/transcriptRead transcript segments
POST /transcriptionsUpload audio and queue transcription
GET /openapi.jsonDownload the machine-readable OpenAPI contract

Submit audio

Send multipart/form-data with a file field. You can optionally include durationMs.

curl -X POST "https://meetkalima.com/api/v1/transcriptions" \
  -H "Authorization: Bearer kal_xxx" \
  -F "file=@meeting.mp3"

The response contains a sessionId, a jobId, and the status queued. Poll GET /sessions/{id}/transcript until transcript segments appear. The produced transcript duration is charged against the key owner's transcription balance.

Errors and limits

An invalid or missing key returns 401. A missing scope or ineligible plan returns 403. Exceeding the plan's API request allowance returns 429. Revoke a key immediately if it may have been exposed.