---
title: "Update Policy Version Status"
method: PUT
path: "/policies/{policy_id}/status"
tags: ["policy_engine"]
---

# Update Policy Version Status

`PUT /policies/{policy_id}/status`

Update a policy version's status. Valid transitions:
- draft -> published
- published -> production (demotes current production to published)
- production -> published (demotes, policy becomes inactive)

## Path parameters

- `policy_id` string, required

## Request body

- PolicyVersionStatusUpdateRequest — Request body for updating a policy version's status.
  - `version_status` string, required — New status: 'published' or 'production'.

## Response `200`

Successful Response

- PolicyDBResponse — Response for a policy from the database.
  - `condition` object, nullable — Policy condition.
  - `created_at` string, date-time, nullable — When the policy was created.
  - `created_by` string, nullable — Who created the policy.
  - `definition_location` 'db' | 'config' — Where this policy is defined: 'db' (database) or 'config' (config.yaml).
  - `description` string, nullable — Policy description.
  - `guardrails_add` string[] — Guardrails to add.
  - `guardrails_remove` string[] — Guardrails to remove.
  - `inherit` string, nullable — Parent policy name.
  - `is_latest` boolean — True if this is the latest version by version_number.
  - `parent_version_id` string, nullable — Policy ID this version was cloned from.
  - `pipeline` object, nullable — Optional guardrail pipeline.
  - `policy_id` string, required — Unique ID of the policy.
  - `policy_name` string, required — Name of the policy.
  - `production_at` string, date-time, nullable — When this version was promoted to production.
  - `published_at` string, date-time, nullable — When this version was published.
  - `updated_at` string, date-time, nullable — When the policy was last updated.
  - `updated_by` string, nullable — Who last updated the policy.
  - `version_number` integer — Version number of this policy.
  - `version_status` string — One of: draft, published, production.

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-27** `b694deb1e459` — 2 info
  - api tag `policy_engine` added
  - api tag `Policies` removed
- **2026-09-26** `cfac079bcc04` — 2 info
  - api tag `Policies` added
  - api tag `policy_engine` removed
- **2026-09-25** `a4fccd4bf54d` — 2 info
  - api tag `policy_engine` added
  - api tag `Policies` removed
- **2026-09-21** `6246f8d427b7` — 2 info
  - api tag `Policies` added
  - api tag `policy_engine` removed
- **2026-09-19** `c357baf422ab` — 2 info
  - api tag `policy_engine` added
  - api tag `Policies` removed

[Full history](https://skmtc.dev/flock/apis/litellm-api/changes/policies/:policy_id/status/put.md)

---

[API](https://skmtc.dev/flock/apis/litellm-api.md) · [All operations](https://skmtc.dev/flock/apis/litellm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flock/apis/litellm-api/revisions/b694deb1e459?raw)
