Skip to main content
GET
Project the decision input contract for one stored 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

Policy id.

version
integer
required

Policy version number.

Required range: x >= 1

Query Parameters

as_of
string

An RFC 3339 date-time that MUST carry a zone designator — Z or ±hh:mm — e.g. 2026-09-17T00:00:00Z or 2026-09-17T01:00:00+01:00. When supplied, every key's definition is resolved as it stood at that instant (contract §3: "the revision whose changed_at is the latest not after the snapshot's own timestamp"), never the current meaning. Omitted, the current revision is used — the "draft or current version" branch of §3. A date alone (2026-09-17), a year (2026), a bare number, a human date string or a date-time with no zone (2026-09-17T00:00:00) is refused 400 INVALID_AS_OF: it names no instant, or names one that depends on the server's timezone. So is a date-time whose components are out of range — 2026-02-30T00:00:00Z, 2026-01-01T24:00:00Z, a leap second, an offset beyond ±23:59 — which Date would otherwise roll silently into the next day or minute and answer for an instant nobody asked for (BC review round 2).

Response

Default Response

policy_id
string<uuid>
required
version
integer
required
draft_revision
integer
required
Required range: x >= 0
status
required
Available options:
draft
definitions_as_of
object
required
entries
object[]
required

One entry per canonical key the exact active rule set references, in the deterministic order projectDecisionInputs produces (required-first, then alphabetical). This projection is POLICY-SCOPED: MeshQu has no object spanning the policies applying to one decision, so this never combines more than the one selected candidate's rules.

opaque
object[]
required

A rule of type expression, or a When shape the walker refuses to read, contributes an entry here naming the rule code — never silently omitted (contract §6).