---
title: "Activate a draft or roll back from an immutable retired version"
method: POST
path: "/v1/policies/{id}/activate"
tags: ["Policies"]
---

# Activate a draft or roll back from an immutable retired version

`POST /v1/policies/{id}/activate`

## Request

- Base URL: `https://api.thrd.email`
- URL: `https://api.thrd.email/v1/policies/{id}/activate`
- Auth: HTTP bearer

Requires policies:manage plus human admin authority. Activation retires the previous active version transactionally; rollback creates a new immutable version.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Admin-Token` string, required

## Request body

- object

## Response `200`

Active version

- object
  - `version` object, required
    - `id` string, uuid, required
    - `tenantId` string, uuid, required
    - `environment` 'development' | 'staging' | 'production', required
    - `policyId` string, uuid, required
    - `version` integer, required
    - `status` 'draft' | 'active' | 'retired', required
    - `policyHash` string, required
    - `engineVersion` string, required
    - `documentJson` object, required
    - `createdAt` string, date-time, required
    - `activatedAt` string, date-time, nullable, required
    - `retiredAt` string, date-time, nullable, required
  - `rolledBackFromVersionId` string, uuid, nullable, required

## Other responses

- `401`: Human admin authority required
- `404`: Tenant-bound version not found

---

[API](https://skmtc.dev/thrd/apis/thrd-agent-email-api.md) · [All operations](https://skmtc.dev/thrd/apis/thrd-agent-email-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thrd/apis/thrd-agent-email-api/revisions/d8a88129cd34?raw)
