Exactly one of: object; object — Discriminator: decision
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
oneOf[1].decision |
Yes | Constant APPROVE |
— |
oneOf[1].evidenceHash |
Yes | Hash | — |
oneOf[1].reason |
Yes | string |
Min length: 3; Max length: 500 |
oneOf[2].decision |
Yes | Constant REJECT |
— |
oneOf[2].rejectionReason |
Yes | string |
Min length: 10; Max length: 2000 |
oneOf[2].evidenceHash |
No | Hash | — |
oneOf[2].reason |
Yes | string |
Min length: 3; Max length: 500 |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
Exact definition: #/components/schemas/ProposalDecisionRequest in the OpenAPI contract.