Skip to main content
Everything you can set on a number’s Answer page in the dashboard can also be read and changed over the API. A change made here is saved through the same code path as the dashboard’s Save button, so it applies from the next call or text on every number, whichever stack it runs on. {id} is the numeric id from GET /v1/phone-numbers. Reads and changes are free. AI agents can do the same through the MCP server with get_phone_number_config, update_phone_number_config and list_phone_number_voices.

Sections

The configuration is grouped the way the dashboard’s tabs are: voice and sms report inherits_workspace_default: true while the number still uses your workspace’s default settings. The first change you make to either one gives the number its own copy, starting from those defaults, so nothing you didn’t mention changes.

How updates work

  • Send only what you want to change. Inside a section, fields you leave out keep their current value.
  • Lists are replaced as a whole: transfers.rules, qualification.questions, sms_referrals, forwarding.sequential_targets and ivr.menus. Fetch the config, edit the list, and send the whole list back. Items keep their id; leave id out to add a new one. A qualifying question you leave out is removed.
  • Unknown fields are rejected with a 400, so a typo never silently does nothing.
  • The response is the full configuration after the change.

Examples

Change the voice and the prompt

Pick a voice from the number’s voice list:
Then set it along with the agent’s instructions and greeting:

Set the transfer number

Cap SMS auto-replies at 30 per contact

The default is 50.

Replace the transfer rules

Turn on a phone menu

The first time you enable a menu, send the whole menu as above. After that you can change single fields, such as { "ivr": { "enabled": false } }.

Stack differences

Every setting works on both stacks, with three exceptions that follow the dashboard: GET /config reports the number’s stack as t1 or t2.

Not covered here

Creating or editing the knowledge documents and FAQs themselves (you can assign existing ones with knowledge.knowledge_base_ids and knowledge.faq_ids), creating event types, and generating or running the Tests tab’s test calls stay in the dashboard for now.