Skip to main content
POST
Record decision

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.

Body

application/json

Request to record a decision with evaluation

Request to record a decision with evaluation

context
object
required

Canonical DecisionContext for policy evaluation

options
object
action
object

Action bound to this decision receipt

actor
object

Actor attribution — who or what made this decision

evidence_manifest_digest
string | null

Evidence manifest digest — null or absent means no evidence is bound

Pattern: ^[0-9a-f]{64}$
evidence_manifest
object | null

Full evidence manifest object — server stores and indexes it

Response

Response from record decision endpoint

Response from record decision endpoint

decision
object
required

A recorded decision with full context

is_new
boolean
required

False if returned from idempotency cache

duration_ms
number
required

Total request duration in milliseconds

shadow_mode
object
required
governance_source
object
required

Attribution of which tenant policies governed this decision

timing
object

Per-phase timing breakdown for the evaluation

actor
object

Actor attribution — who or what made this decision