---
title: "Apply a policy preset"
method: POST
path: "/v1/agents/{agent_id}/policy-preset"
tags: ["Policies"]
---

# Apply a policy preset

`POST /v1/agents/{agent_id}/policy-preset`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/agents/{agent_id}/policy-preset`
- Auth: HTTP bearer

**Applies through the agent update handler**, not by writing guardrail
columns. A preset that wrote them directly would be a way around the
guardrail widening approval flow wearing a friendlier interface.

So if the preset loosens something and your organisation gates that, you
get the same **202 with a pending approval** you would get from editing
the agent by hand — not a quietly applied change. Pass `approval_id`
once that approval is granted.

## Path parameters

- `agent_id` string, uuid, required

## Request body

- object
  - `preset` string, required
  - `approval_id` string, uuid

## Response `200`

Applied

## Other responses

- `202`: Queued behind a guardrail approval
- `403`: Insufficient permissions
- `404`: Resource not found

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/5fa0918f3b41?raw)
