---
title: "Set one complete action policy"
method: PUT
path: "/v1/pools/{id}/action-policies"
tags: ["Pools"]
---

# Set one complete action policy

`PUT /v1/pools/{id}/action-policies`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/v1/pools/{id}/action-policies`
- Auth: HTTP bearer

Requires an account admin. Approve and auto require active Predict and Route with accepted current terms and the kill switch off. Auto also requires a recent complete trusted matching shadow cycle. Off and recommend can be saved without activation. Recommendations require Predict. Saving a policy does not execute an action.

## Path parameters

- `id` string, required

## Request body

- PoolActionPolicyRequest
  - `kind` 'idle_reclaim' | 'defragment' | 'drain_window' | 'wait_tuning', required
  - `level` 'off' | 'recommend' | 'approve' | 'auto', required
  - `window_cron` string, required: Weekly UTC minute hour * * weekday. Minute, hour and weekday accept *, integer lists and inclusive ranges. No steps, names, macros, duplicate values or leading zeros. Weekday 0 is Sunday.
  - `parallelism_cap` integer, required

## Response `200`

Set one complete action policy

- PoolActionSettings
  - `pool_id` string, required
  - `kill_switch` boolean, required
  - `policies` PoolActionPolicy[], required
    - `kind` 'idle_reclaim' | 'defragment' | 'drain_window' | 'wait_tuning', required
    - `level` 'off' | 'recommend' | 'approve' | 'auto', required
    - `window_cron` string, required: Weekly UTC minute hour * * weekday. Minute, hour and weekday accept *, integer lists and inclusive ranges. No steps, names, macros, duplicate values or leading zeros. Weekday 0 is Sunday.
    - `parallelism_cap` integer, required
    - `updated_at` string, date-time, required
    - `shadow_qualified` boolean, required: A recent complete trusted cycle matches this policy configuration. This is evidence readiness, not execution authorization.
    - `shadow_producer_available` boolean, required: True only when this server implements a trusted shadow producer for this kind. This does not establish automatic qualification.

## Other responses

- `default`: Authentication, disabled feature, invalid input, missing pool or host, rate limits, and transient failures apply.

---

[API](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api.md) - [All operations](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/revisions/a59210899d95?raw)
