Skip to main content
Phone numbers connect your agents to the telephone network. Each number lives in a workspace within your team (purchases land in your default workspace) and is bound to at most one agent: calls to the number are answered by that agent. The /v1/agent/phone-numbers API covers the whole lifecycle: search the purchasable inventory, buy a number (or import one you already own), bind it to an agent, and release it when you no longer need it.

Search available numbers

Search the purchasable inventory for a number to buy.
Request
The response is an available_phone_numbers array of inventory entries forwarded from the provider: number and region.
A listed number can still be claimed by someone else before you buy it.

Purchase a number

Buy a number from the inventory with the same provider that listed it.
Request
Returns 201 with the number object, the same shape the list endpoint returns. The number lands in your default workspace, and its monthly price is billed in daily slices. A 409 means the number is already on the platform; a 502 means the provider refused the purchase; the number stays visible with status error and is safe to release.
Already have a number at your own carrier? The same endpoint imports it with provider: "sip" instead of buying one: no rental fee, no telephony charges. See Bring your own number.

List your numbers

Returns your team’s phone numbers across its workspaces, newest first; each carries its workspace_id.
Request
Response

Get a single number

Request
Returns the same number object as the list endpoint.

Bind or unbind an agent

PATCH the number with an agent_id to change which agent answers it. Binding is resolved per call, so the change applies from the next inbound call.
Omitted fields are left unchanged. Only an explicit "agent_id": null unbinds the number.
Re-binding is how you promote an agent behind a stable number: point the number at a staging agent while you iterate, then PATCH it over to the production agent when you’re ready. The number itself never changes.

Label your numbers

Labels are free-form text for keeping an inventory readable: by team, region, campaign, or environment.
Request
The response is the updated number object.

Release a number

Release a number back to the provider’s inventory. Returns 204, daily billing stops, and the number disappears from the API immediately.
Request
Releasing is irreversible. Anyone, including other platforms, can buy the number afterwards, so callers who saved it may reach a stranger.

Going further

Inbound calls

What happens when someone dials a bound number.

API introduction

API keys and workspace scoping for every request.

Conversation history

Review phone sessions, transcripts, and recordings.

Versions & publishing

Publish configuration changes behind a stable number.