developers
docs
Free to start·Pay as you go·No platform fees

Voice API documentation.

Use the REST API to provision numbers, place and receive calls, run WhatsApp Business calling and messaging on the numbers you already own, subscribe to webhooks, and track a prepaid wallet.

Base URLhttps://api.sautikit.com
Versionv1
CurrencyKES

Quickstart

From zero to a live call in three steps. You'll need a workspace (free) and a little wallet credit for the number and minutes.

Get an API key

Create a key in the console under Settings → API keys. Live keys start with eyJhbGciOiJF....

Buy a voice number

Purchase a number via the API or console, then point it at your callback URL.

Place your first call

POST to /v1/calls and listen for webhook events as it rings, answers and ends.

first-call.sh
# place an outbound call
curl -X POST https://api.sautikit.com/v1/calls \
  -H "Authorization: Bearer $SAUTIKIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "+254200000001",
    "to": ["+254712345678"],
    "webhook_url": "https://your-app.example.com/webhook"
  }'

Authentication

Every request needs a bearer token. Mint one in the console under API keys. Scope a restricted key to a single purpose.

auth.sh
# Set your live API key
export SAUTIKIT_API_KEY="eyJhbGciOiJF......"

# Every request needs Authorization: Bearer
curl https://api.sautikit.com/v1/numbers/available \
  -H "Authorization: Bearer $SAUTIKIT_API_KEY"

Per-endpoint auth requirements are listed on each operation page in the API reference.

Webhooks

Subscribe to call, number, and wallet events. Every webhook is HMAC-SHA256 signed; verify with the secret from your endpoint config.

call.startedcall.answeredcall.completedcall.failedrecording.readynumber.provisionednumber.releasedwallet.top_upwallet.low_balancewhatsapp.event.receivedwhatsapp.call_permission.updatedwhatsapp.call.provisioned
signature-header.txt
X-Sautikit-Signature: t=1719500000,v1=<hex>

HMAC-SHA256 over body + '.' + ts. See Verify webhook signatures.

Each event's payload has its own page — start with call.started or wallet.low_balance. Create and manage subscriptions via the Webhooks group in the API reference.

SDKs

Official SDKs for the languages our customers use most. Install, set your key, you're shipping.

Node.js
npm i @sautikit/node
View SDK
Browser / WebRTC
npm i @sautikit/webrtc
View SDK

Integration prompt

Generate an API integration prompt.

Choose a stack and goal, then copy the generated prompt into Claude, ChatGPT, or Cursor. It includes SautiKit API references and the selected integration requirements.

Open the builder
ai-prompt.md
You are helping a developer build on Sautikit: programmable voice API, live in Kenya.

Reference (fetch this first, it is the canonical source):
  https://sautikit.com/developers.md
  https://sautikit.com/llms-full.txt
  https://sautikit.com/openapi.public.yaml

Authentication: API keys via Authorization: Bearer header.
Base URL: https://api.sautikit.com
Currency: KES (prepaid wallet).

Their task: <describe your goal>

Constraints:
  - Use the language/framework they mention or ask before choosing.
  - All code samples must be self-contained and runnable end-to-end.
  - Treat the page above as authoritative; do not invent endpoint names.