API reference
Public API/Backtesting

Plan experiment

POST/backtests/atop/plan

Validate a multi-window experiment plan without dispatching jobs. The body wraps a shared base_spec with named windows; each window is validated as its own run spec.

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

namestring

Example: "rolling_eval"

base_specobject

Example: {"strategy_id":"wsc_crypto_updown_delta_hedged_roll","dataset_id":"clickhouse:ito_hot.platform_orderbook_l2...

windowsarray

Example: [{"name":"may_w1","role":"train","date_range":{"start":"2026-05-14T14:45:00Z","end":"2026-05-14T14:46:00Z"}...

Request
curl -X POST "https://itomarkets.com/api/v1/backtests/atop/plan" \  -H "Authorization: Bearer $ITO_API_KEY" \  -H "Content-Type: application/json" \  -d '  {    "name": "rolling_eval",    "base_spec": {      "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      }    },    "windows": [      {        "name": "may_w1",        "role": "train",        "date_range": {          "start": "2026-05-14T14:45:00Z",          "end": "2026-05-14T14:46:00Z"        }      },      {        "name": "may_w2",        "role": "test",        "date_range": {          "start": "2026-05-14T14:46:00Z",          "end": "2026-05-14T14:47:00Z"        }      }    ]  }  '
ResponseJSON
{  "success": true,  "message": "Success",  "data": {    "plan_version": "atop-experiment-plan-v1",    "name": "rolling_eval",    "plan_id": "3d7e5a1f9c2b8e4d6a0c5f3b7e9d1a8c2f4b6d0e8a3c5e7f9b1d4a6c8e0f2b53",    "created_at": "2026-05-14T14:50:00+00:00",    "runs": [      {        "name": "may_w1",        "role": "train",        "status": "validated"      },      {        "name": "may_w2",        "role": "test",        "status": "validated"      }    ]  }}