Skip to main content
An AI agent calls a number

Authorizations

Authorization
string
header
required

Every request sends Authorization: Bearer <token>. The token is either a panel session (a JWT from /auth/login, 12 hours) or an API key ft_<id>_<secret>. An API key is accepted only from an address on its IP allowlist (403 ip_not_allowed otherwise; 403 ip_allowlist_required for an old key that has none), is limited to its rate per minute (429 rate_limited with Retry-After; X-RateLimit-Limit/Remaining/Reset on every response), and at most 60 call placements a minute.

Headers

Idempotency-Key
string

Any string up to 255 characters. A retry with the same key and the same body gets the first answer again (with Idempotent-Replayed: true) instead of doing it twice; the same key with a different body is 409 idempotency_mismatch; while the first is still running, 409 idempotency_in_progress. Kept 24 hours.

Maximum string length: 255

Query Parameters

dry_run
boolean

true: check everything, place nothing, and return the plan.

Body

application/json
profile_id
string<uuid>
required
to
string
required
Example:

"+61412345678"

callback_url
string
caller_id
string
Example:

"+61298765432"

organisation_id
string<uuid>
reference
string
Maximum string length: 128
variables
object
Example:

Response

A dry run's plan