Update Agent
Update an agent's deployment binding and/or its A2A exposure flags. See PATCH /agents/{agent_id}/stage/agent for the Versioned-surface settings (system prompt, LLM provider binding, conversation storage, evaluation, widget, and custom-variable settings), and PATCH /agents/{agent_id}/stage/voice for voice pipeline settings.
Authorization
OAuth2AuthorizationCodeBearer In: header
Path Parameters
uuidQuery Parameters
trueRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
deployment_id, a2a_open, and a2a_discoverable - the non-Versioned subset of what this schema used to carry in one call. Every field is independently optional so any subset can be sent alone; at least one is expected but that is left to the route to enforce, matching the rest of this file's patch schemas.
Every other field this schema used to declare (system_prompt, first_message, llm_provider, conversation_storage_enabled, evaluation settings, widget settings, custom_variables) moved to AgentStagePatchIn below, served from PATCH /agents/{agent_id}/stage/agent - those are the Versioned-surface fields a future Publish step snapshots, while deployment_id/a2a_open/a2a_discoverable are not part of that surface and stay on this original route.
voice moved to its own dedicated PATCH /agents/{agent_id}/stage/voice
route (AgentVoicePatchIn accepted directly as that endpoint's body,
rather than nested under a voice key) - it carries the agent's entire
voice configuration and warrants its own endpoint rather than sharing
this one, matching every other Versioned-surface field's move above.
extra="forbid" so a client still sending a since-relocated field here (e.g. system_prompt, voice) gets a clear 422 instead of a silent no-op.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/agents/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "deployment_id": "6ef0ac85-9892-4664-a2a5-58bf2af5a8a6", "llm_provider": "string", "llm_credential_id": "9f53723b-12ec-46a5-bdaa-fe324d964044", "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b", "event_org_id": "38381290-8ff7-413c-a0d2-e750a21c5122", "system_prompt": "string", "first_message": "string", "a2a_open": true, "a2a_discoverable": true, "conversation_storage_enabled": true, "voice": { "pipeline_mode": "string", "language": "string", "voice_id": "2235c634-e4db-4ad6-aa15-066fb69b1c8f", "stt_credential_id": "eb187100-9387-457a-a988-b0410c4a2c25", "tts_credential_id": "e0d3c1fd-2fa1-4193-a64f-4bf411783f94", "realtime_credential_id": "0abad67d-3a88-469c-b861-de9ea624ac84", "silence_end_call_timeout_secs": 0, "cascade": { "stt_provider": "string", "stt_model": "string", "tts_provider": "string", "tts_model": "string", "enable_interruptions": true, "min_words_before_interruption": 0, "vad_confidence": 0, "vad_start_secs": 0, "vad_stop_secs": 0, "vad_min_volume": 0, "turn_model": "string", "eagerness": "string", "turn_timeout_secs": 0, "asr_keywords": [ "string" ], "filter_background_speech": true, "input_audio_format": "string", "interruption_ignore_terms": [ "string" ], "transcribe_on_disabled_interruptions": true }, "s2s": { "realtime_provider": "string", "realtime_model": "string", "turn_detection_type": "string", "turn_threshold": 0, "prefix_padding_ms": 0, "silence_duration_ms": 0, "eagerness": "string" } }, "has_workflow": false, "state_schema": {}, "evaluation_enabled": true, "extraction_field_defs": [ { "name": "string", "type": "string", "description": "string", "enum_values": [ "string" ] } ], "evaluation_criteria_defs": [ { "name": "string", "description": "string" } ], "pii_redaction_enabled": true, "widget_enabled": true, "widget_public": true, "widget_embed_key": "string", "widget_accent_color": "string", "widget_orb_color_1": "string", "widget_orb_color_2": "string", "widget_allowed_domains": [ "string" ], "widget_placement": "string", "widget_style_overrides": { "property1": "string", "property2": "string" }, "custom_variables": { "property1": "string", "property2": "string" }, "max_conversation_duration_seconds": 0, "max_duration_message": "string", "conversation_retention_days": 0, "store_call_audio": true, "client_events": [ "string" ], "chat_mode_enabled": true, "dtmf_enabled": true, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}{ "detail": "string", "code": "string"}{ "detail": [ { "loc": [ "string" ], "msg": "string", "type": "string" } ]}