Inspect installed products
POST /api/v1/products/installed/inspect: request fields and declared response contract.
POST/api/v1/products/installed/inspect
| Permission | settings.read |
|---|---|
| Workspace scope | required |
| Scope target | workspace |
Request body
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| installationId | string | required | non-null | — |
Response
201
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| data | object | required | non-null | — |
| data.schemaVersion | number | required | non-null | — |
| data.root | object | required | non-null | — |
| data.root.installation | object | required | non-null | — |
| data.root.installation.id | string | required | non-null | — |
| data.root.installation.companyId | string | required | non-null | — |
| data.root.installation.workspaceId | string | required | non-null | — |
| data.root.installation.productKey | string | required | non-null | — |
| data.root.installation.productVersion | string | required | non-null | — |
| data.root.installation.namespace | string | required | non-null | — |
| data.root.installation.manifestDigest | string | required | non-null | — |
| data.root.installation.lifecycleState | "installing" | "partial" | "installed" | "requires_resolution" | "failed" | "retired" | required | non-null | — |
| data.root.installation.installedByPrincipalId | unknown | required | non-null | — |
| data.root.installation.ownedPackageInstallationId | unknown | required | non-null | — |
| data.root.installation.installedAt | unknown | required | non-null | — |
| data.root.installation.updatedAt | unknown | required | non-null | — |
| data.root.displayInputs | object | required | non-null | — |
| data.root.displayInputs.bindings | object | required | non-null | — |
| data.root.displayInputs.roleSatisfactions | object | optional | non-null | — |
| data.root.displayInputs.productConfig | object | optional | non-null | — |
| data.root.displayInputs.configurationProjectionDigest | string | optional | non-null | — |
| data.root.displayInputs.profile | object | optional | non-null | — |
| data.root.displayInputs.configurationResolution | object | optional | non-null | — |
| data.root.displayInputs.referenceInputs | object | optional | non-null | — |
| data.root.ownedContent | object | required | non-null | — |
| data.root.ownedContent.materialized | boolean | required | non-null | — |
| data.root.ownedContent.installationId | string | optional | non-null | — |
| data.root.ownedContent.status | string | optional | non-null | — |
| data.root.ownedContent.packageDigest | string | optional | non-null | — |
| data.plan | object | optional | non-null | — |
| data.plan.planSchemaVersion | integer | required | non-null | — |
| data.plan.planHash | string | required | non-null | — |
| data.references | array | required | non-null | — |
| data.readiness | object | required | non-null | — |
| data.readiness.lifecycleState | "installing" | "partial" | "installed" | "requires_resolution" | "failed" | "retired" | required | non-null | — |
| data.readiness.ownedContentMaterialized | boolean | required | non-null | — |
| data.readiness.activeReferences | integer | required | non-null | — |
| data.readiness.detachedReferences | integer | required | non-null | — |
| data.attempts | array | required | non-null | — |
| data.receipts | array | required | non-null | — |
| data.terminal | "ready" | "degraded" | "conflict" | required | non-null | — |
| data.diagnostics | array | required | non-null | — |
| data.configuration | object | optional | non-null | — |
| data.configuration.configuration | object | required | non-null | — |
| data.configuration.configuration.productInstallationId | string | required | non-null | — |
| data.configuration.configuration.companyId | string | required | non-null | — |
| data.configuration.configuration.workspaceId | string | required | non-null | — |
| data.configuration.configuration.validatorName | string | required | non-null | — |
| data.configuration.configuration.validatorVersion | string | required | non-null | — |
| data.configuration.configuration.contractDigest | string | required | non-null | — |
| data.configuration.configuration.profileKey | unknown | required | non-null | — |
| data.configuration.configuration.profileVersion | unknown | required | non-null | — |
| data.configuration.configuration.profileDigest | unknown | required | non-null | — |
| data.configuration.configuration.installedSettings | object | required | non-null | — |
| data.configuration.configuration.installedBindings | object | required | non-null | — |
| data.configuration.configuration.installedRoleSatisfactions | object | required | non-null | {} |
| data.configuration.configuration.inputSlotSatisfactions | object | required | non-null | — |
| data.configuration.configuration.resolutionPlanHash | string | required | non-null | — |
| data.configuration.configuration.currentRevision | integer | required | non-null | — |
| data.configuration.configuration.currentSettings | object | required | non-null | — |
| data.configuration.configuration.installedAt | unknown | required | non-null | — |
| data.configuration.configuration.updatedAt | unknown | required | non-null | — |
| data.configuration.pins | array | required | non-null | — |
| data.configuration.revisions | array | required | non-null | — |
| data.configuration.readiness | object | required | non-null | — |
| data.configuration.readiness.states | array | required | non-null | — |
| data.configuration.readiness.findings | array | required | non-null | — |
Declared failures
| PRODUCT_OPERATION_FAILED | 500 — not retryable |
|---|
Readback
This method returns the current state it read.
- products.inspectInstalled
Request example
Schematic only. Replace placeholders with real values and include all required nested fields.
POST /api/v1/products/installed/inspect HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>
Content-Type: application/json
{
"installationId": "<installationId>"
}