Skip to main content
POST
Create Phone Call

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

idempotency-key
string | null

Retry-safe replay key: the same key with the same body returns the call already placed instead of dialing again (24h window).

Body

application/json

POST phone-calls body, shared by the public and console routes.

to_number is deliberately not format-validated here: the contract orders the E.164 check after the agent/published checks, so it runs in the service with a machine-readable reason.

agent_id
string
required
phone_number_id
string
required

The team-owned number to dial from (twilio provider only).

to_number
string
required

Destination in E.164, e.g. +14155550123.

dynamic_variables
Dynamic Variables · object | null
overrides
AgentSessionOverridesPayload · object | null

Wire twin of @fishaudio/agent-protocol SessionOverrides (session.ts).

Every field must be allow-listed in Agent.overrides_allowed; unauthorized fields fail session creation loudly rather than being silently dropped.

metadata
Metadata · object | null

Response

Document created, URL follows

session_id
string
required
status
string
default:queued
Allowed value: "queued"