---
title: "Set Active"
method: PUT
path: "/terms/{id}/active"
tags: ["terms"]
---

# Set Active

`PUT /terms/{id}/active`

## Request

- Base URL: `https://api.instruxi.dev/api/v1/enforcer`
- URL: `https://api.instruxi.dev/api/v1/enforcer/terms/{id}/active`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `X-API-Key`

Flips one document's is_active flag. There is no enforced "one active version per type" invariant — activating a new version leaves any previously-active version of the same type active too, and deactivating a still-accepted mandatory document silently drops the onboarding gate for everyone who was blocked on it. A tenant admin may only toggle documents owned by their own tenant; global (tenant_id null) documents are admin-only, since toggling one changes the gate for every tenant at once.

## Path parameters

- `id` string, required

## Request body

- InternalDeliveryHttpHandlerSetActiveTermsRequest
  - `active` boolean

## Response `200`

OK

- InternalDeliveryHttpHandlerTermsResponse
  - `data` EnforcerV3InternalDomainTermsTerms
    - `content` string
    - `content_hash` string
    - `created_at` string
    - `effective_at` string
    - `expires_at` string
    - `id` string
    - `is_active` boolean
    - `is_mandatory` boolean
    - `summary` string
    - `tenant_id` string: nil = global
    - `title` string
    - `type` string
    - `updated_at` string
    - `version` string
  - `success` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found

---

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