Agents
Patch update to voice AI agent API
Partially update a Bolna voice AI agent: name, welcome message, webhook URL, voice, pronunciation words, calling guardrails, telephony provider and prompts.
PATCH
cURL
Partially update an existing agent. Unlike the full update (
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.
You can also combine multiple attributes in a single request:
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" }.
Updatable attributes
Only the following attributes can be updated viaPATCH. 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
Sendsynthesizer.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.
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
Combined patch
200 Response
Next steps
Full update (PUT)
Calling guardrails
Set inbound agent
Webhooks
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Update an agent
Response
agent status response

