Skip to content

Request constraint runs

POST /api/v1/quality/constraint-runs: request fields and declared response contract.

POST/api/v1/quality/constraint-runs

Authorization
Permissionquality.operate
Workspace scoperequired
Scope targetworkspace

Request body

Request body fields
FieldTypeRequiredNullableDefault
constraintobjectrequirednon-null—
constraint.idstringrequirednon-null—
constraint.revisionintegerrequirednon-null—
cause"schedule" | "upstream_change" | "manual_request" | "correction"requirednon-null—
causeKeystringrequirednon-null—
windowobjectoptionalnon-null—
window.startsAtstringrequirednon-null—
window.endsAtstringrequirednon-null—

Response

201

Response fields
FieldTypeRequiredNullableDefault
dataobjectrequirednon-null—
data.outcome"accepted" | "replayed"requirednon-null—
data.runobjectrequirednon-null—
data.run.idstringrequirednon-null—
data.run.workspaceIdstringrequirednon-null—
data.run.constraintobjectrequirednon-null—
data.run.constraint.idstringrequirednon-null—
data.run.constraint.revisionintegerrequirednon-null—
data.run.metricobjectrequirednon-null—
data.run.metric.idstringrequirednon-null—
data.run.metric.revisionintegerrequirednon-null—
data.run.cause"schedule" | "upstream_change" | "manual_request" | "correction"requirednon-null—
data.run.requestedAtstringrequirednon-null—
data.run.completedAtstringoptionalnon-null—
data.run.state"accepted" | "waiting" | "conforming" | "breaching" | "unevaluable" | "failed" | "canceled"requirednon-null—
data.run.evidenceunknownoptionalnon-null—
data.run.versionsobjectrequirednon-null—
data.run.versions.registryRevisionintegerrequirednon-null—
data.run.versions.evaluatorContractVersionintegerrequirednon-null—
data.run.versions.evidenceAdapterVersionsobjectrequirednon-null—
data.run.permissionLineageobjectrequirednon-null—
data.run.permissionLineage.memberIdstringrequirednon-null—
data.run.permissionLineage.decisionIdstringoptionalnon-null—
data.run.permissionLineage.restrictionCodesarrayrequirednon-null—
data.run.durableRunIdstringoptionalnon-null—
data.run.resumeTokenstringoptionalnon-null—

Declared failures

Declared failures
QUALITY_CONSTRAINT_RUN_CAUSE_NOT_CONFIGURED422 — not retryable
QUALITY_CONSTRAINT_RUN_CONSTRAINT_INACTIVE409 — not retryable
QUALITY_CONSTRAINT_RUN_CONSTRAINT_REVISION_NOT_FOUND404 — not retryable
QUALITY_CONSTRAINT_RUN_METRIC_REVISION_NOT_FOUND409 — not retryable
QUALITY_CONSTRAINT_RUN_REQUEST_FAILED500 — not retryable

Readback

Read the result back with:

  • quality.constraintRuns.get

Request example

Schematic only. Replace placeholders with real values and include all required nested fields.

POST /api/v1/quality/constraint-runs HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>
Content-Type: application/json

{
  "constraint": {},
  "cause": "schedule",
  "causeKey": "<causeKey>"
}