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, 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.
Availability is not a reservation — 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.

List your numbers

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

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 — nothing to redeploy.
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.

Authentication

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.