Skip to content

Plan quality configuration

POST /api/v1/quality/configuration/plans: request fields and declared response contract.

POST/api/v1/quality/configuration/plans

Authorization
Permissionquality.configure
Workspace scoperequired
Scope targetworkspace

Request body

Request body fields
FieldTypeRequiredNullableDefault
draftobjectrequirednon-null—
draft.kind"metric_definition" | "objective" | "constraint" | "constraint_group" | "notification_binding"requirednon-null—
draft.resourceIdstringrequirednon-null—
draft.displayNamestringrequirednon-null—
draft.bodyobjectrequirednon-null—
draft.provenanceobjectoptionalnon-null—
draft.provenance.productKeystringrequirednon-null—
draft.provenance.productVersionstringrequirednon-null—
draft.provenance.packageDigeststringrequirednon-null—
draft.provenance.productInstallationIdstringrequirednon-null—
draft.provenance.configurationRevisionintegerrequirednon-null—
draft.lifecycle"active" | "inactive"optionalnon-null—
expectedRevisionintegerrequirednon-null—

Response

201

Response fields
FieldTypeRequiredNullableDefault
dataobjectrequirednon-null—
data.planobjectrequirednon-null—
data.plan.schemaVersionnumberrequirednon-null—
data.plan.workspaceIdstringrequirednon-null—
data.plan.expectedRevisionintegerrequirednon-null—
data.plan.successorobjectrequirednon-null—
data.plan.successor.kind"metric_definition" | "objective" | "constraint" | "constraint_group" | "notification_binding"requirednon-null—
data.plan.successor.resourceIdstringrequirednon-null—
data.plan.successor.revisionintegerrequirednon-null—
data.plan.successor.workspaceIdstringrequirednon-null—
data.plan.successor.lifecycle"active" | "inactive"requirednon-null—
data.plan.successor.resourceobjectrequirednon-null—
data.plan.successor.referencesarrayrequirednon-null—
data.plan.successor.associationsarrayrequirednon-null—
data.plan.successor.contentDigeststringrequirednon-null—
data.plan.successor.createdByPrincipalIdstringrequirednon-null—
data.plan.successor.createdAtstringrequirednon-null—
data.plan.planDigeststringrequirednon-null—

Declared failures

Declared failures
QUALITY_CONFIGURATION_CAPABILITY_UNAVAILABLE422 — not retryable
QUALITY_CONFIGURATION_CONSTRAINT_GROUP_CYCLE422 — not retryable
QUALITY_CONFIGURATION_COST_REFUSED422 — not retryable
QUALITY_CONFIGURATION_FAILED500 — not retryable
QUALITY_CONFIGURATION_IDEMPOTENCY_MISMATCH409 — not retryable
QUALITY_CONFIGURATION_INVALID422 — not retryable
QUALITY_CONFIGURATION_PLAN_DIGEST_MISMATCH409 — not retryable
QUALITY_CONFIGURATION_REFERENCE_DENIED403 — not retryable
QUALITY_CONFIGURATION_REFERENCE_NOT_FOUND404 — not retryable
QUALITY_CONFIGURATION_SEMANTIC_SUCCESSOR_REQUIRED422 — not retryable
QUALITY_CONFIGURATION_STALE_HEAD409 — not retryable
QUALITY_CONFIGURATION_UNIT_MISMATCH422 — not retryable

Readback

This method returns the current state it read.

  • quality.configuration.plan

Request example

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

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

{
  "draft": {},
  "expectedRevision": 0
}