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

# Obter Agente

> Recuperar detalhes de um agente específico por ID

# Obter Agente

Recuperar detalhes completos de um agente específico, incluindo configurações, base de conhecimento e status atual.

## Endpoint

```
GET /api/v1/agents/{agent_id}
```

## Parâmetros de caminho

<ParamField path="agent" type="string" required>
  O identificador único do agente. Você pode encontrá-lo na lista de agentes.
</ParamField>

## Cabeçalhos da requisição

<ParamField header="Authorization" type="string" required>
  Token Bearer para autenticação. Formato: `Bearer talq_your_environment_token_here`
</ParamField>

## Exemplos de Requisição

<RequestExample>
  ```bash theme={null}
  # Requisição 1: Obter detalhes de um agente específico
  curl -X GET "https://app.talkover.ai/api/v1/agents/agent-uuid-1" \
    -H "Authorization: Bearer talq_your_environment_token_here"
  ```

  ```javascript theme={null}
  // Requisição 1: Obter detalhes de um agente específico
  const response = await fetch('https://app.talkover.ai/api/v1/agents/agent-uuid-1', {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer talq_your_environment_token_here'
    }
  });

  const result = await response.json();
  console.log(result);
  ```
</RequestExample>

<RequestExample>
  ```bash theme={null}
  # Requisição 2: Obter agente com ID específico
  curl -X GET "https://app.talkover.ai/api/v1/agents/550e8400-e29b-41d4-a716-446655440000" \
    -H "Authorization: Bearer talq_your_environment_token_here"
  ```

  ```javascript theme={null}
  // Requisição 2: Obter agente com ID específico
  const agent_id = '550e8400-e29b-41d4-a716-446655440000';
  const response = await fetch(`https://app.talkover.ai/api/v1/agents/${agent_id}`, {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer talq_your_environment_token_here'
    }
  });

  const result = await response.json();
  console.log(result);
  ```
</RequestExample>

## Resposta

### Resposta de Sucesso (200 OK)

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "data": {
      "id": "agent-uuid-1",
      "name": "Agente de Atendimento",
      "description": "Agente especializado em atendimento ao cliente",
      "status": "published",
      "language": "pt-BR",
      "voice_template_id": "voice-template-uuid-1",
      "voice_template_name": "Bianca",
      "knowledge_base": "Este é um agente de atendimento ao cliente especializado em resolver dúvidas e problemas dos clientes. Ele pode ajudar com informações sobre produtos, serviços, preços e suporte técnico.",
      "interrupt_sensitivity": "medium",
      "who_speaks_first": "agent",
      "initial_message": "Olá! Sou o agente de atendimento. Como posso ajudá-lo hoje?",
      "conversation_starters": [
        "Gostaria de informações sobre nossos produtos?",
        "Posso ajudá-lo com alguma dúvida?",
        "Precisa de suporte técnico?"
      ],
      "created_at": "2024-01-01T00:00:00Z",
      "updated_at": "2024-01-01T00:00:00Z"
    }
  }
  ```
</ResponseExample>

### Campos da Resposta

<ResponseField name="success" type="boolean" required>
  Indica se a operação foi bem-sucedida.
</ResponseField>

<ResponseField name="data" type="object" required>
  Dados completos do agente.

  <Expandable title="Objeto de Agente">
    <ResponseField name="id" type="string" required>
      Identificador único do agente.
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Nome do agente.
    </ResponseField>

    <ResponseField name="description" type="string">
      Descrição do agente.
    </ResponseField>

    <ResponseField name="status" type="string" required>
      Status atual do agente. Opções: `draft`, `published`, `unpublished`.
    </ResponseField>

    <ResponseField name="language" type="string" required>
      Idioma do agente (ex: `pt-BR`, `en-US`).
    </ResponseField>

    <ResponseField name="voice_template_id" type="string" required>
      ID do modelo de voz associado ao agente.
    </ResponseField>

    <ResponseField name="voice_template_name" type="string" required>
      Nome do modelo de voz associado ao agente.
    </ResponseField>

    <ResponseField name="knowledge_base" type="string" required>
      Base de conhecimento completa do agente.
    </ResponseField>

    <ResponseField name="interrupt_sensitivity" type="string" required>
      Sensibilidade à interrupção. Opções: `low`, `medium`, `high`.
    </ResponseField>

    <ResponseField name="who_speaks_first" type="string" required>
      Quem fala primeiro. Opções: `agent`, `human`.
    </ResponseField>

    <ResponseField name="initial_message" type="string">
      Mensagem inicial do agente.
    </ResponseField>

    <ResponseField name="conversation_starters" type="array">
      Array de iniciadores de conversa para o agente.
    </ResponseField>

    <ResponseField name="created_at" type="string" required>
      Timestamp ISO 8601 quando o agente foi criado.
    </ResponseField>

    <ResponseField name="updated_at" type="string" required>
      Timestamp ISO 8601 quando o agente foi atualizado pela última vez.
    </ResponseField>
  </Expandable>
</ResponseField>

## Respostas de erro

### 404 Não Encontrado

<ResponseExample>
  ```json theme={null}
  {
    "success": false,
    "message": "Agent not found"
  }
  ```
</ResponseExample>

### 401 Não Autorizado

<ResponseExample>
  ```json theme={null}
  {
    "success": false,
    "message": "Unauthorized"
  }
  ```
</ResponseExample>

### 500 Erro do Servidor

<ResponseExample>
  ```json theme={null}
  {
    "success": false,
    "message": "Internal server error."
  }
  ```
</ResponseExample>

## Códigos de erro

| Código            | Descrição                                 | Status HTTP |
| ----------------- | ----------------------------------------- | ----------- |
| `AGENT_NOT_FOUND` | Agente especificado não existe            | 404         |
| `INVALID_TOKEN`   | Token de autenticação inválido ou ausente | 401         |
| `SERVER_ERROR`    | Erro interno do servidor ocorreu          | 500         |

## Notas Importantes

<Info>
  **Dados completos.** Este endpoint retorna todos os detalhes do agente, incluindo configurações completas.
</Info>

<Info>
  **Base de conhecimento.** A base de conhecimento completa é retornada para análise e edição.
</Info>

<Info>
  **Configurações de comportamento.** Inclui todas as configurações de comportamento do agente.
</Info>

## Melhores Práticas

1. **Use para edição** - Use este endpoint para obter dados completos antes de editar um agente
2. **Verifique status** - Confirme o status do agente antes de fazer alterações
3. **Analise configurações** - Revise todas as configurações antes de publicar
4. **Monitore atualizações** - Use `updated_at` para acompanhar mudanças
5. **Trate erros** - Implemente tratamento adequado de erros para agentes não encontrados

## Endpoints relacionados

* **Listar Agentes**: `GET /api/v1/agents`
* **Criar Agente**: `POST /api/v1/agents`
* **Atualizar Conhecimento do Agente**: `PUT /api/v1/agents/{agent_id}/knowledge`
* **Atualizar Voz do Agente**: `PUT /api/v1/agents/{agent_id}/voice`
* **Excluir Agente**: `DELETE /api/v1/agents/{agent_id}`
