Skip to main content

Prerequisites

  • A Sarj.ai account
  • An API key — see Step 1 below
  • Python: pip install sarj-platform-sdk (recommended over raw requests)
If you’re using the MCP Server instead of the REST API, skip Step 1 — MCP clients receive an API key automatically via OAuth on first connect.
1

Get your API key

  1. Sign in at platform.sarj.ai
  2. Click Generate Key
  3. Copy the key and store it securely
Your API key is shown only once. Replace ... with it and store it as an environment variable:
2

Verify your setup

Confirm the API is reachable with a health check. This endpoint is public, so a successful response does not validate your API key.
Expected response:
3

Create your first call

Trigger an outbound voice call. Requires your API key and a scenario ID.
Create an active scenario at platform.sarj.ai/scenarios and copy its UUID. Set SARJ_SCENARIO_ID to that value and TEST_PHONE_NUMBER to a number you intend to call, in E.164 format. The UUID below is illustrative; replace it with your own scenario.
Expected response (202 Accepted):
4

Track the call

Store the returned data.id. Fetch it with GET /api/v1/calls/{call_id} for status, recording, transcript, and report, or configure webhooks for push delivery.Reports are generated asynchronously for completed and max_duration_reached calls, typically within a couple of minutes. Other terminal states never receive a report; rare generation failures can leave an eligible call without one too. Bound your polling and handle a missing report. Prefer permanent_recording_url; during its rollout, fall back to recording_url when the permanent field is null.See the Python SDK guide for an inspection example and future-call scheduling.

Response format

All endpoints use a standard response envelope. Success:
Error:
Always branch on error.type — the message field is for humans only.
Include meta.request_id in support tickets.
Last modified on October 26, 2026