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

# Get Policy Preset

> Return one preset's full policy without adopting it.

## Overview

Returns a single preset's complete policy — retention table, rules, and purge
window — **without** writing anything to the agent. This is what makes an
informed confirmation possible: show the user exactly what they are about to
adopt before they commit.

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

<ParamField path="name" type="string" required>
  Preset name: `conservative`, `balanced`, or `aggressive`.
</ParamField>

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

<ResponseExample>
  ```json 200 - OK theme={null}
  {
    "name": "balanced",
    "description": "Sensible defaults for a working agent: transient state ages out in weeks, semantic knowledge in months, durable truths never.",
    "policy": {
      "version": 1,
      "retention": {
        "context": "7d",
        "event": "30d",
        "error": "30d",
        "observation": "60d",
        "commitment": "90d",
        "artifact": "180d"
      },
      "rules": [
        { "name": "pinned", "match": { "tags": ["pinned"] }, "expire_after": "never" },
        { "name": "scratch-notes", "match": { "tags": ["scratch", "temp"] }, "expire_after": "3d" },
        {
          "name": "low-confidence-guesses",
          "match": { "provenance": ["inferred"], "confidence_below": 0.5 },
          "expire_after": "14d"
        }
      ],
      "purge_expired_after": "never"
    }
  }
  ```

  ```json 404 - Not Found theme={null}
  {
    "detail": "Unknown preset 'nope'. Must be one of: aggressive, balanced, conservative."
  }
  ```

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

## Notes

* Read-only. The agent's stored policy is untouched.
* Unset match conditions are omitted rather than returned as `null`.
* The returned `policy` object is shaped exactly like a [Set Expiry Policy](/api-reference/policy/set-policy) body, so it can be edited and sent straight back.

## Next Steps

* [Apply Policy Preset](/api-reference/policy/apply-policy-preset) to adopt it as-is
* [Set Expiry Policy](/api-reference/policy/set-policy) to adopt a modified version
