SMAO API Documentation
Public APICalls & recordings

Trigger an outbound call

POST
/calls

Starts an outbound call. Provide exactly one of assistant_id or assistant_phone to select the assistant, and exactly one of to or target_phone for the destination number (to is preferred, target_phone is an alias retained for backwards compatibility).

This operation uses the per-key outbound_trigger bucket (60 requests per hour by default) and a separate one-outbound-call-per-assistant cooldown over a rolling 60-second window. A cooldown rejection is 429 rate_limit_exceeded without Retry-After.

If the normalized destination equals the selected assistant's normalized own phone number, or exactly matches a caller-blocking entry assigned to that assistant, no call is created and the operation returns 409 outbound_target_blocked. The own-number restriction is intrinsic. Caller-blocking lists and Assistant assignments are managed in Dashboard → Settings → Blocked callers; the Public API does not expose caller-blocking configuration. Retrying the same destination while it remains blocked returns the same rejection.

Authorization

bearerAuth
AuthorizationBearer <token>

API key in the Authorization: Bearer <key> header. Keys are created in the SMAO dashboard (Settings → API Keys).

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Provide exactly one of assistant_id or assistant_phone, and exactly one of to or target_phone (target_phone is a legacy alias).

Provide exactly one of assistant_id or assistant_phone, and exactly one of to or target_phone (target_phone is a legacy alias).

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/calls" \  -H "Content-Type: application/json" \  -d '{    "assistant_id": "65a1234567890abcdef01234",    "to": "+12025550123"  }'
{  "data": {    "call_id": "string",    "assistant_id": "string",    "assistant_phone": "string",    "to": "string",    "status": "string",    "created_at": "2019-08-24T14:15:22Z"  }}