/v1
Determinism guarantee: Given the same decision context and the same policy snapshot, MeshQu will always return the same verdict. The policy_snapshot_hash and integrity_hash in each response let you verify this independently. Determinism applies strictly to MeshQu’s policy evaluation logic and snapshot resolution. Client-supplied data and external evidence are outside this guarantee.
Example: Replaying a decision six months later will produce the same verdict as long as the same policy snapshot is used, even if current policies have changed.Evaluations are designed for synchronous use at decision boundaries. Typical response times are single-digit milliseconds for policy evaluation, excluding network latency. Clients should still implement timeouts and fallback strategies. All authenticated endpoints require
Authorization: Bearer <API_KEY> and X-MeshQu-Tenant-Id headers. See Authentication.
Operations (public, no auth)
Health check
200 with { status: "healthy", timestamp, version }.
Readiness check
200 when the service and its dependencies are ready, or 503 otherwise.
OpenAPI spec
Decisions
Evaluate (dry-run)
decisions:evaluate
Evaluates a decision context against active policies. Nothing is persisted.
What you send:
Record a decision
decisions:write
Evaluates and persists the result. Requires an idempotency_key.
Request body shape:
options):
| Field | Type | Required | Description |
|---|---|---|---|
idempotency_key | string | Yes | Client-supplied unique key for safe retries. |
| Field | Type | Description |
|---|---|---|
decision.id | string | UUID of the persisted decision. |
is_new | boolean | true on first submission, false on duplicate idempotency key. |
decision.recorded_at | string | ISO 8601 timestamp. |
List decisions
decisions:read
Query parameters:
| Param | Type | Description |
|---|---|---|
decision_type | string | Filter by type. |
decision | string | Filter by decision (ALLOW, REVIEW, DENY, ALERT). |
from_date | string | ISO 8601 start date. |
to_date | string | ISO 8601 end date. |
policy_id | string | Filter by policy ID. |
policy_code | string | Filter by policy code. |
policy_group_id | string | Filter by policy group ID. |
policy_group_code | string | Filter by policy group code. |
source_artifact_hash | string | Filter by source artifact SHA-256 hash. |
limit | number | Page size (default 50). |
offset | number | Pagination offset. |
Get decision by ID
decisions:read
Replay decision
decisions:read
Re-evaluates a recorded decision for audit verification. Returns the replayed result alongside the original for comparison.
Decision stream (SSE)
decisions:read
Opens a Server-Sent Events stream for real-time decision notifications.
Policies
List policies
policies:read
Supports pagination (limit, offset) and filtering.
Create policy
policies:write
What you send:
The rules field structure is defined in your policy configuration. Refer to the MeshQu Console for assisted policy authoring.
Get policy
policies:read
Update policy metadata
policies:write
Updates name, description, advisory mode, group assignment, or status. Does not change rules — create a new version for that.
Deactivate policy
policies:write
Soft-deletes (deactivates) the policy. It will no longer be evaluated.
Validate policy (dry-run)
policies:read
Validates policy configuration without creating or modifying any policy.
Create policy version
policies:write
Creates a new immutable version of the policy’s rules.
What you send:
List policy versions
policies:read
Get policy version
policies:read
Policy Groups
List groups
policies:read
Create group
policies:write
Get group
policies:read
Update group
policies:write
Delete group
policies:write
List policies in group
policies:read
Alerts
List alerts
alerts:read
Query parameters:
| Param | Type | Description |
|---|---|---|
severity | string | low, medium, high, critical |
acknowledged | boolean | Filter by acknowledgement status. |
Get alert
alerts:read
Acknowledge alert
alerts:write
What you send:
Webhook Subscriptions
See Webhooks guide for full details.Create subscription
alerts:write
The response includes a secret value for HMAC verification. It is shown only once.
List subscriptions
alerts:read
Delete subscription
alerts:write
Webhook deliveries
alerts:read (list/stats/get), alerts:write (retry)
API Keys
List keys
api-keys:admin
Create key
api-keys:admin
See Authentication for a full example.
Get key
api-keys:admin
Revoke key
api-keys:admin
Audit
List audit events
audit:read
Paginated listing of audit events with filtering support.
Get entity history
audit:read
Returns all audit events for a specific entity in chronological order.
Verify audit log integrity
audit:admin
Verifies the integrity of an audit event.