Sovereign Agent BFF — Configuration Fragments UI Soft — OpenAPI 0.1.0-soft
<!-- GENERATED by scripts/render-platform-map-api-docs.mjs — do not hand-edit; edit apps/agent-bff/openapi/<spec>.json and re-run. --> Scope: The published reference for Sovereign Agent BFF — Configuration Fragments UI Soft. 21 paths — the measured spec-vs-implementation coverage lives in the complete API inventory. Status: rendered 2026-11-09 from the OpenAPI source for Sovereign Agent BFF — Configuration Fragments UI Soft — regenerate with node scripts/render-platform-map-api-docs.mjs. See also: the OpenAPI spec index.
Servers
| URL | Notes |
|---|---|
| http://127.0.0.1:3030 | Local agent-bff |
Tags
| Tag | Summary |
|---|---|
| cfg-catalog | Bases / integrations Soft catalogs |
| cfg-fragments | Fragment GET + propose Soft |
| cfg-cells | Cell lifecycle Soft desks |
| cfg-session | Effective session + mission readiness |
Paths — 21 paths / 22 operations
| Method | Path | Operation ID | Summary |
|---|---|---|---|
| GET | /v1/configuration-fragments/catalog/bases | cfgListCatalogBasesSoft | List base journeys Soft (filter→sort→page) |
| GET | /v1/configuration-fragments/catalog/integrations | cfgListCatalogIntegrationsSoft | List integration facets Soft (cell_id/jurisdiction/compatible_with) |
| POST | /v1/configuration-fragments/studio/hydrate | cfgStudioHydrateSoft | Studio hydrate Soft — invent-refuse LIVE play (CFG-MC-114) |
| POST | /v1/configuration-fragments/nodes/bootstrap | cfgNodesBootstrapSoft | Node bootstrap Soft dry-run (CFG-MC-121) — invent-refuse DO/OpenBao LIVE |
| GET | /v1/configuration-fragments/session/effective | cfgSessionEffectiveSoft | Effective CFG permissions Soft (not LIVE APF invent) |
| GET | /v1/configuration-fragments/fragments/{fragmentId} | cfgGetFragmentSoft | Fragment Soft GET (secrets redacted; access.yaml Soft) |
| GET | /v1/configuration-fragments/fragments/{fragmentId}/presentation | cfgGetFragmentPresentationSoft | Presentation Soft (CFG-MC-110/154) |
| GET | /v1/configuration-fragments/fragments/{fragmentId}/meta | cfgGetFragmentMetaSoft | Meta Soft aggregate with override path_class fences |
| POST | /v1/configuration-fragments/documents/materialize | cfgDocumentMaterializeSoft | Document HTML materialize Soft (CFG-MC-112) |
| POST | /v1/configuration-fragments/pins/propose | cfgPinsProposeSoft | Path-class aware pin propose Soft (CFG-MC-157) |
| POST | /v1/configuration-fragments/pins/{digest}/apply | cfgPinsApplySoft | Pin apply Soft dry-run; invent-refuse LIVE PoCE (CFG-MC-71/81) |
| POST | /v1/configuration-fragments/git/merge-propose-pin | cfgMergeProposePinSoft | Merge→pin.propose Soft saga; never auto-apply (CFG-MC-72) |
| POST | /v1/configuration-fragments/dual-read | cfgDualReadSoft | Script seed vs pin seed dual-read Soft (CFG-MC-91) |
| POST | /v1/configuration-fragments/journal/anchor | cfgJournalAnchorSoft | poce.journal Soft invent-refuse journal_anchored (CFG-MC-83) |
| POST | /v1/configuration-fragments/compose | cfgComposeSoft | Compose base + facets Soft preview |
| GET | /v1/configuration-fragments/cells | cfgListCellsSoft | List cells Soft paged |
| POST | /v1/configuration-fragments/cells | cfgProvisionCellSoft | Provision cell Soft dry-run |
| POST | /v1/configuration-fragments/cells/{cellId}/features:preview-remove | cfgPreviewRemoveFeatureSoft | Teardown preview Soft (CFG-MC-135) |
| POST | /v1/configuration-fragments/cells/{cellId}/destroy | cfgDestroyCellSoft | Destroy Soft — requires confirm_destroy === cellId |
| GET | /v1/configuration-fragments/ops/mission-readiness | cfgMissionReadinessSoft | Honest Soft checklist — never invents ready |
| GET | /v1/configuration-fragments/entitlements/hub | cfgEntitlementHubSoft | CFG-ENT-15 Soft entitlement hub — Git fragment ids; meters null |
| POST | /v1/configuration-fragments/entitlements/soft/{op} | cfgEntitlementRuntimeSoft | CFG-ENT Soft runtime desks (adapter, billing_ref, inheritance, APF, DSS-43, journal) |
Operations
GET /v1/configuration-fragments/catalog/bases
Summary: List base journeys Soft (filter→sort→page)
Tags: cfg-catalog Operation ID: cfgListCatalogBasesSoft
Parameters:
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
| limit | query | no | int | |
| cursor | query | no | string | |
| sort | query | no | string | |
| q | query | no | string |
Responses:
| Status | Meaning |
|---|---|
| 200 | Soft list envelope with allowed_actions / ui_hints |
| 403 | CFG-E015 missing read |
GET /v1/configuration-fragments/catalog/integrations
Summary: List integration facets Soft (cell_id/jurisdiction/compatible_with)
Tags: cfg-catalog Operation ID: cfgListCatalogIntegrationsSoft
Parameters:
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
| cell_id | query | no | string | |
| jurisdiction | query | no | string | |
| compatible_with | query | no | string | base journey id Soft compose filter |
Responses:
| Status | Meaning |
|---|---|
| 200 | Soft list envelope |
POST /v1/configuration-fragments/studio/hydrate
Summary: Studio hydrate Soft — invent-refuse LIVE play (CFG-MC-114)
Tags: cfg-session Operation ID: cfgStudioHydrateSoft Responses:
| Status | Meaning |
|---|---|
| 200 | runtime_blank instance Soft |
| 422 | LIVE play / ingest invent-refuse |
POST /v1/configuration-fragments/nodes/bootstrap
Summary: Node bootstrap Soft dry-run (CFG-MC-121) — invent-refuse DO/OpenBao LIVE
Tags: cfg-cells Operation ID: cfgNodesBootstrapSoft Responses:
| Status | Meaning |
|---|---|
| 200 | Soft dry-run |
| 422 | LIVE invent-refuse |
GET /v1/configuration-fragments/session/effective
Summary: Effective CFG permissions Soft (not LIVE APF invent)
Tags: cfg-session Operation ID: cfgSessionEffectiveSoft Responses:
| Status | Meaning |
|---|---|
| 200 | allowed_actions + ui_hints |
GET /v1/configuration-fragments/fragments/{fragmentId}
Summary: Fragment Soft GET (secrets redacted; access.yaml Soft)
Tags: cfg-fragments Operation ID: cfgGetFragmentSoft
Parameters:
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
| fragmentId | path | yes | string |
Responses:
| Status | Meaning |
|---|---|
| 200 | Fragment summary Soft |
| 404 | CFG-E018 |
GET /v1/configuration-fragments/fragments/{fragmentId}/presentation
Summary: Presentation Soft (CFG-MC-110/154)
Tags: cfg-fragments Operation ID: cfgGetFragmentPresentationSoft
Parameters:
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
| fragmentId | path | yes | string |
Responses:
| Status | Meaning |
|---|---|
| 200 | descriptions + diagrams; requires_law_quorum false |
GET /v1/configuration-fragments/fragments/{fragmentId}/meta
Summary: Meta Soft aggregate with override path_class fences
Tags: cfg-fragments Operation ID: cfgGetFragmentMetaSoft
Parameters:
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
| fragmentId | path | yes | string |
Responses:
| Status | Meaning |
|---|---|
| 200 | allowed_actions + override_paths |
POST /v1/configuration-fragments/documents/materialize
Summary: Document HTML materialize Soft (CFG-MC-112)
Tags: cfg-fragments Operation ID: cfgDocumentMaterializeSoft Responses:
| Status | Meaning |
|---|---|
| 200 | Allow-listed HTML Soft |
| 400 | Allow-list / locked span fail |
| 422 | LIVE send invent-refuse |
POST /v1/configuration-fragments/pins/propose
Summary: Path-class aware pin propose Soft (CFG-MC-157)
Tags: cfg-fragments Operation ID: cfgPinsProposeSoft Request body:
Content type: application/json
| Field | Type | Notes |
|---|---|---|
| fragment_id | string | |
| changes | object[] | |
| changes.path | string | |
| changes.claimed_path_class | string | |
| live | boolean | If true → invent_refuse CFG-E014 |
Responses:
| Status | Meaning |
|---|---|
| 200 | Soft propose accepted; pin not applied |
| 400 | CFG-E007 / CFG-E026 path fence |
| 403 | CFG-E015 |
| 422 | CFG-E014 LIVE invent-refuse |
POST /v1/configuration-fragments/pins/{digest}/apply
Summary: Pin apply Soft dry-run; invent-refuse LIVE PoCE (CFG-MC-71/81)
Tags: cfg-fragments Operation ID: cfgPinsApplySoft
Parameters:
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
| digest | path | yes | string |
Responses:
| Status | Meaning |
|---|---|
| 200 | Soft dry-run; applied=false |
| 422 | LIVE PoCE invent-refuse |
POST /v1/configuration-fragments/git/merge-propose-pin
Summary: Merge→pin.propose Soft saga; never auto-apply (CFG-MC-72)
Tags: cfg-fragments Operation ID: cfgMergeProposePinSoft Responses:
| Status | Meaning |
|---|---|
| 200 | Soft propose shape; auto_apply=false |
| 422 | auto_apply invent-refuse |
POST /v1/configuration-fragments/dual-read
Summary: Script seed vs pin seed dual-read Soft (CFG-MC-91)
Tags: cfg-fragments Operation ID: cfgDualReadSoft Responses:
| Status | Meaning |
|---|---|
| 200 | pin_is_sole_sot always false on Soft |
POST /v1/configuration-fragments/journal/anchor
Summary: poce.journal Soft invent-refuse journal_anchored (CFG-MC-83)
Tags: cfg-fragments Operation ID: cfgJournalAnchorSoft Responses:
| Status | Meaning |
|---|---|
| 200 | journal_anchored=false Soft dry-run |
| 400 | cfg.journal forbidden |
| 422 | LIVE Fabric invent-refuse |
POST /v1/configuration-fragments/compose
Summary: Compose base + facets Soft preview
Tags: cfg-catalog Operation ID: cfgComposeSoft Responses:
| Status | Meaning |
|---|---|
| 200 | Compose digest Soft |
GET /v1/configuration-fragments/cells
Summary: List cells Soft paged
Tags: cfg-cells Operation ID: cfgListCellsSoft Responses:
| Status | Meaning |
|---|---|
| 200 | Empty Soft list until provision pin |
POST /v1/configuration-fragments/cells
Summary: Provision cell Soft dry-run
Tags: cfg-cells Operation ID: cfgProvisionCellSoft Responses:
| Status | Meaning |
|---|---|
| 200 | Soft dry-run |
| 422 | LIVE invent-refuse |
POST /v1/configuration-fragments/cells/{cellId}/features:preview-remove
Summary: Teardown preview Soft (CFG-MC-135)
Tags: cfg-cells Operation ID: cfgPreviewRemoveFeatureSoft
Parameters:
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
| cellId | path | yes | string |
Responses:
| Status | Meaning |
|---|---|
| 200 | teardown_hooks listed; LIVE not executed |
POST /v1/configuration-fragments/cells/{cellId}/destroy
Summary: Destroy Soft — requires confirm_destroy === cellId
Tags: cfg-cells Operation ID: cfgDestroyCellSoft
Parameters:
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
| cellId | path | yes | string | |
| X-Confirm-Destroy | header | no | string | Must equal cellId |
Responses:
| Status | Meaning |
|---|---|
| 200 | Soft dry-run |
| 400 | Missing confirm |
GET /v1/configuration-fragments/ops/mission-readiness
Summary: Honest Soft checklist — never invents ready
Tags: cfg-session Operation ID: cfgMissionReadinessSoft Responses:
| Status | Meaning |
|---|---|
| 200 | mission_critical_ready always false Soft |
GET /v1/configuration-fragments/entitlements/hub
Summary: CFG-ENT-15 Soft entitlement hub — Git fragment ids; meters null
Tags: cfg-catalog Operation ID: cfgEntitlementHubSoft Responses:
| Status | Meaning |
|---|---|
| 200 | packages from disk; meters/health_percent always null; entitlement_met false |
| 422 | LIVE / invented meters invent-refuse |
POST /v1/configuration-fragments/entitlements/soft/{op}
Summary: CFG-ENT Soft runtime desks (adapter, billing_ref, inheritance, APF, DSS-43, journal)
Tags: cfg-catalog Operation ID: cfgEntitlementRuntimeSoft
Parameters:
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
| op | path | yes | string enum: adapter.resolve, billing_ref.normalize, deploy.compose, inheritance.resolve, feature.remove.plan, apf.check, path_spec.lint, journal.plan,… |
Responses:
| Status | Meaning |
|---|---|
| 200 | Soft dry-run plan |
| 422 | LIVE invent-refuse |
Full specification — verbatim source of truth
{
"openapi": "3.1.0",
"info": {
"title": "Sovereign Agent BFF — Configuration Fragments UI Soft",
"version": "0.1.0-soft",
"description": "CFG-MC-158 Soft OpenAPI stub for UI list/session/compose/cells/pins. Soft Soft≠LIVE: invent_refuse_live on LIVE cloud/PoCE apply. Plan: docs/plans/configuration-fragments/07_MISSION_CRITICAL_UPLIFT_PLAN.md §18."
},
"servers": [
{
"url": "http://127.0.0.1:3030",
"description": "Local agent-bff"
}
],
"tags": [
{
"name": "cfg-catalog",
"description": "Bases / integrations Soft catalogs"
},
{
"name": "cfg-fragments",
"description": "Fragment GET + propose Soft"
},
{
"name": "cfg-cells",
"description": "Cell lifecycle Soft desks"
},
{
"name": "cfg-session",
"description": "Effective session + mission readiness"
}
],
"paths": {
"/v1/configuration-fragments/catalog/bases": {
"get": {
"tags": [
"cfg-catalog"
],
"summary": "List base journeys Soft (filter→sort→page)",
"operationId": "cfgListCatalogBasesSoft",
"parameters": [
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "sort",
"in": "query",
"schema": {
"type": "string",
"example": "fragment_id:asc"
}
},
{
"name": "q",
"in": "query",
"schema": {
"type": "string",
"minLength": 2
}
}
],
"responses": {
"200": {
"description": "Soft list envelope with allowed_actions / ui_hints"
},
"403": {
"description": "CFG-E015 missing read"
}
}
}
},
"/v1/configuration-fragments/catalog/integrations": {
"get": {
"tags": [
"cfg-catalog"
],
"summary": "List integration facets Soft (cell_id/jurisdiction/compatible_with)",
"operationId": "cfgListCatalogIntegrationsSoft",
"parameters": [
{
"name": "cell_id",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "jurisdiction",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "compatible_with",
"in": "query",
"schema": {
"type": "string"
},
"description": "base journey id Soft compose filter"
}
],
"responses": {
"200": {
"description": "Soft list envelope"
}
}
}
},
"/v1/configuration-fragments/studio/hydrate": {
"post": {
"tags": [
"cfg-session"
],
"summary": "Studio hydrate Soft — invent-refuse LIVE play (CFG-MC-114)",
"operationId": "cfgStudioHydrateSoft",
"responses": {
"200": {
"description": "runtime_blank instance Soft"
},
"422": {
"description": "LIVE play / ingest invent-refuse"
}
}
}
},
"/v1/configuration-fragments/nodes/bootstrap": {
"post": {
"tags": [
"cfg-cells"
],
"summary": "Node bootstrap Soft dry-run (CFG-MC-121) — invent-refuse DO/OpenBao LIVE",
"operationId": "cfgNodesBootstrapSoft",
"responses": {
"200": {
"description": "Soft dry-run"
},
"422": {
"description": "LIVE invent-refuse"
}
}
}
},
"/v1/configuration-fragments/session/effective": {
"get": {
"tags": [
"cfg-session"
],
"summary": "Effective CFG permissions Soft (not LIVE APF invent)",
"operationId": "cfgSessionEffectiveSoft",
"responses": {
"200": {
"description": "allowed_actions + ui_hints"
}
}
}
},
"/v1/configuration-fragments/fragments/{fragmentId}": {
"get": {
"tags": [
"cfg-fragments"
],
"summary": "Fragment Soft GET (secrets redacted; access.yaml Soft)",
"operationId": "cfgGetFragmentSoft",
"parameters": [
{
"name": "fragmentId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Fragment summary Soft"
},
"404": {
"description": "CFG-E018"
}
}
}
},
"/v1/configuration-fragments/fragments/{fragmentId}/presentation": {
"get": {
"tags": [
"cfg-fragments"
],
"summary": "Presentation Soft (CFG-MC-110/154)",
"operationId": "cfgGetFragmentPresentationSoft",
"parameters": [
{
"name": "fragmentId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "descriptions + diagrams; requires_law_quorum false"
}
}
}
},
"/v1/configuration-fragments/fragments/{fragmentId}/meta": {
"get": {
"tags": [
"cfg-fragments"
],
"summary": "Meta Soft aggregate with override path_class fences",
"operationId": "cfgGetFragmentMetaSoft",
"parameters": [
{
"name": "fragmentId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "allowed_actions + override_paths"
}
}
}
},
"/v1/configuration-fragments/documents/materialize": {
"post": {
"tags": [
"cfg-fragments"
],
"summary": "Document HTML materialize Soft (CFG-MC-112)",
"operationId": "cfgDocumentMaterializeSoft",
"responses": {
"200": {
"description": "Allow-listed HTML Soft"
},
"400": {
"description": "Allow-list / locked span fail"
},
"422": {
"description": "LIVE send invent-refuse"
}
}
}
},
"/v1/configuration-fragments/pins/propose": {
"post": {
"tags": [
"cfg-fragments"
],
"summary": "Path-class aware pin propose Soft (CFG-MC-157)",
"operationId": "cfgPinsProposeSoft",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"fragment_id",
"changes"
],
"properties": {
"fragment_id": {
"type": "string"
},
"changes": {
"type": "array",
"items": {
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string"
},
"claimed_path_class": {
"type": "string"
}
}
}
},
"live": {
"type": "boolean",
"description": "If true → invent_refuse CFG-E014"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Soft propose accepted; pin not applied"
},
"400": {
"description": "CFG-E007 / CFG-E026 path fence"
},
"403": {
"description": "CFG-E015"
},
"422": {
"description": "CFG-E014 LIVE invent-refuse"
}
}
}
},
"/v1/configuration-fragments/pins/{digest}/apply": {
"post": {
"tags": [
"cfg-fragments"
],
"summary": "Pin apply Soft dry-run; invent-refuse LIVE PoCE (CFG-MC-71/81)",
"operationId": "cfgPinsApplySoft",
"parameters": [
{
"name": "digest",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Soft dry-run; applied=false"
},
"422": {
"description": "LIVE PoCE invent-refuse"
}
}
}
},
"/v1/configuration-fragments/git/merge-propose-pin": {
"post": {
"tags": [
"cfg-fragments"
],
"summary": "Merge→pin.propose Soft saga; never auto-apply (CFG-MC-72)",
"operationId": "cfgMergeProposePinSoft",
"responses": {
"200": {
"description": "Soft propose shape; auto_apply=false"
},
"422": {
"description": "auto_apply invent-refuse"
}
}
}
},
"/v1/configuration-fragments/dual-read": {
"post": {
"tags": [
"cfg-fragments"
],
"summary": "Script seed vs pin seed dual-read Soft (CFG-MC-91)",
"operationId": "cfgDualReadSoft",
"responses": {
"200": {
"description": "pin_is_sole_sot always false on Soft"
}
}
}
},
"/v1/configuration-fragments/journal/anchor": {
"post": {
"tags": [
"cfg-fragments"
],
"summary": "poce.journal Soft invent-refuse journal_anchored (CFG-MC-83)",
"operationId": "cfgJournalAnchorSoft",
"responses": {
"200": {
"description": "journal_anchored=false Soft dry-run"
},
"400": {
"description": "cfg.journal forbidden"
},
"422": {
"description": "LIVE Fabric invent-refuse"
}
}
}
},
"/v1/configuration-fragments/compose": {
"post": {
"tags": [
"cfg-catalog"
],
"summary": "Compose base + facets Soft preview",
"operationId": "cfgComposeSoft",
"responses": {
"200": {
"description": "Compose digest Soft"
}
}
}
},
"/v1/configuration-fragments/cells": {
"get": {
"tags": [
"cfg-cells"
],
"summary": "List cells Soft paged",
"operationId": "cfgListCellsSoft",
"responses": {
"200": {
"description": "Empty Soft list until provision pin"
}
}
},
"post": {
"tags": [
"cfg-cells"
],
"summary": "Provision cell Soft dry-run",
"operationId": "cfgProvisionCellSoft",
"responses": {
"200": {
"description": "Soft dry-run"
},
"422": {
"description": "LIVE invent-refuse"
}
}
}
},
"/v1/configuration-fragments/cells/{cellId}/features:preview-remove": {
"post": {
"tags": [
"cfg-cells"
],
"summary": "Teardown preview Soft (CFG-MC-135)",
"operationId": "cfgPreviewRemoveFeatureSoft",
"parameters": [
{
"name": "cellId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "teardown_hooks listed; LIVE not executed"
}
}
}
},
"/v1/configuration-fragments/cells/{cellId}/destroy": {
"post": {
"tags": [
"cfg-cells"
],
"summary": "Destroy Soft — requires confirm_destroy === cellId",
"operationId": "cfgDestroyCellSoft",
"parameters": [
{
"name": "cellId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "X-Confirm-Destroy",
"in": "header",
"schema": {
"type": "string"
},
"description": "Must equal cellId"
}
],
"responses": {
"200": {
"description": "Soft dry-run"
},
"400": {
"description": "Missing confirm"
}
}
}
},
"/v1/configuration-fragments/ops/mission-readiness": {
"get": {
"tags": [
"cfg-session"
],
"summary": "Honest Soft checklist — never invents ready",
"operationId": "cfgMissionReadinessSoft",
"responses": {
"200": {
"description": "mission_critical_ready always false Soft"
}
}
}
},
"/v1/configuration-fragments/entitlements/hub": {
"get": {
"tags": [
"cfg-catalog"
],
"summary": "CFG-ENT-15 Soft entitlement hub — Git fragment ids; meters null",
"operationId": "cfgEntitlementHubSoft",
"responses": {
"200": {
"description": "packages from disk; meters/health_percent always null; entitlement_met false"
},
"422": {
"description": "LIVE / invented meters invent-refuse"
}
}
}
},
"/v1/configuration-fragments/entitlements/soft/{op}": {
"post": {
"tags": [
"cfg-catalog"
],
"summary": "CFG-ENT Soft runtime desks (adapter, billing_ref, inheritance, APF, DSS-43, journal)",
"operationId": "cfgEntitlementRuntimeSoft",
"parameters": [
{
"name": "op",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"adapter.resolve",
"billing_ref.normalize",
"deploy.compose",
"inheritance.resolve",
"feature.remove.plan",
"apf.check",
"path_spec.lint",
"journal.plan",
"dss43.check"
]
}
}
],
"responses": {
"200": {
"description": "Soft dry-run plan"
},
"422": {
"description": "LIVE invent-refuse"
}
}
}
}
}
}