---
title: "Replace a policy's application list"
method: PUT
path: "/api/v1/policies/{policy_id}/applications"
tags: ["policies"]
---

# Replace a policy's application list

`PUT /api/v1/policies/{policy_id}/applications`

Replaces the set of applications attached to a policy. The provided list fully overwrites the policy's current applications (it is not additive).

## Path parameters

- `policy_id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- SetApplications — Replaces a policy's complete application list. `application_ids` fully replace the policy's applications (empty list clears them).
  - `application_ids` string[], required — The complete set of application IDs for this policy.
  - `elevated` boolean — When true, the policy applies only to elevated access requests.

## Response `200`

Policy

- Policy — A policy that gates access requests for a list of applications. When elevated, the policy applies only to elevated access requests; otherwise it applies to all access requests. Assign applications via PUT /policies/{id}/applications.
  - `application_ids` string[] — IDs of the applications this policy applies to
  - `default_policy` boolean, required — Whether this is the default policy
  - `elevated` boolean, required — When true, the policy applies only to elevated access requests
  - `id` string, uuid, required — Policy ID
  - `inserted_at` string, date-time
  - `lock_version` integer — Optimistic lock version
  - `title` string, required — Policy title
  - `updated_at` string, date-time

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `409` — Stale entry
- `422` — Validation error

---

[API](https://skmtc.net/accessowl/apis/accessowl-api.md) · [All operations](https://skmtc.net/accessowl/apis/accessowl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/accessowl/accessowl-api/versions/f01f507d4b4e/schema)
