Phone
Use Phone endpoints for telephony resource management.
Authentication & scope
- Header:
X-API-Key: YOUR_API_KEY
- Read operations:
phone:read
- Write operations:
phone:write
- Use API Reference for Try-it on each phone endpoint.
GET /v1/phone/purchases
Lists purchased numbers for your organization.
Common status codes
200 success
403 missing phone:read
500 server error
Lists contacts for a purchased number.
Common status codes
200 success
403 missing phone:read
404 purchase not found
500 server error
POST /v1/phone/allocate-assistant
Assigns inbound/outbound agents to a number. Body is DTO-accurate to PhoneAssistantDTO.
Common status codes
200 success
400 validation error
403 missing phone:write
404 resource not found
500 server error
PATCH /v1/phone/{id}/call-forwarding
Configures conditional call forwarding for a purchased number. Body is DTO-accurate to UpdateCallForwardingDTO.
always — every inbound call is forwarded immediately, without connecting to the assistant.
unavailable — forwarded only if the number has no inbound assistant assigned.
no_answer — forwarded if the assistant doesn’t pick up within the connect timeout.
busy — accepted by the API but not yet enforced.
Set callForwardingEnabled: false to turn forwarding off; callForwardingNumber and callForwardingWhen are then ignored.
Common status codes
200 success
400 validation error (e.g. callForwardingNumber missing or not E.164 when enabled)
403 missing phone:write
404 phone purchase not found
500 server error
GET /v1/phone/{id}/call-forwarding/history
Lists forwarding events for a purchased number, most recent first.
Common status codes
200 success
403 missing phone:read
404 phone purchase not found
500 server error
POST /v1/phone/schedule-call
Schedules outbound calls. Body is DTO-accurate to ScheduleCallDTO.
201 Created
Common status codes
201 scheduled
400 validation error
403 missing phone:write
404 resource not found
500 server error
POST /v1/phone/contacts
Adds a single contact to a purchased phone number. Body is DTO-accurate to ManualContactDTO.
Common status codes
200 success
400 validation error, or contact already exists
403 missing phone:write
404 phone number not found
500 server error
POST /v1/phone/contacts/upload
Uploads a contact list file (.xlsx, .vcf, or .csv) for a purchased phone number. Each phone number in the file must include a country code (start with +).
200 OK
Common status codes
200 success
400 unsupported file type, or numbers missing country code
403 missing phone:write
404 phone number not found
500 server error
POST /v1/phone/announce
Places an outbound announcer call: the system dials the destination number and, once the call connects, speaks a one-way message — either synthesized from text or played back from an audio source — using the voice configured on the assistant allocated to the purchased number, then automatically hangs up. The call never listens for or accepts caller audio; nothing the recipient says is transcribed or acted on.
This is useful for reminders, alerts, one-time codes, or any broadcast-style message that doesn’t need a two-way conversation.
Provide exactly one of text, audioUrl, or the audioFile upload. Sending zero, or more than one, returns a 400.
How it’s routed
- The underlying telephony carrier for the purchased number is resolved automatically — you don’t choose it.
- The assistant used is the number’s
outboundAssistantId if set, otherwise its inboundAssistantId. That assistant must be configured with a voice provider that supports announcer calls; assistants configured to rely on a full conversational voice engine are rejected, since announcer calls are one-way only (no conversation, no listening).
- The call is placed first (a
Calls record is created and the number is dialed), and once it connects, the announcement is streamed into the live call audio.
- At the end of the call: the transcript, call analysis, and call tag are generated as with any other assistant call, and credit is deducted from your organization’s balance for call duration exactly as with
/v1/calls/phone/initiate.
Request body
201 Created
Use the returned id with the Calls endpoints — GET /v1/calls/{id}, GET /v1/calls/{id}/transcripts, GET /v1/calls/{id}/analysis, and GET /v1/calls/{id}/recording — to check on the announcement call afterwards.
Common status codes
201 announcer call initiated
400 validation error; zero or more than one of text/audioUrl/audioFile provided; the audio couldn’t be fetched or processed; the allocated assistant isn’t configured for announcer calls; the number’s carrier doesn’t support announcer calls; or the phone number is no longer active
403 missing phone:write
404 phone purchase or assistant not found
500 server error