object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
record |
Yes | object |
Additional properties rejected |
record.schemaVersion |
Yes | Constant treasury-declared-projection-v1 |
— |
record.organizationId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
record.id |
Yes | string |
Pattern: ^treasury_projection_[0-9a-f]{32}$ |
record.resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.request |
Yes | object |
Additional properties rejected |
record.request.assumptions |
Yes | object |
Additional properties rejected |
record.request.assumptions.id |
Yes | string |
Pattern: ^treasury_assumptions_[0-9a-f]{32}$ |
record.request.assumptions.resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.request.throughDay |
Yes | string |
Pattern: ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
record.request.restrictions |
Yes | Array of object |
Min items: 1; Max items: 256 |
record.request.restrictions[].ledgerEntryId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
record.request.restrictions[].restrictedAmountAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,77})$ |
record.request.restrictions[].reason |
Yes | string |
Min length: 1; Max length: 2000 |
record.request.confirmation |
Yes | Constant UNPAID_SCHEDULES_AND_RESTRICTIONS_EXCLUDE_THEM |
— |
record.result |
Yes | object |
Additional properties rejected |
record.result.schemaVersion |
Yes | Constant treasury-snapshot-projection-model-v1 |
— |
record.result.organizationId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
record.result.assumptions |
Yes | object |
Additional properties rejected |
record.result.assumptions.id |
Yes | string |
Pattern: ^treasury_assumptions_[0-9a-f]{32}$ |
record.result.assumptions.resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.result.reconciliation |
Yes | object |
Additional properties rejected |
record.result.reconciliation.id |
Yes | string |
Pattern: ^reconciliation_[0-9a-f]{32}$ |
record.result.reconciliation.resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.result.request |
Yes | object |
Additional properties rejected |
record.result.request.assumptions |
Yes | object |
Additional properties rejected |
record.result.request.assumptions.id |
Yes | string |
Pattern: ^treasury_assumptions_[0-9a-f]{32}$ |
record.result.request.assumptions.resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.result.request.throughDay |
Yes | string |
Pattern: ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
record.result.request.restrictions |
Yes | Array of object |
Min items: 1; Max items: 256 |
record.result.request.restrictions[].ledgerEntryId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
record.result.request.restrictions[].restrictedAmountAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,77})$ |
record.result.request.restrictions[].reason |
Yes | string |
Min length: 1; Max length: 2000 |
record.result.request.confirmation |
Yes | Constant UNPAID_SCHEDULES_AND_RESTRICTIONS_EXCLUDE_THEM |
— |
record.result.sourceBlock |
Yes | object |
Additional properties rejected |
record.result.sourceBlock.number |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,77})$ |
record.result.sourceBlock.hash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.result.sourceBlock.timestamp |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
record.result.sourceCutoff |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
record.result.unit |
Yes | object |
Additional properties rejected |
record.result.unit.chainId |
Yes | integer |
Maximum: 9007199254740991; Exclusive minimum: 0 |
record.result.unit.genesisHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.result.unit.asset |
Yes | string |
Pattern: ^0x[0-9a-f]{40}$ |
record.result.unit.decimals |
Yes | integer |
Minimum: 0; Maximum: 36 |
record.result.openingDay |
Yes | string |
Pattern: ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
record.result.throughDay |
Yes | string |
Pattern: ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
record.result.opening |
Yes | object |
Additional properties rejected |
record.result.opening.availableMappedAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,80})$ |
record.result.opening.declaredRestrictedAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,80})$ |
record.result.opening.scenarioBalanceAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,80})$ |
record.result.selectedMappings |
Yes | Array of object |
Min items: 1; Max items: 256 |
record.result.selectedMappings[].ledgerEntryId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
record.result.selectedMappings[].ledgerResourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.result.selectedMappings[].custodyEvidenceId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
record.result.selectedMappings[].custodyResourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.result.selectedMappings[].ledgerState |
Yes | string |
Allowed: AVAILABLE, DEPLOYED, LOCKED, AT_RISK, FEE_GENERATING |
record.result.selectedMappings[].ledgerAmountAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,77})$ |
record.result.selectedMappings[].declaredRestrictedAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,77})$ |
record.result.selectedMappings[].restrictionReason |
Yes | string |
Min length: 1; Max length: 2000 |
record.result.selectedMappings[].includedInOpening |
Yes | boolean |
— |
record.result.selectedMappings[].disposition |
Yes | string |
Allowed: AVAILABLE_DECLARED_SCENARIO, NON_AVAILABLE_EXCLUDED |
record.result.timeline |
Yes | Array of object |
Min items: 1; Max items: 365 |
record.result.timeline[].day |
Yes | string |
Pattern: ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
record.result.timeline[].actualInflowsAtomic |
Yes | Constant 0 |
— |
record.result.timeline[].obligationsAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,80})$ |
record.result.timeline[].allocationsAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,80})$ |
record.result.timeline[].conditionalInflowsAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,80})$ |
record.result.timeline[].closingBaselineAtomic |
Yes | string |
Pattern: ^(0|-?[1-9][0-9]{0,80})$ |
record.result.timeline[].cumulativeConditionalAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,80})$ |
record.result.timeline[].closingConditionalScenarioAtomic |
Yes | string |
Pattern: ^(0|-?[1-9][0-9]{0,80})$ |
record.result.excludedEvents |
Yes | Array of object |
Max items: 256 |
record.result.excludedEvents[].id |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
record.result.excludedEvents[].kind |
Yes | string |
Allowed: OBLIGATION, ALLOCATION, CONDITIONAL_INFLOW |
record.result.excludedEvents[].day |
Yes | string |
Pattern: ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
record.result.excludedEvents[].amountAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,77})$ |
record.result.excludedEvents[].reason |
Yes | Constant AFTER_HORIZON |
— |
record.result.firstShortfallDay |
Yes | At least one of: string; null |
— |
record.result.minimumBaselineAtomic |
Yes | string |
Pattern: ^(0|-?[1-9][0-9]{0,80})$ |
record.result.closingBaselineAtomic |
Yes | string |
Pattern: ^(0|-?[1-9][0-9]{0,80})$ |
record.result.conditionalInflowsAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,80})$ |
record.result.closingConditionalScenarioAtomic |
Yes | string |
Pattern: ^(0|-?[1-9][0-9]{0,80})$ |
record.result.declaredExpenseCoverage |
Yes | object |
Additional properties rejected |
record.result.declaredExpenseCoverage.declaration |
Yes | string |
Allowed: DECLARED_COMPLETE, DECLARED_PARTIAL, UNKNOWN |
record.result.declaredExpenseCoverage.omittedCategories |
Yes | Array of string |
Max items: 64 |
record.result.declaredExpenseCoverage.note |
Yes | string |
Min length: 1; Max length: 2000 |
record.result.provenance |
Yes | Constant DECLARED_SCENARIO |
— |
record.result.verifiedExpenseCoverage |
Yes | Constant UNKNOWN |
— |
record.result.spendability |
Yes | Constant NOT_ESTABLISHED |
— |
record.result.financialAuthority |
Yes | Constant false |
— |
record.result.limitations |
Yes | Array of string |
Min items: 9; Max items: 9 |
record.result.modelHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.sourceHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
record.createdBy |
Yes | string |
Format: uuid; Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ |
record.createdAt |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
record.spendability |
Yes | Constant NOT_ESTABLISHED |
— |
record.financialAuthority |
Yes | Constant false |
— |
replayed |
Yes | boolean |
— |
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/TreasuryProjectionWrite in the OpenAPI contract.