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

# Desativar agente conversa

## Desativar Agente em Conversa

Este endpoint permite desativar o agente de IA em uma conversa específica, fazendo com que as mensagens futuras não sejam processadas automaticamente pelo agente.

### Casos de uso

* Transferir conversa para atendimento humano
* Pausar respostas automáticas em conversas específicas
* Permitir intervenção manual em conversas sensíveis
* Desabilitar temporariamente o agente em conversas específicas

### Parâmetros

| Parâmetro      | Tipo    | Localização | Descrição                                                        |
| -------------- | ------- | ----------- | ---------------------------------------------------------------- |
| conversationId | string  | path        | ID da conversa (obrigatório)                                     |
| isAiEnabled    | boolean | body        | Define se o agente está ativo na conversa (false para desativar) |
| status         | string  | body        | Status da conversa (opcional)                                    |
| metadata       | object  | body        | Metadados adicionais da conversa (opcional)                      |

### Valores aceitos para status

* `UNRESOLVED` - Conversa não resolvida
* `RESOLVED` - Conversa resolvida
* `HUMAN_REQUESTED` - Solicitação de atendimento humano

<Card>
  <CardContent>
    Para desativar o agente, envie `isAiEnabled: false` no body da requisição.
  </CardContent>
</Card>

### Exemplos de código

<CodeGroup>
  ```javascript JavaScript theme={null}
  const deactivateAgent = async (conversationId) => {
    const response = await fetch(`https://dash.superagentes.ai/api/conversations/${conversationId}`, {
      method: 'PATCH',
      headers: {
        'Authorization': `Bearer ${seu_token_jwt}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        isAiEnabled: false,
        status: 'HUMAN_REQUESTED'
      })
    });
    
    const data = await response.json();
    return data;
  };
  ```

  ```python Python theme={null}
  import requests

  def deactivate_agent(conversation_id):
      headers = {
          'Authorization': f'Bearer {seu_token_jwt}',
          'Content-Type': 'application/json'
      }
      
      data = {
          'isAiEnabled': False,
          'status': 'HUMAN_REQUESTED'
      }
      
      response = requests.patch(
          f'https://dash.superagentes.ai/api/conversations/{conversation_id}',
          headers=headers,
          json=data
      )
      
      return response.json()
  ```

  ```curl cURL theme={null}
  curl --request PATCH \
    --url 'https://dash.superagentes.ai/api/conversations/conversation-id-1' \
    --header 'Authorization: Bearer seu_token_jwt' \
    --header 'Content-Type: application/json' \
    --data '{
      "isAiEnabled": false,
      "status": "HUMAN_REQUESTED"
    }'
  ```
</CodeGroup>

### Corpo da requisição

```json theme={null}
{
  "isAiEnabled": false,
  "status": "HUMAN_REQUESTED",
  "metadata": {
    "reason": "Customer requested human support"
  }
}
```

### Exemplo de resposta

<ResponseExample>
  ```json theme={null}
  {
    "id": "conversation-id-1",
    "status": "HUMAN_REQUESTED",
    "isAiEnabled": false,
    "channel": "whatsapp",
    "agent": {
      "id": "agent-id",
      "name": "Nome do Agente",
      "iconUrl": "https://exemplo.com/icon.png"
    },
    "lead": {
      "id": "lead-id",
      "email": "cliente@exemplo.com",
      "phoneNumber": "+5511999999999"
    },
    "metadata": {
      "reason": "Customer requested human support",
      "isFormSubmitted": false
    },
    "messages": [
      {
        "id": "message-id-1",
        "text": "Agente desativado. Conversa transferida para atendimento humano.",
        "from": "system",
        "createdAt": "2024-01-01T00:00:00.000Z",
        "conversationId": "conversation-id-1"
      }
    ],
    "workspace": {
      "id": "workspace-id",
      "organization": {
        "memberships": [
          {
            "user": {
              "email": "admin@empresa.com"
            }
          }
        ]
      }
    },
    "createdAt": "2024-01-01T00:00:00.000Z",
    "updatedAt": "2024-01-01T00:00:00.000Z"
  }
  ```
</ResponseExample>

### Códigos de resposta

| Código | Descrição                                |
| ------ | ---------------------------------------- |
| 200    | Agente desativado com sucesso            |
| 400    | Dados inválidos na requisição            |
| 401    | Token de autenticação inválido           |
| 403    | Sem permissão para acessar esta conversa |
| 404    | Conversa não encontrada                  |
| 500    | Erro interno do servidor                 |

### Eventos disparados

Quando um agente é desativado, os seguintes eventos podem ser disparados:

* **conversation-resolved**: Se o status for alterado para `RESOLVED`
* **human-requested**: Se o status for alterado para `HUMAN_REQUESTED`

Estes eventos podem acionar notificações por email para os administradores e clientes, dependendo da configuração do workspace.
