# Decision packs

Paths on this page are relative to <code>/api/liquidity-studio/v2</code>. Authentication and required headers vary by operation.

[API reference overview](/api-reference/overview/) · [OpenAPI download](/openapi/liquidity-operating-system-v2.openapi.json)

## Operations on this page

| Method | Path | Operation |
| --- | --- | --- |
| <code>POST</code> | <code>/decision-packs/from-treasury</code> | [createTreasuryDecisionPack](#createTreasuryDecisionPack) |
| <code>POST</code> | <code>/decision-packs/from-research</code> | [createResearchDecisionPack](#createResearchDecisionPack) |
| <code>GET</code> | <code>/decision-packs</code> | [listDecisionPacks](#listDecisionPacks) |
| <code>POST</code> | <code>/decision-packs</code> | [createDecisionPack](#createDecisionPack) |
| <code>GET</code> | <code>/decision-packs/{packId}</code> | [getDecisionPack](#getDecisionPack) |
| <code>GET</code> | <code>/decision-packs/{packId}/versions</code> | [listDecisionPackVersions](#listDecisionPackVersions) |
| <code>GET</code> | <code>/decision-packs/{packId}/versions/{sequence}</code> | [getDecisionPackVersion](#getDecisionPackVersion) |
| <code>POST</code> | <code>/decision-packs/{packId}/commands</code> | [applyDecisionPackCommand](#applyDecisionPackCommand) |

<a id="createTreasuryDecisionPack"></a>

## Prepare a private historical treasury scenario review with its exact project evidence

`POST /decision-packs/from-treasury`

Operation ID: <code>createTreasuryDecisionPack</code>

**Authentication:** <code>&#95;&#95;Host-klineo&#95;session</code> cookie (<code>sessionCookie</code>)

Interactive current workspace members only. Private versioned public-evidence, Research-candidate or historical treasury-scenario review artifact; no Safe approval, finalized outcome, issuer verification, paid entitlement or publication authority. Supporting Health evidence may answer a different question, shown explicitly. Research candidates retain exact private trial references and one selected capital variant across scenarios. The project association is user-selected context, not verified issuer or quote identity. Completed candidate Review receipts can attach to matching Research candidate content under current source checks, without changing human decision or financial authority. Content edits clear the attachment in the new version while retaining immutable history. Treasury scenario packs bind an exact saved projection and historical project-control evidence without requiring Health or Research. Public drafts can be promoted to a treasury scenario pack; Research packs cannot yet attach treasury context because Candidate Review covers a different evidence scope. Treasury readiness is human review of historical declared assumptions, not current cash verification. Commercial-order references remain unsupported. Historical versions do not establish current project applicability.

### Parameters

| Name | Location | Required | Type | Description and constraints |
| --- | --- | --- | --- | --- |
| <code>x-klineo-organization-id</code> | header | Yes | <code>string</code> | — |
| <code>Idempotency-Key</code> | header | Yes | <code>string</code> | Pattern: <code>^&#91;&#92;x21-&#92;x7E&#93;+$</code>; Min length: <code>8</code>; Max length: <code>200</code> |

### Request body

Required: **yes**.

**<code>application/json</code>**

[CreateTreasuryDecisionPack](/api-reference/schemas/create-treasury-decision-pack/)

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Authorized immutable artifact, collection or exact command receipt. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid closed request or collection parameters. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive session required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current membership or role denied; service credentials are not accepted. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Record unavailable in this workspace. | <code>application/json</code>: <code>object</code> |
| <code>409</code> | Command identity conflicts or lifecycle prerequisite not met. | <code>application/json</code>: <code>object</code> |
| <code>412</code> | Reviewed project or pack version changed. | <code>application/json</code>: <code>object</code> |
| <code>429</code> | Request limit exceeded. | <code>application/json</code>: <code>object</code> |
| <code>503</code> | Storage or response verification unavailable. | <code>application/json</code>: <code>object</code> |

**<code>200</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |
| <code>ETag</code> | Yes | <code>string</code> | Pattern: <code>^"0x&#91;0-9a-f&#93;{64}"$</code> |

**<code>200</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>data</code> | Yes | [DecisionPackWriteReceipt](/api-reference/schemas/decision-pack-write-receipt/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>400</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>400</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>401</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>401</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>403</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>403</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>404</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>404</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>409</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>409</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>412</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>412</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>429</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>429</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>503</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>503</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

<a id="createResearchDecisionPack"></a>

## Prepare a private review candidate from an exact Research result

`POST /decision-packs/from-research`

Operation ID: <code>createResearchDecisionPack</code>

**Authentication:** <code>&#95;&#95;Host-klineo&#95;session</code> cookie (<code>sessionCookie</code>)

Interactive current workspace members only. Private versioned public-evidence, Research-candidate or historical treasury-scenario review artifact; no Safe approval, finalized outcome, issuer verification, paid entitlement or publication authority. Supporting Health evidence may answer a different question, shown explicitly. Research candidates retain exact private trial references and one selected capital variant across scenarios. The project association is user-selected context, not verified issuer or quote identity. Completed candidate Review receipts can attach to matching Research candidate content under current source checks, without changing human decision or financial authority. Content edits clear the attachment in the new version while retaining immutable history. Treasury scenario packs bind an exact saved projection and historical project-control evidence without requiring Health or Research. Public drafts can be promoted to a treasury scenario pack; Research packs cannot yet attach treasury context because Candidate Review covers a different evidence scope. Treasury readiness is human review of historical declared assumptions, not current cash verification. Commercial-order references remain unsupported. Historical versions do not establish current project applicability.

### Parameters

| Name | Location | Required | Type | Description and constraints |
| --- | --- | --- | --- | --- |
| <code>x-klineo-organization-id</code> | header | Yes | <code>string</code> | — |
| <code>Idempotency-Key</code> | header | Yes | <code>string</code> | Pattern: <code>^&#91;&#92;x21-&#92;x7E&#93;+$</code>; Min length: <code>8</code>; Max length: <code>200</code> |

### Request body

Required: **yes**.

**<code>application/json</code>**

[CreateResearchDecisionPack](/api-reference/schemas/create-research-decision-pack/)

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Authorized immutable artifact, collection or exact command receipt. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid closed request or collection parameters. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive session required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current membership or role denied; service credentials are not accepted. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Record unavailable in this workspace. | <code>application/json</code>: <code>object</code> |
| <code>409</code> | Command identity conflicts or lifecycle prerequisite not met. | <code>application/json</code>: <code>object</code> |
| <code>412</code> | Reviewed project or pack version changed. | <code>application/json</code>: <code>object</code> |
| <code>429</code> | Request limit exceeded. | <code>application/json</code>: <code>object</code> |
| <code>503</code> | Storage or response verification unavailable. | <code>application/json</code>: <code>object</code> |

**<code>200</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |
| <code>ETag</code> | Yes | <code>string</code> | Pattern: <code>^"0x&#91;0-9a-f&#93;{64}"$</code> |

**<code>200</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>data</code> | Yes | [DecisionPackWriteReceipt](/api-reference/schemas/decision-pack-write-receipt/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>400</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>400</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>401</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>401</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>403</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>403</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>404</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>404</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>409</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>409</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>412</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>412</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>429</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>429</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>503</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>503</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

<a id="listDecisionPacks"></a>

## List private analysis Decision Packs

`GET /decision-packs`

Operation ID: <code>listDecisionPacks</code>

**Authentication:** <code>&#95;&#95;Host-klineo&#95;session</code> cookie (<code>sessionCookie</code>)

Interactive current workspace members only. Private versioned public-evidence, Research-candidate or historical treasury-scenario review artifact; no Safe approval, finalized outcome, issuer verification, paid entitlement or publication authority. Supporting Health evidence may answer a different question, shown explicitly. Research candidates retain exact private trial references and one selected capital variant across scenarios. The project association is user-selected context, not verified issuer or quote identity. Completed candidate Review receipts can attach to matching Research candidate content under current source checks, without changing human decision or financial authority. Content edits clear the attachment in the new version while retaining immutable history. Treasury scenario packs bind an exact saved projection and historical project-control evidence without requiring Health or Research. Public drafts can be promoted to a treasury scenario pack; Research packs cannot yet attach treasury context because Candidate Review covers a different evidence scope. Treasury readiness is human review of historical declared assumptions, not current cash verification. Commercial-order references remain unsupported. Historical versions do not establish current project applicability.

### Parameters

| Name | Location | Required | Type | Description and constraints |
| --- | --- | --- | --- | --- |
| <code>x-klineo-organization-id</code> | header | Yes | <code>string</code> | — |
| <code>cursor</code> | query | No | <code>string</code> | Pattern: <code>^decisionpack&#95;&#91;a-f0-9&#93;{32}$</code> |
| <code>limit</code> | query | No | <code>integer</code> | Default: <code>20</code>; Minimum: <code>1</code>; Maximum: <code>20</code> |

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Authorized immutable artifact, collection or exact command receipt. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid closed request or collection parameters. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive session required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current membership or role denied; service credentials are not accepted. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Record unavailable in this workspace. | <code>application/json</code>: <code>object</code> |
| <code>429</code> | Request limit exceeded. | <code>application/json</code>: <code>object</code> |
| <code>503</code> | Storage or response verification unavailable. | <code>application/json</code>: <code>object</code> |

**<code>200</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>200</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>data</code> | Yes | [DecisionPackList](/api-reference/schemas/decision-pack-list/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>400</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>400</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>401</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>401</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>403</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>403</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>404</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>404</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>429</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>429</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>503</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>503</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

<a id="createDecisionPack"></a>

## Create a draft bound to a saved public-project observation

`POST /decision-packs`

Operation ID: <code>createDecisionPack</code>

**Authentication:** <code>&#95;&#95;Host-klineo&#95;session</code> cookie (<code>sessionCookie</code>)

Interactive current workspace members only. Private versioned public-evidence, Research-candidate or historical treasury-scenario review artifact; no Safe approval, finalized outcome, issuer verification, paid entitlement or publication authority. Supporting Health evidence may answer a different question, shown explicitly. Research candidates retain exact private trial references and one selected capital variant across scenarios. The project association is user-selected context, not verified issuer or quote identity. Completed candidate Review receipts can attach to matching Research candidate content under current source checks, without changing human decision or financial authority. Content edits clear the attachment in the new version while retaining immutable history. Treasury scenario packs bind an exact saved projection and historical project-control evidence without requiring Health or Research. Public drafts can be promoted to a treasury scenario pack; Research packs cannot yet attach treasury context because Candidate Review covers a different evidence scope. Treasury readiness is human review of historical declared assumptions, not current cash verification. Commercial-order references remain unsupported. Historical versions do not establish current project applicability.

### Parameters

| Name | Location | Required | Type | Description and constraints |
| --- | --- | --- | --- | --- |
| <code>x-klineo-organization-id</code> | header | Yes | <code>string</code> | — |
| <code>Idempotency-Key</code> | header | Yes | <code>string</code> | Pattern: <code>^&#91;&#92;x21-&#92;x7E&#93;+$</code>; Min length: <code>8</code>; Max length: <code>200</code> |

### Request body

Required: **yes**.

**<code>application/json</code>**

[CreateDecisionPack](/api-reference/schemas/create-decision-pack/)

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Authorized immutable artifact, collection or exact command receipt. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid closed request or collection parameters. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive session required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current membership or role denied; service credentials are not accepted. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Record unavailable in this workspace. | <code>application/json</code>: <code>object</code> |
| <code>409</code> | Command identity conflicts or lifecycle prerequisite not met. | <code>application/json</code>: <code>object</code> |
| <code>412</code> | Reviewed project or pack version changed. | <code>application/json</code>: <code>object</code> |
| <code>429</code> | Request limit exceeded. | <code>application/json</code>: <code>object</code> |
| <code>503</code> | Storage or response verification unavailable. | <code>application/json</code>: <code>object</code> |

**<code>200</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |
| <code>ETag</code> | Yes | <code>string</code> | Pattern: <code>^"0x&#91;0-9a-f&#93;{64}"$</code> |

**<code>200</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>data</code> | Yes | [DecisionPackWriteReceipt](/api-reference/schemas/decision-pack-write-receipt/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>400</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>400</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>401</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>401</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>403</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>403</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>404</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>404</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>409</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>409</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>412</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>412</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>429</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>429</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>503</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>503</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

<a id="getDecisionPack"></a>

## Read the latest Decision Pack version

`GET /decision-packs/{packId}`

Operation ID: <code>getDecisionPack</code>

**Authentication:** <code>&#95;&#95;Host-klineo&#95;session</code> cookie (<code>sessionCookie</code>)

Interactive current workspace members only. Private versioned public-evidence, Research-candidate or historical treasury-scenario review artifact; no Safe approval, finalized outcome, issuer verification, paid entitlement or publication authority. Supporting Health evidence may answer a different question, shown explicitly. Research candidates retain exact private trial references and one selected capital variant across scenarios. The project association is user-selected context, not verified issuer or quote identity. Completed candidate Review receipts can attach to matching Research candidate content under current source checks, without changing human decision or financial authority. Content edits clear the attachment in the new version while retaining immutable history. Treasury scenario packs bind an exact saved projection and historical project-control evidence without requiring Health or Research. Public drafts can be promoted to a treasury scenario pack; Research packs cannot yet attach treasury context because Candidate Review covers a different evidence scope. Treasury readiness is human review of historical declared assumptions, not current cash verification. Commercial-order references remain unsupported. Historical versions do not establish current project applicability.

### Parameters

| Name | Location | Required | Type | Description and constraints |
| --- | --- | --- | --- | --- |
| <code>x-klineo-organization-id</code> | header | Yes | <code>string</code> | — |
| <code>packId</code> | path | Yes | <code>string</code> | Pattern: <code>^decisionpack&#95;&#91;a-f0-9&#93;{32}$</code> |

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Authorized immutable artifact, collection or exact command receipt. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid closed request or collection parameters. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive session required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current membership or role denied; service credentials are not accepted. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Record unavailable in this workspace. | <code>application/json</code>: <code>object</code> |
| <code>429</code> | Request limit exceeded. | <code>application/json</code>: <code>object</code> |
| <code>503</code> | Storage or response verification unavailable. | <code>application/json</code>: <code>object</code> |

**<code>200</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |
| <code>ETag</code> | Yes | <code>string</code> | Pattern: <code>^"0x&#91;0-9a-f&#93;{64}"$</code> |

**<code>200</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>data</code> | Yes | [DecisionPack](/api-reference/schemas/decision-pack/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>400</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>400</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>401</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>401</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>403</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>403</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>404</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>404</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>429</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>429</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>503</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>503</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

<a id="listDecisionPackVersions"></a>

## List immutable Decision Pack version metadata

`GET /decision-packs/{packId}/versions`

Operation ID: <code>listDecisionPackVersions</code>

**Authentication:** <code>&#95;&#95;Host-klineo&#95;session</code> cookie (<code>sessionCookie</code>)

Interactive current workspace members only. Private versioned public-evidence, Research-candidate or historical treasury-scenario review artifact; no Safe approval, finalized outcome, issuer verification, paid entitlement or publication authority. Supporting Health evidence may answer a different question, shown explicitly. Research candidates retain exact private trial references and one selected capital variant across scenarios. The project association is user-selected context, not verified issuer or quote identity. Completed candidate Review receipts can attach to matching Research candidate content under current source checks, without changing human decision or financial authority. Content edits clear the attachment in the new version while retaining immutable history. Treasury scenario packs bind an exact saved projection and historical project-control evidence without requiring Health or Research. Public drafts can be promoted to a treasury scenario pack; Research packs cannot yet attach treasury context because Candidate Review covers a different evidence scope. Treasury readiness is human review of historical declared assumptions, not current cash verification. Commercial-order references remain unsupported. Historical versions do not establish current project applicability.

### Parameters

| Name | Location | Required | Type | Description and constraints |
| --- | --- | --- | --- | --- |
| <code>x-klineo-organization-id</code> | header | Yes | <code>string</code> | — |
| <code>packId</code> | path | Yes | <code>string</code> | Pattern: <code>^decisionpack&#95;&#91;a-f0-9&#93;{32}$</code> |
| <code>cursor</code> | query | No | <code>string</code> | Pattern: <code>^&#91;1-9&#93;&#91;0-9&#93;{0,17}$</code> |
| <code>limit</code> | query | No | <code>integer</code> | Default: <code>20</code>; Minimum: <code>1</code>; Maximum: <code>20</code> |

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Authorized immutable artifact, collection or exact command receipt. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid closed request or collection parameters. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive session required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current membership or role denied; service credentials are not accepted. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Record unavailable in this workspace. | <code>application/json</code>: <code>object</code> |
| <code>429</code> | Request limit exceeded. | <code>application/json</code>: <code>object</code> |
| <code>503</code> | Storage or response verification unavailable. | <code>application/json</code>: <code>object</code> |

**<code>200</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>200</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>data</code> | Yes | [DecisionPackHistory](/api-reference/schemas/decision-pack-history/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>400</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>400</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>401</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>401</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>403</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>403</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>404</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>404</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>429</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>429</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>503</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>503</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

<a id="getDecisionPackVersion"></a>

## Read an exact historical Decision Pack version

`GET /decision-packs/{packId}/versions/{sequence}`

Operation ID: <code>getDecisionPackVersion</code>

**Authentication:** <code>&#95;&#95;Host-klineo&#95;session</code> cookie (<code>sessionCookie</code>)

Interactive current workspace members only. Private versioned public-evidence, Research-candidate or historical treasury-scenario review artifact; no Safe approval, finalized outcome, issuer verification, paid entitlement or publication authority. Supporting Health evidence may answer a different question, shown explicitly. Research candidates retain exact private trial references and one selected capital variant across scenarios. The project association is user-selected context, not verified issuer or quote identity. Completed candidate Review receipts can attach to matching Research candidate content under current source checks, without changing human decision or financial authority. Content edits clear the attachment in the new version while retaining immutable history. Treasury scenario packs bind an exact saved projection and historical project-control evidence without requiring Health or Research. Public drafts can be promoted to a treasury scenario pack; Research packs cannot yet attach treasury context because Candidate Review covers a different evidence scope. Treasury readiness is human review of historical declared assumptions, not current cash verification. Commercial-order references remain unsupported. Historical versions do not establish current project applicability.

### Parameters

| Name | Location | Required | Type | Description and constraints |
| --- | --- | --- | --- | --- |
| <code>x-klineo-organization-id</code> | header | Yes | <code>string</code> | — |
| <code>packId</code> | path | Yes | <code>string</code> | Pattern: <code>^decisionpack&#95;&#91;a-f0-9&#93;{32}$</code> |
| <code>sequence</code> | path | Yes | <code>string</code> | Pattern: <code>^&#91;1-9&#93;&#91;0-9&#93;{0,17}$</code> |

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Authorized immutable artifact, collection or exact command receipt. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid closed request or collection parameters. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive session required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current membership or role denied; service credentials are not accepted. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Record unavailable in this workspace. | <code>application/json</code>: <code>object</code> |
| <code>429</code> | Request limit exceeded. | <code>application/json</code>: <code>object</code> |
| <code>503</code> | Storage or response verification unavailable. | <code>application/json</code>: <code>object</code> |

**<code>200</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |
| <code>ETag</code> | Yes | <code>string</code> | Pattern: <code>^"0x&#91;0-9a-f&#93;{64}"$</code> |

**<code>200</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>data</code> | Yes | [DecisionPack](/api-reference/schemas/decision-pack/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>400</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>400</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>401</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>401</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>403</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>403</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>404</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>404</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>429</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>429</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>503</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>503</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

<a id="applyDecisionPackCommand"></a>

## Append a versioned human review action to an exact pack version

`POST /decision-packs/{packId}/commands`

Operation ID: <code>applyDecisionPackCommand</code>

**Authentication:** <code>&#95;&#95;Host-klineo&#95;session</code> cookie (<code>sessionCookie</code>)

Interactive current workspace members only. Private versioned public-evidence, Research-candidate or historical treasury-scenario review artifact; no Safe approval, finalized outcome, issuer verification, paid entitlement or publication authority. Supporting Health evidence may answer a different question, shown explicitly. Research candidates retain exact private trial references and one selected capital variant across scenarios. The project association is user-selected context, not verified issuer or quote identity. Completed candidate Review receipts can attach to matching Research candidate content under current source checks, without changing human decision or financial authority. Content edits clear the attachment in the new version while retaining immutable history. Treasury scenario packs bind an exact saved projection and historical project-control evidence without requiring Health or Research. Public drafts can be promoted to a treasury scenario pack; Research packs cannot yet attach treasury context because Candidate Review covers a different evidence scope. Treasury readiness is human review of historical declared assumptions, not current cash verification. Commercial-order references remain unsupported. Historical versions do not establish current project applicability.

### Parameters

| Name | Location | Required | Type | Description and constraints |
| --- | --- | --- | --- | --- |
| <code>x-klineo-organization-id</code> | header | Yes | <code>string</code> | — |
| <code>packId</code> | path | Yes | <code>string</code> | Pattern: <code>^decisionpack&#95;&#91;a-f0-9&#93;{32}$</code> |
| <code>Idempotency-Key</code> | header | Yes | <code>string</code> | Pattern: <code>^&#91;&#92;x21-&#92;x7E&#93;+$</code>; Min length: <code>8</code>; Max length: <code>200</code> |
| <code>If-Match</code> | header | Yes | <code>string</code> | Pattern: <code>^"0x&#91;0-9a-f&#93;{64}"$</code> |

### Request body

Required: **yes**.

**<code>application/json</code>**

[DecisionPackCommand](/api-reference/schemas/decision-pack-command/)

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Authorized immutable artifact, collection or exact command receipt. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid closed request or collection parameters. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive session required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current membership or role denied; service credentials are not accepted. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Record unavailable in this workspace. | <code>application/json</code>: <code>object</code> |
| <code>409</code> | Command identity conflicts or lifecycle prerequisite not met. | <code>application/json</code>: <code>object</code> |
| <code>412</code> | Reviewed project or pack version changed. | <code>application/json</code>: <code>object</code> |
| <code>428</code> | Strong current pack If-Match required. | <code>application/json</code>: <code>object</code> |
| <code>429</code> | Request limit exceeded. | <code>application/json</code>: <code>object</code> |
| <code>503</code> | Storage or response verification unavailable. | <code>application/json</code>: <code>object</code> |

**<code>200</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |
| <code>ETag</code> | Yes | <code>string</code> | Pattern: <code>^"0x&#91;0-9a-f&#93;{64}"$</code> |

**<code>200</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>data</code> | Yes | [DecisionPackWriteReceipt](/api-reference/schemas/decision-pack-write-receipt/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>400</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>400</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>401</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>401</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>403</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>403</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>404</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>404</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>409</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>409</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>412</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>412</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>428</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>428</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>429</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>429</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

**<code>503</code> response headers**

| Header | Required | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>Cache-Control</code> | Yes | Constant <code>private, no-store</code> | — |

**<code>503</code> <code>application/json</code> body**

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>error</code> | Yes | [ApiError](/api-reference/schemas/api-error/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
