Skip to content

API reference

One resource per page below. Every endpoint is relative to the base URL and needs a bearer token; request and response bodies are JSON.

Base URL

https://api.sautipbx.com/api

Auth header (every request)

Authorization: Bearer sk_live_...
  • Types. string, integer, boolean, object (JSON object), array. A type marked nullable may be null.
  • Timestamps are ISO-8601 strings in UTC (e.g. 2026-07-05T10:00:00Z). Money is a decimal string in KES (e.g. "12.50"), never cents.
  • Identifiers. Every resource has a stable uuid. Calls also carry a human-friendly sid (e.g. call_9Xk2).
  • Errors return the matching HTTP status with a body { "detail": "..." }: see Errors for the full table.
  • Idempotency. Endpoints that place a call or spend money accept an Idempotency-Key header. See Rate limits & idempotency.

A lightweight, unauthenticated status probe for your uptime monitor:

Terminal window
curl https://api.sautipbx.com/api/health/

Returns 200 { "status": "ok" } when healthy, or 503 { "status": "degraded" }. No Authorization header needed.

Every endpoint is also generated live from the running API as an OpenAPI schema, with a browsable “try it out” explorer. Useful for poking at a request shape without leaving your browser.