Skip to content

Preview products

POST /api/v1/products/preview: request fields and declared response contract.

POST/api/v1/products/preview

Authorization
Permissionsettings.read
Workspace scoperequired
Scope targetworkspace

Request body

Request body fields
FieldTypeRequiredNullableDefault
productKeystringrequirednon-null—
productVersionstringrequirednon-null—
namespacestringoptionalnon-null—
expectedPlanobjectoptionalnon-null—
expectedPlan.planSchemaVersionnumberrequirednon-null—
expectedPlan.planHashstringrequirednon-null—
productConfigobjectoptionalnon-null—
profileobjectoptionalnon-null—
profile.profileKeystringrequirednon-null—
profile.profileVersionstringrequirednon-null—
bindingAnswersobjectoptionalnon-null—
roleSatisfactionsobjectoptionalnon-null—
acceptedRecommendationsobjectoptionalnon-null—

Response

201

Response fields
FieldTypeRequiredNullableDefault
dataobjectrequirednon-null—
data.planobjectrequirednon-null—
data.plan.schemaVersionnumberrequirednon-null—
data.plan.rootobjectrequirednon-null—
data.plan.root.productKeystringrequirednon-null—
data.plan.root.productVersionstringrequirednon-null—
data.plan.root.manifestDigeststringrequirednon-null—
data.plan.grapharrayrequirednon-null—
data.plan.referencesarrayrequirednon-null—
data.plan.ownedContentOrderarrayrequirednon-null—
data.plan.planHashstringrequirednon-null—
data.configurationobjectoptionalnon-null—
data.configuration.okbooleanrequirednon-null—
data.configuration.planobjectrequirednon-null—
data.configuration.plan.productobjectrequirednon-null—
data.configuration.plan.contractVersionstringrequirednon-null—
data.configuration.plan.validatorobjectrequirednon-null—
data.configuration.plan.profileobjectoptionalnon-null—
data.configuration.plan.settingsobjectrequirednon-null—
data.configuration.plan.provenanceobjectrequirednon-null—
data.configuration.plan.bindingsobjectrequirednon-null—
data.configuration.plan.roleSatisfactionsobjectoptionalnon-null—
data.configuration.plan.inputSlotsobjectrequirednon-null—
data.configuration.plan.planHashstringrequirednon-null—
data.configuration.blockersarrayrequirednon-null—
data.configuration.requiredDecisionsarrayrequirednon-null—
data.configuration.unresolvedBindingsarrayrequirednon-null—
data.configuration.childProjectionsobjectoptionalnon-null—

Declared failures

Declared failures
PRODUCT_OPERATION_FAILED500 — not retryable
PRODUCT_REQUIRES_RESOLUTION409 — not retryable
PRODUCT_STALE409 — not retryable

Readback

This method returns the current state it read.

  • products.preview

Request example

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

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

{
  "productKey": "<productKey>",
  "productVersion": "<productVersion>"
}