API reference
Public API/Backtesting

Validate run spec

POST/backtests/atop/validate

Validate a run spec without dispatching execution.

10 requests / minute per key (write tier). Returns the {success, message, data} envelope.

Authorizations

Authorizationstringheaderrequired

Bearer token - an ito_* key (from Settings) holding the backtests:read scope.

Body

strategy_idstring

Example: "wsc_crypto_updown_delta_hedged_roll"

dataset_idstring

Example: "clickhouse:ito_hot.platform_orderbook_l2"

venuesarray

Example: ["polymarket"]

date_rangeobject

Example: {"start":"2026-05-14T14:45:00Z","end":"2026-05-14T14:46:00Z"}

paramsobject

Example: {"roll_trigger":"liquidity_spread_score","size_mode":"liquidity_weighted","liquidity_size_fraction":0.1}

executionobject

Example: {"fill_model":"l2_vwap","latency_ms":50,"max_book_age_ms":1000,"partial_fills":true,"fee_bps":0}

budgetsobject

Example: {"max_wall_clock_seconds":1800,"max_rows":10000000000,"max_cost_usd":25}

Request
curl -X POST "https://itomarkets.com/api/v1/backtests/atop/validate" \  -H "Authorization: Bearer $ITO_API_KEY" \  -H "Content-Type: application/json" \  -d '  {    "strategy_id": "wsc_crypto_updown_delta_hedged_roll",    "dataset_id": "clickhouse:ito_hot.platform_orderbook_l2",    "venues": [      "polymarket"    ],    "date_range": {      "start": "2026-05-14T14:45:00Z",      "end": "2026-05-14T14:46:00Z"    },    "params": {      "roll_trigger": "liquidity_spread_score",      "size_mode": "liquidity_weighted",      "liquidity_size_fraction": 0.1    },    "execution": {      "fill_model": "l2_vwap",      "latency_ms": 50,      "max_book_age_ms": 1000,      "partial_fills": true,      "fee_bps": 0    },    "budgets": {      "max_wall_clock_seconds": 1800,      "max_rows": 10000000000,      "max_cost_usd": 25    }  }  '
ResponseJSON
{  "success": true,  "message": "Success",  "data": {    "run_id": "dry_run",    "status": "validated",    "spec": {      "strategy_id": "wsc_crypto_updown_delta_hedged_roll",      "spec_hash": "6a91f0c4e2d85b37a1c9f4e0d2b6873c5e1a0f9d4c8b2e6a7d3f5c1b8e4a0d92",      "budgets": {        "max_wall_clock_seconds": 1800,        "max_rows": 10000000000,        "max_cost_usd": 25      }    },    "metrics": {}  }}