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, or null if 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 →