> ## 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.

# Referencia de API de Memoria

> Gestione memorias del agente y flujos de trabajo de aprobación programáticamente usando la API REST de EKB.

## Autenticación

Todos los endpoints requieren los siguientes encabezados:

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

## Endpoints

<AccordionGroup>
  <Accordion title="Obtener Configuración de Memoria del Agente">
    **`GET /agents/{agent_id}/memory-settings`**

    Devuelve la configuración actual de memoria para un agente.

    **Ejemplo de respuesta:**

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

  <Accordion title="Actualizar Configuración de Memoria del Agente">
    **`PUT /agents/{agent_id}/memory-settings`**

    Habilita, deshabilita o actualiza la configuración de memoria para un agente.

    **Cuerpo de solicitud:**

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

    **Ejemplo de respuesta:**

    ```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="Obtener Memorias Aprobadas Para un Agente">
    **`GET /agents/{agent_id}/memories`**

    Devuelve todas las memorias aprobadas para un agente, agrupadas por usuario.

    **Ejemplo de respuesta:**

    ```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="Obtener Memorias Aprobadas Para un Usuario Específico">
    **`GET /agents/{agent_id}/memories/user/{user_id}`**

    Devuelve registros de memoria aprobados para un usuario y un agente.

    **Ejemplo de respuesta:**

    ```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="Obtener Aprobaciones de Memoria Pendientes">
    **`GET /memory-approvals/pending`**

    Devuelve las aprobaciones de memoria pendientes para el usuario autenticado. Opcionalmente filtre por agente usando `?agent_id={agent_id}`.

    **Ejemplo de respuesta:**

    ```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="Aprobar o Rechazar una Memoria">
    **`POST /memory-approvals/{memory_id}/action`**

    Aprueba o rechaza un registro de memoria pendiente.

    **Cuerpo de solicitud:**

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

    **Ejemplo de respuesta:**

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

  <Accordion title="Eliminar una Memoria">
    **`DELETE /memories/{memory_id}`**

    Elimina un registro de memoria marcándolo como rechazado.

    **Ejemplo de respuesta:**

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