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

# List Policy Presets

> List the predefined expiry policy bundles.

## Overview

Returns a summary of every shipped policy preset. Each is a complete policy meant
as a starting point. To see a preset's full contents without adopting it, use
[Get Policy Preset](/api-reference/policy/get-policy-preset).

## Authentication

API clients do not send an API key or `Authorization` header.

<ParamField header="X-Session-Token" type="string" required>
  Session token from [Activate Agent](/api-reference/sessions/activate-agent). Must match `agent_id`.
</ParamField>

## Path Parameters

<ParamField path="agent_id" type="string" required>
  The unique identifier of the agent.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl "http://localhost:8000/api/v2/agents/my-agent/policy/presets" \
    -H "X-Session-Token: your_session_token"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - OK theme={null}
  {
    "presets": [
      {
        "name": "conservative",
        "description": "Expire only fast-rotting state. Nothing durable ages out, and nothing is ever purged.",
        "retention": { "context": "30d", "event": "90d", "error": "90d" },
        "rule_count": 1,
        "purge_expired_after": "never"
      },
      {
        "name": "balanced",
        "description": "Sensible defaults for a working agent: transient state ages out in weeks, semantic knowledge in months, durable truths never.",
        "retention": {
          "context": "7d",
          "event": "30d",
          "error": "30d",
          "observation": "60d",
          "commitment": "90d",
          "artifact": "180d"
        },
        "rule_count": 3,
        "purge_expired_after": "never"
      },
      {
        "name": "aggressive",
        "description": "Keep the working set tight. Most types age out quickly and expired memories are purged after a year.",
        "retention": {
          "context": "3d",
          "event": "14d",
          "error": "14d",
          "observation": "30d",
          "commitment": "30d",
          "artifact": "60d",
          "fact": "180d",
          "decision": "180d",
          "goal": "180d",
          "learning": "180d"
        },
        "rule_count": 3,
        "purge_expired_after": "365d"
      }
    ]
  }
  ```

  ```json 401 - Unauthorized (Missing Token) theme={null}
  {
    "detail": "Missing session token. Use X-Session-Token header."
  }
  ```
</ResponseExample>

## Notes

* In every preset, `preference`, `instruction` and `relationship` are absent from the retention table, so they never expire on a timer.
* Every preset includes a `pinned` rule exempting anything tagged `pinned`.
* Only `aggressive` enables purging.

## Next Steps

* [Get Policy Preset](/api-reference/policy/get-policy-preset) for one preset's full policy
* [Apply Policy Preset](/api-reference/policy/apply-policy-preset) to adopt one
