Phone numbers
List the numbers your workspace owns and choose which agent answers each one.
The numbers your workspace owns: the ones you can use as caller ID on a call or campaign, and the ones your inbound agents answer. Buying and releasing numbers is console-only because it involves Indian regulatory linkage.
Number object:
{
"id": "num_…",
"number": "+918045678900",
"country": "IN",
"type": "local",
"status": "active",
"voiceEnabled": true,
"smsEnabled": false,
"inboundAgentId": "agt_…"
}
inboundAgentId- the agent that answers calls to this number, ornullif incoming calls aren’t answered.
List numbers
GET /v1/numbers · scope numbers:read
{ "data": [ { "id": "num_…", "number": "+91…", "status": "active", "inboundAgentId": null, … } ] }
Returns every number the workspace owns. Use an active number’s value as fromNumber when placing a call or in a campaign’s settings.fromNumber.
Choose who answers a number
PUT /v1/numbers/:id/inbound-agent · scope numbers:write
{ "agentId": "agt_…" }
Routes incoming calls on the number to this agent. Send { "agentId": null } to stop answering calls on it. Returns the updated number object in { "data": … }.
The agent must be a published voice agent created for inbound calls:
| Status | Code | Meaning |
|---|---|---|
400 |
agent_not_published |
The agent is a draft. Publish it first. |
400 |
agent_not_call |
It’s a chat agent. |
400 |
agent_not_inbound |
It was created for outbound calls. Create an inbound agent instead. |
404 |
- | No such number, or no such agent, in this workspace. |
Buying numbers
To rent or release a number, use the console. See Phone numbers in the product guide.
Next: Outcome boards →