Skip to main content
POST
Reject submitted policy version

Authorizations

Authorization
string
header
required

MeshQu API key passed as a bearer token: Authorization: Bearer mqu_…. Mint one in the console (Settings → API keys).

X-MeshQu-Tenant-Id
string
header
required

Tenant UUID for multi-tenant isolation. Required on all authenticated routes — validated before authentication (middleware/tenant.ts), so a missing or non-UUID header returns 400 (MISSING_TENANT_ID / INVALID_TENANT_ID) before the API key is checked.

Path Parameters

id
string<uuid>
required
version
integer
required
Required range: x >= 1

Body

application/json
reason
string
required

Required human-readable rejection reason. Must contain at least one non-whitespace character. Surfaced in the audit timeline and the draft banner.

Required string length: 1 - 2000
Pattern: .*\S.*

Response

Default Response

id
string<uuid>
required
policy_id
string<uuid>
required
version
integer
required
rules
object[]
required
is_active
boolean
required
status
required

Lifecycle status: draft → submitted → ratified → superseded (or back to draft on reject)

Available options:
draft
created_at
string<date-time>
required
created_by
string | null
required
change_reason
string | null
required
ratified_by
string
ratified_at
string<date-time>
submitted_by
string
submitted_at
string<date-time>
rejected_by
string
rejected_at
string<date-time>
rejection_reason
string