SautiPBX API
SautiPBX turns phone calls into something you control with code. Acquire numbers, place and receive calls, and drive them with simple XML verbs. Over one REST API, billed per second in Kenyan Shillings.
How it works
Section titled “How it works”Two ideas run through the whole platform:
- The REST API is how you talk to us. Place a call, buy a number, read call records, check your balance. You authenticate with a secret API key.
- Voice webhooks are how we talk to you. When a call needs instructions, we POST the call’s
details to your URL and you reply with a
<Response>document of verbs telling us what to do.
Everything a call does. Ring, answer, complete. Is also pushed to you live over a WebSocket, and stored on a call record you can query later.
Base URL
Section titled “Base URL”All REST endpoints live under a single base URL:
https://api.sautipbx.com/apiRequests and responses are JSON. Send your API key as a bearer token on every request: see Authentication.
Start here
Section titled “Start here”QuickstartFrom sign-up to your first call in five minutes.
Core conceptsHow the REST API, webhooks and the event stream fit together.
AuthenticationAPI keys, bearer tokens, and keeping secrets safe.
Call controlThe verb vocabulary that drives every call.
API referenceEvery endpoint, one page per resource.
Browser SDKEmbed a softphone in your web app. Place and receive web calls.
Conventions
Section titled “Conventions”- Every resource has a stable
uuid. Calls also carry a human-friendlysid(e.g.call_...). - Money is in KES as a decimal string, never cents.
- Timestamps are ISO-8601 in UTC.
- Write requests that place calls or spend money accept an
Idempotency-Keyheader, so retries are safe.