Update agent
Update specific fields of an existing agent configuration.
Authorizations
API key for authentication
Path Parameters
Agent resource ID
^[A-Za-z0-9]{22}$Body
Partial update request (PATCH semantics - only provided fields are updated)
Human-readable agent name
1 - 200"Updated Agent Name"
Agent type. Active types that can be created via the v1 API:
- MODEL_TYPE_VOICE: Inbound voice calls (requires phone_number in E.164 format or SIP address)
- MODEL_TYPE_OUTBOUND_VOICE: Outbound voice calls (requires endpoint webhook URL)
- MODEL_TYPE_CHAT: Text-based chat agents (requires metadata.chat_endpoint)
- MODEL_TYPE_CHAT_A2A: A2A JSON-RPC chat agents (requires metadata.chat_endpoint)
- MODEL_TYPE_CHAT_WEBSOCKET: Text chat over WebSocket (requires metadata.endpoint in direct mode)
- MODEL_TYPE_SMS: SMS messaging agents (requires phone_number in E.164 format)
- MODEL_TYPE_WEBSOCKET: WebSocket voice agents (requires metadata.endpoint wss:// URL in direct mode; metadata.initialization_json is optional)
- MODEL_TYPE_OPENAI_REALTIME: OpenAI Realtime voice-to-voice agents
- MODEL_TYPE_GEMINI_REALTIME: Gemini Live voice-to-voice agents
MODEL_TYPE_VOICE, MODEL_TYPE_OUTBOUND_VOICE, MODEL_TYPE_CHAT, MODEL_TYPE_CHAT_A2A, MODEL_TYPE_CHAT_WEBSOCKET, MODEL_TYPE_SMS, MODEL_TYPE_WEBSOCKET, MODEL_TYPE_OPENAI_REALTIME, MODEL_TYPE_GEMINI_REALTIME "MODEL_TYPE_VOICE"
Phone number in E.164 format or SIP address for voice/SMS agents
200"+9876543210"
Custom API endpoint URL
200"https://api.newexample.com/agent"
Agent instructions/system prompt
"Updated instructions..."
Simulator-specific configuration (null = no change, {} = clear)
{ "key": "value" }Workflow configuration (null = no change, {} = clear)
{ "workflow": "config" }Associated metric IDs (null = no change, [] = clear)
["abc123def456ghi789jklm"]Associated test set IDs (null = no change, [] = clear)
["gT5wq2Hn"]Tags to associate with this agent. Null or omitted leaves tags unchanged. Pass [] to clear all tags.
["production"]Response
Agent updated successfully
Agent configuration resource.
Note: The active field (soft delete status) is managed internally and not exposed in API responses.

