Skip to main content
PATCH
cURL
Partially update an existing agent. Unlike the full update (PUT), which replaces the entire agent configuration, PATCH only touches the attributes you include in the request body — everything else is left unchanged. Returns HTTP 200 with { "message": "success", "state": "updated" }.
Use PATCH for small, targeted edits (renaming an agent, swapping a voice, updating a webhook URL). Use PUT when you need to rewrite tasks, toolchains, or the full prompt structure.

Updatable attributes

Only the following attributes can be updated via PATCH. Any other field in the body is ignored.
All agent-config attributes go inside the agent_config object. agent_prompts is a top-level key, a sibling of agent_config.

pronunciation_rules

Send synthesizer.pronunciation_rules to replace the agent’s pronunciation word list. The rest of the voice stays as saved. On a multilingual agent, it replaces the list of the language the agent starts in. Send [] to clear it.
The list is applied to calls a few seconds later, and Get pronunciation status tells you when. See Pronunciation for limits and per-language lists.

calling_guardrails

Restrict when your agent places outbound calls. Calls triggered outside the allowed window are automatically rescheduled to the next allowed start time in the recipient’s timezone. It accepts two keys:
Update calling guardrails
Hours use 24-hour format: 0 = midnight, 9 = 9 AM, 17 = 5 PM, 21 = 9 PM. See the Calling Guardrails guide for rescheduling behavior and regional calling regulations.

telephony_provider

Switch the telephony provider the agent uses. When changed, the agent’s audio input/output format is updated automatically to match the provider (wav for twilio/plivo/exotel/vobiz, linear16 for trunk, ulaw for sip-trunk). Accepted values: twilio, plivo, exotel, vobiz, trunk, sip-trunk, default. trunk is the provider for SIP trunks; sip-trunk is for Legacy SIP trunks (deprecated).
Switch to SIP trunk
An agent on trunk places outbound calls from your trunk’s numbers. To answer inbound calls, assign the agent to a trunk number with PATCH /trunk/numbers/{number_id}. See Receive calls on a SIP trunk.

Examples

You can also combine multiple attributes in a single request:
Combined patch
200 Response

Next steps

Full update (PUT)

Replace the entire agent configuration, tasks, and prompts.

Calling guardrails

Control outbound call timing and rescheduling.

Set inbound agent

Map a phone number to an agent for inbound calls.

Webhooks

Receive call results without polling.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

agent_id
string<uuid>
required

Body

application/json

Update an agent

agent_config
object

Configuration of the agent

agent_prompts
object

Prompts to be provided to the agent. It can have multiple tasks of the form task_<task_id>

Response

agent status response