Klineo/Docs
Open app ↗

API schemas

TreasuryProjectionWrite

All API schemas

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.