---
title: "Set the tenant auto-approve controls"
method: PUT
path: "/v1/auto-approve/tenant"
tags: ["auto-approve"]
---

# Set the tenant auto-approve controls

`PUT /v1/auto-approve/tenant`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/auto-approve/tenant`
- Auth: HTTP bearer

Set the workspace master switch and allowlist. An explicit bump, a master disable, or an unreadable stored block moves the epoch at most once per request. When the stored epoch is readable, a bump invalidates every durable and in-flight grant. An unreadable epoch cannot be recovered, so its repair still bumps from the fail-closed epoch. Admin only.

## Headers

- `X-Tenant-Id` string, nullable

## Request body

- TenantAutoApproveBody: Admin request body to set the tenant master switch + allowlist. ``bump_epoch`` is the kill switch.
  - `enabled` boolean, required: Allow eligible standing grants in this workspace. Disabling invalidates existing grants.
  - `allowlist` string[]: The canonical tool references eligible for standing grants, subject to every runtime approval guard.
  - `bump_epoch` boolean

## Response `200`

Successful Response

- TenantAutoApproveResponse: The tenant's effective auto-approve controls (admin view).
  - `enabled` boolean, required
  - `epoch` integer, required
  - `allowlist` string[], required
  - `floor_tiers` RiskTier[], required

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden. Inspect response body `code` for the specific reason (for example: PERMISSION_DENIED, EMAIL_NOT_VERIFIED, TENANT_ACCESS_REQUIRED, ROLE_UNRESOLVED)
- `409`: Conflict
- `422`: Validation error

---

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