/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
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 sameprovider that listed it.
Request
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 itsworkspace_id.
Get a single number
Request
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.
"agent_id": null unbinds the number.
Label your numbers
Labels are free-form text for keeping an inventory readable — by team, region, campaign, or environment.Request
Release a number
Release a number back to the provider’s inventory. Returns204, daily billing stops, and the number disappears from the API immediately.
Request
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.

