# Treasury projections and summary

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>GET</code> | <code>/treasury/projections</code> | [listTreasuryProjections](#listTreasuryProjections) |
| <code>POST</code> | <code>/treasury/projections</code> | [createTreasuryProjection](#createTreasuryProjection) |
| <code>GET</code> | <code>/treasury/projections/{id}</code> | [getTreasuryProjection](#getTreasuryProjection) |
| <code>GET</code> | <code>/treasury/summary</code> | [getTreasurySummary](#getTreasurySummary) |

<a id="listTreasuryProjections"></a>

## listTreasuryProjections

`GET /treasury/projections`

Operation ID: <code>listTreasuryProjections</code>

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

Uses exact saved assumption and acknowledged reconciliation versions. The server computes from a common block snapshot and declared restrictions; it never accepts caller balances or computed outputs. Snapshot-day unpaid schedules are included. Conditional funding stays separate. Historical source use does not claim current source applicability. Writes require recent interactive treasury authentication; reads require current workspace access.

### 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>^treasury&#95;projection&#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> | Private immutable historical planning scenario. Does not establish current cash or spendability. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid or unsupported planning inputs. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive authentication required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current workspace authority required. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Saved source or scenario unavailable. | <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 source integrity 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 | [TreasuryProjectionList](/api-reference/schemas/treasury-projection-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="createTreasuryProjection"></a>

## createTreasuryProjection

`POST /treasury/projections`

Operation ID: <code>createTreasuryProjection</code>

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

Uses exact saved assumption and acknowledged reconciliation versions. The server computes from a common block snapshot and declared restrictions; it never accepts caller balances or computed outputs. Snapshot-day unpaid schedules are included. Conditional funding stays separate. Historical source use does not claim current source applicability. Writes require recent interactive treasury authentication; reads require current workspace access.

### 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>**

[TreasuryProjectionCreate](/api-reference/schemas/treasury-projection-create/)

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Private immutable historical planning scenario. Does not establish current cash or spendability. | <code>application/json</code>: <code>object</code> |
| <code>201</code> | Private immutable historical planning scenario. Does not establish current cash or spendability. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid or unsupported planning inputs. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive authentication required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current workspace authority required. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Saved source or scenario unavailable. | <code>application/json</code>: <code>object</code> |
| <code>409</code> | Request key already binds another scenario. | <code>application/json</code>: <code>object</code> |
| <code>412</code> | Exact saved source binding differs. | <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 source integrity 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 | [TreasuryProjectionWrite](/api-reference/schemas/treasury-projection-write/) | — |

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

**<code>201</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>201</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 | [TreasuryProjectionWrite](/api-reference/schemas/treasury-projection-write/) | — |

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="getTreasuryProjection"></a>

## getTreasuryProjection

`GET /treasury/projections/{id}`

Operation ID: <code>getTreasuryProjection</code>

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

Uses exact saved assumption and acknowledged reconciliation versions. The server computes from a common block snapshot and declared restrictions; it never accepts caller balances or computed outputs. Snapshot-day unpaid schedules are included. Conditional funding stays separate. Historical source use does not claim current source applicability. Writes require recent interactive treasury authentication; reads require current workspace access.

### Parameters

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

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Private immutable historical planning scenario. Does not establish current cash or spendability. | <code>application/json</code>: <code>object</code> |
| <code>400</code> | Invalid or unsupported planning inputs. | <code>application/json</code>: <code>object</code> |
| <code>401</code> | Interactive authentication required. | <code>application/json</code>: <code>object</code> |
| <code>403</code> | Current workspace authority required. | <code>application/json</code>: <code>object</code> |
| <code>404</code> | Saved source or scenario unavailable. | <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 source integrity 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 | [TreasuryProjection](/api-reference/schemas/treasury-projection/) | — |

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="getTreasurySummary"></a>

## Get reconciled treasury ledger summary

`GET /treasury/summary`

Operation ID: <code>getTreasurySummary</code>

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

### Parameters

| Name | Location | Required | Type | Description and constraints |
| --- | --- | --- | --- | --- |
| <code>x-klineo-organization-id</code> | header | Yes | <code>string</code> | — |

### Responses

| Status | Description | Content type and schema |
| --- | --- | --- |
| <code>200</code> | Conserved treasury summary | <code>application/json</code>: <code>object</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 | [TreasurySummary](/api-reference/schemas/treasury-summary/) | — |

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