Klineo/Docs
Open app ↗

API schemas

TreasuryReconciliationWrite

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-reconciliation-draft-v1 —
record.organizationId Yes string Min length: 1
record.id Yes string Pattern: ^reconciliation_[0-9a-f]{32}$
record.sequence Yes string Pattern: ^[1-9][0-9]{0,17}$
record.resourceVersion Yes string Pattern: ^0x[0-9a-f]{64}$
record.state Yes string Allowed: DRAFT, ACKNOWLEDGED
record.candidate Yes object Additional properties rejected
record.candidate.schemaVersion Yes Constant treasury-ledger-custody-reconciliation-candidate-v1 —
record.candidate.organizationId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
record.candidate.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.candidate.status Yes Constant REVIEW_CANDIDATE —
record.candidate.mappings Yes Array of object Min items: 1; Max items: 256
record.candidate.mappings[].ledger Yes object Additional properties rejected
record.candidate.mappings[].ledger.recordId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
record.candidate.mappings[].ledger.resourceVersion Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.mappings[].ledger.artifactHash Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.mappings[].custody Yes object Additional properties rejected
record.candidate.mappings[].custody.evidenceId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
record.candidate.mappings[].custody.resourceVersion Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.mappings[].capitalContainerId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
record.candidate.mappings[].declaredCustodyLocationId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
record.candidate.mappings[].declaredSource Yes object Additional properties rejected
record.candidate.mappings[].declaredSource.kind Yes string Allowed: SAFE, VAULT, EXTERNAL_MANAGER
record.candidate.mappings[].declaredSource.id Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
record.candidate.mappings[].unit Yes object Additional properties rejected
record.candidate.mappings[].unit.chainId Yes integer Maximum: 9007199254740991; Exclusive minimum: 0
record.candidate.mappings[].unit.genesisHash Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.mappings[].unit.asset Yes string Pattern: ^0x[0-9a-f]{40}$
record.candidate.mappings[].unit.decimals Yes integer Minimum: 0; Maximum: 36
record.candidate.mappings[].custodyAccount Yes string Pattern: ^0x[0-9a-f]{40}$
record.candidate.mappings[].relationship Yes object Additional properties rejected
record.candidate.mappings[].relationship.id Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
record.candidate.mappings[].relationship.resourceVersion Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.mappings[].relationship.evidenceHash Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.mappings[].projectId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
record.candidate.mappings[].block Yes object Additional properties rejected
record.candidate.mappings[].block.number Yes string Pattern: ^(0|[1-9][0-9]{0,77})$
record.candidate.mappings[].block.hash Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.mappings[].block.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.candidate.mappings[].ledgerAmountAtomic Yes string Pattern: ^(0|[1-9][0-9]{0,77})$
record.candidate.mappings[].observedCustodyAmountAtomic Yes string Pattern: ^(0|[1-9][0-9]{0,77})$
record.candidate.mappings[].unallocatedCustodySurplusAtomic Yes string Pattern: ^(0|[1-9][0-9]{0,77})$
record.candidate.mappings[].ledgerState Yes string Allowed: AVAILABLE, DEPLOYED, LOCKED, AT_RISK, FEE_GENERATING
record.candidate.mappings[].committedQuoteValuation Yes string Pattern: ^(0|[1-9][0-9]{0,77})$
record.candidate.mappings[].obligationIds Yes Array of string Max items: 256
record.candidate.mappings[].disposition Yes Constant PROPOSED_MAPPING_REQUIRES_ADMISSION —
record.candidate.sourceBindings Yes object Additional properties rejected
record.candidate.sourceBindings.ledger Yes Array of object Min items: 1; Max items: 256
record.candidate.sourceBindings.ledger[].recordId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
record.candidate.sourceBindings.ledger[].resourceVersion Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.sourceBindings.ledger[].artifactHash Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.sourceBindings.custody Yes Array of object Min items: 1; Max items: 256
record.candidate.sourceBindings.custody[].evidenceId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
record.candidate.sourceBindings.custody[].resourceVersion Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.sourceHash Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.candidateHash Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.ledgerConservation Yes object Additional properties rejected
record.candidate.ledgerConservation.scope Yes Constant SUPPLIED_IMMUTABLE_ENTRIES_ONLY —
record.candidate.ledgerConservation.ledgerVersion Yes string Allowed: treasury-ledger-v1, treasury-ledger-v2
record.candidate.ledgerConservation.conserved Yes Constant true —
record.candidate.ledgerConservation.commitment Yes string Pattern: ^0x[0-9a-f]{64}$
record.candidate.omittedLedgerEntryIds Yes Array of string Max items: 256
record.candidate.omittedCustodyEvidenceIds Yes Array of string Max items: 256
record.candidate.limitations Yes Array of Not specified —
record.candidate.spendability Yes Constant NOT_ESTABLISHED —
record.candidate.expenseCoverage Yes Constant UNKNOWN —
record.candidate.financialAuthority Yes Constant false —
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.recordedAt 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.acknowledgment Yes At least one of: object; null —
record.acknowledgment.anyOf[1].recordedBy 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.acknowledgment.anyOf[1].recordedAt 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/TreasuryReconciliationWrite in the OpenAPI contract.