SMAO API Documentation
Public API

Public API

Programmatic access to assistants, knowledge, contacts, calls, and statistics.

The Public API gives you programmatic access to the resources you manage in the dashboard, scoped to your own organization. Use it to sync knowledge from your CMS, mirror contacts from your CRM, trigger outbound calls from your backend, and pull transcripts and usage numbers into your own reporting.

Base URLs: https://api.smao.ai/api/v1 (production) and https://api2.smao.ai/api/v1 (development). API operations require a bearer token. The raw /openapi.yaml and /openapi.json specifications are public; retired /docs URLs redirect to this site before authentication. See Authentication. There are no event-delivery webhooks: poll for state changes such as knowledge sync status or call results.

New here? Start with the quickstart.

What you can build

Conventions

API-defined field names are snake_case; caller-defined JSON such as tool parameters and custom headers keeps the keys you supply. Timestamps are ISO-8601 UTC, and object IDs are 24-character lowercase hex strings. List endpoints use opaque cursor pagination (limit + cursor, meta.next_cursor). Errors use a single envelope — see Errors. Matched operations that reach the rate limiter use per-key buckets with defaults of 1000 reads/min, 200 writes/min, and 60 POST /calls requests/hour. Successful responses include X-RateLimit-* headers; see Errors for exceptions and retry behavior.

API reference

The full endpoint reference is generated from the OpenAPI spec — see the sidebar. Each endpoint page includes an interactive playground. The raw spec (tenant-branded per host) is at api.smao.ai/api/v1/openapi.yaml.

On this page