Documentation menu

API reference

Introduction

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://sauti-pbx.services.co.ke/api

Auth header (every request)

Authorization: Bearer sk_live_...

Conventions

  • 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").
  • 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.

Resources

Health check

A lightweight, unauthenticated status probe for your uptime monitor:

GET/health/

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

Interactive schema

Every endpoint below 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:

Paste your bearer token into the explorer's "Authorize" button before trying a live request — it never leaves your browser.