> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nedzo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update agent

> Update an existing AI agent by ID via the Nedzo REST API. Modify the agent prompt, voice, language, model, actions, or knowledge base configuration.

Update an agent's details. All fields are optional - only provided fields will be updated.

## Path Parameters

<ParamField path="id" type="string" required>
  The unique UUID of the Agent
</ParamField>

## Common Fields

<ParamField body="name" type="string">
  Agent name (1-255 characters)
</ParamField>

<ParamField body="isActive" type="boolean">
  Whether the agent is active
</ParamField>

<ParamField body="prompt" type="string">
  System prompt for the agent
</ParamField>

<ParamField body="language" type="string">
  Agent language. Valid values: `english`, `spanish`, `french`, `german`, `portuguese`, `dutch`, `chinese`, `japanese`
</ParamField>

<ParamField body="direction" type="string">
  Call direction for Voice agents: `inbound` or `outbound`. Only applicable to Voice agents.
</ParamField>

## Type-Specific Fields

<Tabs>
  <Tab title="Voice">
    <ParamField body="openingLine" type="string">
      Opening line the agent says when starting a conversation
    </ParamField>

    <ParamField body="voiceId" type="string">
      Voice ID for text-to-speech
    </ParamField>

    <ParamField body="voicemail" type="boolean">
      Enable voicemail detection. Typically used with outbound direction.
    </ParamField>

    <ParamField body="voicemailMessage" type="string">
      Message to leave on voicemail
    </ParamField>

    <ParamField body="backgroundSound" type="boolean">
      Enable background sound
    </ParamField>

    <ParamField body="hipaaCompliance" type="boolean">
      When this is enabled, no logs, recordings, or transcriptions will be stored
    </ParamField>

    <ParamField body="callDuration" type="integer">
      Maximum call duration in minutes, 1-60
    </ParamField>

    <ParamField body="speed" type="number">
      Voice speed multiplier, 0.5-1.5
    </ParamField>

    <ParamField body="postConversationWebhookUrl" type="string">
      URL to receive a POST request after each conversation ends. The payload includes the transcript, summary, outcome, duration, contact details, and extracted fields. Set to `null` to disable. See the [Post-conversation webhook](/agents/post-conversation-webhook) page for the full payload.
    </ParamField>

    <ParamField body="postCallWebhookUrl" type="string" deprecated>
      **Deprecated.** Use `postConversationWebhookUrl` instead. Still accepted on input for backwards compatibility; responses always use the new field.
    </ParamField>
  </Tab>

  <Tab title="Chat">
    <ParamField body="postConversationWebhookUrl" type="string">
      URL to receive a POST request after each chat conversation ends (SMS, Instagram, Messenger, email, or web chat). The payload includes the transcript, summary, channel, contact details, and extracted fields. Set to `null` to disable. See the [Post-conversation webhook](/agents/post-conversation-webhook) page for the full payload.
    </ParamField>
  </Tab>

  <Tab title="Widget">
    <ParamField body="postConversationWebhookUrl" type="string">
      URL to receive a POST request after each web agent conversation ends. The payload includes the transcript, summary, outcome, duration, and extracted fields. Set to `null` to disable. See the [Post-conversation webhook](/agents/post-conversation-webhook) page for the full payload.
    </ParamField>
  </Tab>
</Tabs>

<RequestExample>
  ```bash cURL theme={null}
  curl -X PATCH "https://api.nedzo.ai/v1/agents/123e4567-e89b-12d3-a456-426614174000" \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "Updated Agent Name",
        "prompt": "Updated system prompt...",
        "isActive": true,
        "backgroundSound": true,
        "openingLine": "Hello! How can I help you today?",
        "language": "spanish",
        "voicemail": false,
        "voicemailMessage": "Please leave a message after the tone.",
        "callDuration": 30,
        "voiceId": "voice_123",
        "postConversationWebhookUrl": "https://example.com/webhooks/conversation-completed"
      }'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Updated Agent Name",
    "agentType": "Voice",
    "direction": "inbound",
    "prompt": "Updated system prompt...",
    "isActive": true,
    "backgroundSound": true,
    "openingLine": "Hello! How can I help you today?",
    "language": "spanish",
    "voicemail": false,
    "voicemailMessage": null,
    "hipaaCompliance": false,
    "callDuration": 30,
    "speed": 1.0,
    "voiceId": "voice_123",
    "postConversationWebhookUrl": "https://example.com/webhooks/conversation-completed",
    "createdAt": "2024-01-15T10:30:00Z",
    "updatedAt": "2024-01-15T11:00:00Z"
  }
  ```
</ResponseExample>
