Get policy
Returns a policy with its current version plus PV2 editor context (versionState, selectedVersion, permissions, actions).
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 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
Query Parameters
Which version to surface. Default since 2026-05-17: "latest" — the version the editor should open: draft if one exists (in-flight work), else the active ratified, else the highest version number. Only 404 if the policy has no versions at all. "active" — the ratified+active version, 404 if none exists (use this for compliance/audit consumers that must distinguish "ratified" from "merely exists"). "draft" — the first draft, 404 if none exists. Numeric — that exact version, 404 if missing.
^(active|draft|latest|[1-9][0-9]*)$Response
Default Response
When true, violations are logged but DENY becomes ALERT
Policy group this policy belongs to
Regulatory references this policy implements
Warnings for regulatory_refs entries not found in the clause registry. Informational only — the save proceeded.
Lifecycle state of the selected version. "submitted" is reserved for PV2-020; today the server only emits active | draft | historical.
active Convenience permission flags. Clients MUST use actions[] as the source of truth for availability; permissions are for disable-state/tooltip hints only.