Skip to main content
The Akapulu Labs API is the programmatic interface for building with Akapulu Labs: live conversations, scenarios, and scripted video clips.
For a browser conversation UI, use the Akapulu Labs Web SDK instead of calling connect and updates from frontend code. Put the API key on your server, have the browser call your connect route, and authenticate users on that route before starting a call. The SDK’s client and server libraries implement that flow, session state, realtime media wiring, and conversation detail and recording retrieval.Scripted clips have no Web SDK. Call the clip REST endpoints, or start from the Python example.

Authentication

All Akapulu Labs API endpoints require a Bearer API key in the Authorization header.

API Keys

To get started, create an account, sign in to Akapulu Labs, then create an API key and send it in the Authorization header for every request.

Base URL

Example Request

Error responses

Conversation connect, updates, detail, recording, and system-message errors return JSON with:
  • error: human-readable message
  • error_code: stable string you can switch on
HTTP status is still set, but several different failures share the same number (for example more than one kind of 403). Prefer error_code. The React SDK copies error_code onto error.code when the session fails. Client-only codes such as UPDATES_TIMEOUT are not returned by the REST API.

Getting Started

Use Starting a conversation for connecting and live status polling, During a conversation to inject context while a call is live, then Transcripts and recordings for conversation analysis. For talking-avatar video from a script, use Clips. The request-by-request flow is in Workflow. You can also create and manage scenarios (including hosted links), endpoints, and knowledge bases with the same Bearer API key. Secrets used in endpoint headers are still created in the dashboard.