Reject submitted policy version
Transitions a submitted policy version back to draft with a required human-readable reason. Requires a verified human-session principal: an API-key principal receives 403 HUMAN_PRINCIPAL_REQUIRED. Blocks when actor == maker and maker-checker enforcement is enabled.
Authorizations
MeshQu API key passed as a bearer token: Authorization: Bearer mqu_…. Mint one in the console (Settings → API keys).
Tenant UUID for multi-tenant isolation. Required on authenticated routes. A missing or non-UUID value returns 400 MISSING_TENANT_ID or INVALID_TENANT_ID before API-key authentication.
Body
Required human-readable rejection reason. Must contain at least one non-whitespace character. Surfaced in the audit timeline and the draft banner.
1 - 2000.*\S.*Response
Default Response
x >= 0SHA-256 hash of the active rules’ evaluated fields (code, condition, severity and when) in stored order. Changes to rule metadata or inactive rules do not change this hash.
^[0-9a-f]{64}$Lifecycle status: draft → submitted → ratified → activated or superseded. Rejected versions can return to draft. A draft may be discarded; a pending version may be reopened, set aside, or replaced without governing decisions.
draft Present only on a version created by draft supersession: the id of the replaced draft this version continues. Written when the version is created and never changed. Absent on every other version, including one started after a set-aside or a reopen.
What the codification that produced this version accounted for. Unsigned and unhashed; NOT a sealed review package.