---
title: "Create or update an authz policy"
method: POST
path: "/authz/policies"
tags: ["authz-policies"]
---

# Create or update an authz policy

`POST /authz/policies`

(reserved for future use) Validates the Rego policy (compile + smoke test in an isolated sandbox) and registers it as a new active version, then syncs it to OPA.

Required roles: All

## Request body

- CreateAuthzPolicyRequest
  - `name` string, required
  - `rego` string, required — Rego source. package must be qaip.authz.tenants["<tenant>"]["<name>"].
  - `description` string

## Response `201`

Policy created

- CreateAuthzPolicyResponse
  - `name` string, required
  - `version` integer, required
  - `rego_sha256` string, required
  - `warnings` string[], required

## Other responses

- `400` — Bad Request - the policy failed validation
- `401` — Unauthorized - Authentication failed
- `403` — Forbidden - requires an API key with All permission
- `503` — Service Unavailable - authz/OPA is not configured in this environment

---

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