/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
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 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.
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 itsworkspace_id.
Request
Response
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.
"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.
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.

