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

# Referência da API de Memória

> Gerencie memórias de agentes e fluxos de trabalho de aprovação programaticamente usando a REST API da EKB.

## Autenticação

Todos os endpoints requerem os seguintes headers:

```http theme={null}
x-api-key: <your-api-key>
x-api-secret: <your-api-secret>
Content-Type: application/json
```

## Endpoints

<AccordionGroup>
  <Accordion title="Obter Configurações de Memória do Agente">
    **`GET /agents/{agent_id}/memory-settings`**

    Retorna a configuração atual de memória para um agente.

    **Exemplo de resposta:**

    ```json theme={null}
    {
      "memory_enabled": true,
      "max_memories": 50,
      "auto_approve": false,
      "memory_types": ["preference", "fact", "context"]
    }
    ```
  </Accordion>

  <Accordion title="Atualizar Configurações de Memória do Agente">
    **`PUT /agents/{agent_id}/memory-settings`**

    Habilita, desabilita ou atualiza a configuração de memória de um agente.

    **Corpo da requisição:**

    ```json theme={null}
    {
      "memory_enabled": true,
      "max_memories": 50,
      "auto_approve": false,
      "memory_types": ["preference", "fact", "context"]
    }
    ```

    **Exemplo de resposta:**

    ```json theme={null}
    {
      "success": true,
      "message": "Memory settings updated successfully",
      "settings": {
        "memory_enabled": true,
        "max_memories": 50,
        "auto_approve": false,
        "memory_types": ["preference", "fact", "context"]
      }
    }
    ```
  </Accordion>

  <Accordion title="Obter Memórias Aprovadas para um Agente">
    **`GET /agents/{agent_id}/memories`**

    Retorna todas as memórias aprovadas para um agente, agrupadas por usuário.

    **Exemplo de resposta:**

    ```json theme={null}
    {
      "memories_by_user": {
        "user_123": [
          {
            "id": "memory_abc",
            "agent_id": "agent_123",
            "user_id": "user_123",
            "memory_content": "User prefers concise technical answers.",
            "memory_type": "preference",
            "confidence_score": 0.92,
            "status": "approved",
            "created_at": 1710000000,
            "updated_at": 1710000100,
            "approved_at": 1710000100,
            "source_message_id": "msg_123"
          }
        ]
      },
      "total_users": 1,
      "total_memories": 1
    }
    ```
  </Accordion>

  <Accordion title="Obter Memórias Aprovadas para um Usuário Específico">
    **`GET /agents/{agent_id}/memories/user/{user_id}`**

    Retorna registros de memória aprovados para um usuário e um agente.

    **Exemplo de resposta:**

    ```json theme={null}
    [
      {
        "id": "memory_abc",
        "agent_id": "agent_123",
        "user_id": "user_123",
        "memory_content": "User prefers concise technical answers.",
        "memory_type": "preference",
        "confidence_score": 0.92,
        "status": "approved",
        "created_at": 1710000000,
        "updated_at": 1710000100,
        "approved_at": 1710000100,
        "source_message_id": "msg_123"
      }
    ]
    ```
  </Accordion>

  <Accordion title="Obter Aprovações de Memória Pendentes">
    **`GET /memory-approvals/pending`**

    Retorna aprovações de memória pendentes para o usuário autenticado. Opcionalmente filtre por agente usando `?agent_id={agent_id}`.

    **Exemplo de resposta:**

    ```json theme={null}
    [
      {
        "id": "memory_abc",
        "agent_id": "agent_123",
        "user_id": "user_123",
        "memory_content": "User prefers concise technical answers.",
        "memory_type": "preference",
        "confidence_score": 0.92,
        "source_message": "Please keep answers short and technical.",
        "created_at": 1710000000,
        "expires_at": 1710604800
      }
    ]
    ```
  </Accordion>

  <Accordion title="Aprovar ou Rejeitar uma Memória">
    **`POST /memory-approvals/{memory_id}/action`**

    Aprova ou rejeita um registro de memória pendente.

    **Corpo da requisição:**

    ```json theme={null}
    {
      "action": "approve"
    }
    ```

    **Exemplo de resposta:**

    ```json theme={null}
    {
      "success": true,
      "message": "Memory approved successfully",
      "memory_id": "memory_abc"
    }
    ```
  </Accordion>

  <Accordion title="Excluir uma Memória">
    **`DELETE /memories/{memory_id}`**

    Exclui um registro de memória marcando-o como rejeitado.

    **Exemplo de resposta:**

    ```json theme={null}
    {
      "success": true,
      "message": "Memory deleted successfully",
      "memory_id": "memory_abc"
    }
    ```
  </Accordion>
</AccordionGroup>
