Klineo/Docs
Open app ↗

API schemas

ResearchTrialInput

All API schemas

object — Additional properties rejected

Field Required at this level Type Description and constraints
schemaVersion Yes Constant agent-research-trial-input-v1 —
organizationId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
runId Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
trialKey Yes string Allowed: baseline, alternative-1, alternative-2, alternative-3
label Yes string Min length: 1; Max length: 120
protocolHash Yes string Pattern: ^0x[0-9a-f]{64}$
inputHash Yes string Pattern: ^0x[0-9a-f]{64}$
state Yes string Allowed: QUEUED, RUNNING, COMPLETED, FAILED, CANCELLED
chargedComputeUnits Yes string Pattern: ^(0|[1-9][0-9]{0,7})$
failureCode Yes At least one of: string; null —
artifactHash Yes At least one of: string; null —
recordedAt Yes At least one of: string; null —
input Yes object Additional properties rejected
input.seed Yes string Min length: 1; Max length: 256
input.pathCount Yes At least one of: Constant 2000; Constant 10000 —
input.stepCount Yes integer Minimum: 1; Maximum: 365
input.targetTradeSizeQuote Yes string Pattern: ^[1-9][0-9]*$
input.startingPortfolioQuote Yes string Pattern: ^[1-9][0-9]*$
input.startingDepthQuote Yes string Pattern: ^[1-9][0-9]*$
input.startingInventoryPips Yes integer Minimum: 0; Maximum: 1000000
input.scenario Yes object Additional properties rejected
input.scenario.id Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$
input.scenario.name Yes string Min length: 3; Max length: 160
input.scenario.kind Yes string Allowed: HISTORICAL_REPLAY, BULL, BEAR, SIDEWAYS, LIQUIDITY_CRISIS, TOKEN_UNLOCK, LARGE_BUYER, LARGE_SELLER, LIQUIDITY_WITHDRAWAL, GAS_SPIKE, ORACLE_OUTAGE, COMBINED
input.scenario.driftPipsPerStep Yes integer Minimum: -1000000; Maximum: 1000000
input.scenario.volatilityPipsPerStep Yes integer Minimum: 0; Maximum: 1000000
input.scenario.liquidityWithdrawalPips Yes integer Minimum: 0; Maximum: 1000000
input.scenario.oneSidedFlowPips Yes integer Minimum: 0; Maximum: 1000000
input.scenario.gasIncreasePips Yes integer Minimum: 0; Maximum: 1000000
input.scenario.oracleOutageStep No integer Minimum: 0; Maximum: 364
input.scenario.historicalReturnPips No Array of integer Min items: 1; Max items: 365
input.scenario.protocolFeePips No integer Minimum: 0; Maximum: 1000000
input.scenario.platformFeePips No integer Minimum: 0; Maximum: 1000000
input.scenario.unlocks Yes Array of object Max items: 256
input.scenario.unlocks[].id Yes string Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,152}$
input.scenario.unlocks[].unlocksAt 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)))$
input.scenario.unlocks[].tokenAmount Yes string Pattern: ^[1-9][0-9]*$
input.scenario.unlocks[].recipientCategory Yes string Allowed: TEAM, INVESTOR, COMMUNITY, TREASURY, ECOSYSTEM, OTHER
input.scenario.unlocks[].expectedSaleParticipationPips Yes integer Minimum: 0; Maximum: 1000000
input.scenario.unlocks[].confidencePips Yes integer Minimum: 0; Maximum: 1000000
input.scenario.unlocks[].correlationGroup No string Min length: 1; Max length: 120
input.scenario.unlocks[].evidenceHash No string Pattern: ^0x[0-9a-fA-F]{64}$
input.variants Yes Array of object Min items: 5; Max items: 5
input.variants[].kind Yes string Allowed: CURRENT, RECOMMENDED, CONSERVATIVE, CAPITAL_EFFICIENT, EMERGENCY
input.variants[].requiredCapitalQuote Yes string Pattern: ^(0|[1-9][0-9]*)$
input.variants[].deployableCapitalQuote Yes string Pattern: ^(0|[1-9][0-9]*)$
input.variants[].stableReserveQuote Yes string Pattern: ^(0|[1-9][0-9]*)$
input.variants[].emergencyReserveQuote Yes string Pattern: ^(0|[1-9][0-9]*)$
input.variants[].rangeWidthPips Yes integer Minimum: 0; Maximum: 1000000
input.variants[].expectedSlippagePips Yes integer Minimum: 0; Maximum: 1000000
input.variants[].expectedFeeIncomeLowQuote Yes string Pattern: ^(0|[1-9][0-9]*)$
input.variants[].expectedFeeIncomeHighQuote Yes string Pattern: ^(0|[1-9][0-9]*)$
input.variants[].inventoryExposurePips Yes integer Minimum: 0; Maximum: 1000000
input.variants[].maximumDailyTurnoverPips Yes integer Minimum: 0; Maximum: 1000000
input.variants[].satisfiesIntent Yes boolean —
input.variants[].reasons Yes Array of string Max items: 64
financialAuthority Yes Constant false —
publicationAuthority Yes Constant false —

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