# DecisionPackCommand

[All API schemas](/api-reference/schemas/)

Exactly one of: <code>object</code>; <code>object</code>; <code>object</code>; <code>object</code>; <code>object</code>; <code>object</code>; <code>object</code>; <code>object</code>; <code>object</code>

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>oneOf&#91;1&#93;.action</code> | Yes | Constant <code>EDIT&#95;DRAFT</code> | — |
| <code>oneOf&#91;1&#93;.question</code> | Yes | <code>string</code> | Min length: <code>3</code>; Max length: <code>2000</code> |
| <code>oneOf&#91;1&#93;.assumptions</code> | Yes | Array of <code>string</code> | Max items: <code>10</code> |
| <code>oneOf&#91;2&#93;.action</code> | Yes | Constant <code>ATTACH&#95;CANDIDATE&#95;REVIEW</code> | — |
| <code>oneOf&#91;2&#93;.runId</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{2,159}$</code> |
| <code>oneOf&#91;2&#93;.resultVersion</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-f&#93;{64}$</code> |
| <code>oneOf&#91;3&#93;.action</code> | Yes | Constant <code>ATTACH&#95;TREASURY&#95;PROJECTION</code> | — |
| <code>oneOf&#91;3&#93;.projectionId</code> | Yes | <code>string</code> | Pattern: <code>^treasury&#95;projection&#95;&#91;0-9a-f&#93;{32}$</code> |
| <code>oneOf&#91;3&#93;.projectionResourceVersion</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-f&#93;{64}$</code> |
| <code>oneOf&#91;4&#93;.action</code> | Yes | Constant <code>ATTACH&#95;HEALTH</code> | — |
| <code>oneOf&#91;4&#93;.runId</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{2,159}$</code> |
| <code>oneOf&#91;4&#93;.resultVersion</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-f&#93;{64}$</code> |
| <code>oneOf&#91;5&#93;.action</code> | Yes | Constant <code>READY&#95;FOR&#95;REVIEW</code> | — |
| <code>oneOf&#91;6&#93;.action</code> | Yes | Constant <code>RECORD&#95;DECISION</code> | — |
| <code>oneOf&#91;6&#93;.choice</code> | Yes | <code>string</code> | Allowed: <code>DO&#95;NOTHING</code>, <code>REQUEST&#95;MORE&#95;EVIDENCE</code>, <code>TAKE&#95;TO&#95;SEPARATE&#95;APPROVAL</code> |
| <code>oneOf&#91;6&#93;.rationale</code> | Yes | <code>string</code> | Min length: <code>1</code>; Max length: <code>4000</code> |
| <code>oneOf&#91;6&#93;.followUpAt</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>oneOf&#91;7&#93;.action</code> | Yes | Constant <code>MARK&#95;FOLLOW&#95;UP&#95;DUE</code> | — |
| <code>oneOf&#91;8&#93;.action</code> | Yes | Constant <code>CLOSE</code> | — |
| <code>oneOf&#91;8&#93;.note</code> | Yes | <code>string</code> | Min length: <code>1</code>; Max length: <code>4000</code> |
| <code>oneOf&#91;9&#93;.action</code> | Yes | Constant <code>SUPERSEDE</code> | — |
| <code>oneOf&#91;9&#93;.replacementPackId</code> | Yes | <code>string</code> | Pattern: <code>^decisionpack&#95;&#91;a-f0-9&#93;{32}$</code> |

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

Exact definition: <code>#/components/schemas/DecisionPackCommand</code> in the [OpenAPI contract](/openapi/liquidity-operating-system-v2.openapi.json).