Klineo/Docs
Open app ↗

API schemas

SignedTreasuryEvidence

All API schemas

object — Additional properties rejected

Field Required at this level Type Description and constraints
payload Yes object Additional properties rejected
payload.schemaVersion Yes Constant treasury-custody-evidence-v1 —
payload.organizationId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
payload.projectId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
payload.evidenceId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
payload.relationship Yes object Additional properties rejected
payload.relationship.id Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
payload.relationship.resourceVersion Yes string Pattern: ^0x[0-9a-f]{64}$
payload.relationship.evidenceHash Yes string Pattern: ^0x[0-9a-f]{64}$
payload.provider Yes object Additional properties rejected
payload.provider.id Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
payload.provider.resourceVersion Yes string Pattern: ^0x[0-9a-f]{64}$
payload.provider.attestationHash Yes string Pattern: ^0x[0-9a-f]{64}$
payload.observation Yes object Additional properties rejected
payload.observation.chainId Yes integer Maximum: 9007199254740991; Exclusive minimum: 0
payload.observation.genesisHash Yes string Pattern: ^0x[0-9a-f]{64}$
payload.observation.token Yes string Pattern: ^0x[0-9a-f]{40}$
payload.observation.decimals Yes integer Minimum: 0; Maximum: 36
payload.observation.custodyAccount Yes string Pattern: ^0x[0-9a-f]{40}$
payload.observation.amountAtomic Yes string Pattern: ^(0|[1-9][0-9]{0,77})$
payload.observation.blockNumber Yes string Pattern: ^(0|[1-9][0-9]{0,77})$
payload.observation.blockHash Yes string Pattern: ^0x[0-9a-f]{64}$
payload.observation.blockTimestamp 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)))$
payload.observation.finality Yes Constant FINALIZED —
payload.observedAt 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)))$
payload.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)))$
payload.expiresAt 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)))$
payloadHash Yes string Pattern: ^0x[0-9a-f]{64}$
signature Yes string Pattern: ^[A-Za-z0-9+/]{86}==$

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/SignedTreasuryEvidence in the OpenAPI contract.