Skip to content

API changelog#

Every backend release that changes the public REST or WebSocket API adds an entry here, generated from the OpenAPI and AsyncAPI specs. Changes that need action on your side also get a numbered change notice.

v3.23063 — 2026-10-21#

REST API#

New endpoints

Objects

  • CreateStrategyCampaignRequest: new object. Used by POST /api/v2/strategies/campaigns/create.
  • PnlDateRange: new object. Used by GET /api/v2/portfolio/pnl.
  • StrategyCampaign: new object. Used by GET /api/v2/strategies/campaigns, GET /api/v2/strategies/campaigns/byId, POST /api/v2/strategies/campaigns/create, POST /api/v2/strategies/campaigns/kill, POST /api/v2/strategies/campaigns/pause, POST /api/v2/strategies/campaigns/resume and 1 more.
  • StrategyCampaignActionRequest: new object. Used by POST /api/v2/strategies/campaigns/kill, POST /api/v2/strategies/campaigns/pause, POST /api/v2/strategies/campaigns/resume, POST /api/v2/strategies/campaigns/stop.
  • StrategyCampaignCycle: new object. Used by GET /api/v2/strategies/campaigns, GET /api/v2/strategies/campaigns/byId, POST /api/v2/strategies/campaigns/create, POST /api/v2/strategies/campaigns/kill, POST /api/v2/strategies/campaigns/pause, POST /api/v2/strategies/campaigns/resume and 1 more.
  • StrategyCampaignLeg: new object. Used by GET /api/v2/strategies/campaigns, GET /api/v2/strategies/campaigns/byId, POST /api/v2/strategies/campaigns/create, POST /api/v2/strategies/campaigns/kill, POST /api/v2/strategies/campaigns/pause, POST /api/v2/strategies/campaigns/resume and 1 more.
  • StrategyCampaignList: new object. Used by GET /api/v2/strategies/campaigns.
  • StrategyStopRules: new object. Used by GET /api/v2/strategies/campaigns, GET /api/v2/strategies/campaigns/byId, POST /api/v2/strategies/campaigns/create, POST /api/v2/strategies/campaigns/kill, POST /api/v2/strategies/campaigns/pause, POST /api/v2/strategies/campaigns/resume and 1 more.
  • ExchangeCode: new values PAPERTRADE. Used by GET /api/v2/data/instruments.
  • OrderLegParams: added timer_iceberg_delay_max (number), timer_iceberg_delay_min (number). Used by POST /api/v2/trading/order/createMany/multilegs, POST /api/v2/trading/order/create_multiLegs.
  • OrderParams: added timer_iceberg_delay_max (number), timer_iceberg_delay_min (number). Used by GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open, POST /api/v2/trading/order/create, POST /api/v2/trading/order/createMany.
  • PnlGroup: added reconstructed_range (PnlDateRange); now required: reconstructed_range. Used by GET /api/v2/portfolio/pnl.
  • PnlPoint: added reconstructed (boolean); now required: reconstructed. Used by GET /api/v2/portfolio/pnl.
  • PnlSummary: added reconstructed_range (PnlDateRange); now required: reconstructed_range. Used by GET /api/v2/portfolio/pnl.
  • TradingExchange: new values PAPERTRADE. Used by GET /api/v2/trading/balance, GET /api/v2/trading/margin, GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open and 6 more.

v3.22928 — 2026-10-16#

Covers releases v3.22713 to v3.22928. New Portfolio endpoints report daily PnL, realized PnL/funding/fees by symbol, and deposits, withdrawals and transfers. New order parameters: timer_iceberg_delay and randomize_iceberg_timer (Iceberg and Scale), extend_duration (TWAP, VWAP, IS), and placement_infos.depth_mode for placement in basis points from the midpoint (see Request examples). Get account margin adds the venue's own ratio as raw_margin_ratio / raw_margin_field. Two behavior changes that the specs do not show: since v3.22713, Cancel all open orders needs a key with trade permission and answers 403 to a read-only key, like the other endpoints that create or cancel orders; since v3.22864, a 429 carries a JSON body with reason and retry_after_ms plus a Retry-After header, and the WebSocket connection limit is set per account (see Rate limits).

REST API#

New endpoints

Objects

  • DepthMode: new object. Used by GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open, POST /api/v2/trading/order/create, POST /api/v2/trading/order/createMany and 2 more.
  • FlowRecord: new object. Used by GET /api/v2/portfolio/flows.
  • FlowTotals: new object. Used by GET /api/v2/portfolio/flows.
  • LedgerCoverage: new object. Used by GET /api/v2/portfolio/pnl/ledger.
  • LedgerRow: new object. Used by GET /api/v2/portfolio/pnl/ledger.
  • LedgerTotals: new object. Used by GET /api/v2/portfolio/pnl/ledger.
  • PnlGroup: new object. Used by GET /api/v2/portfolio/pnl.
  • PnlGroupKey: new object. Used by GET /api/v2/portfolio/pnl.
  • PnlPoint: new object. Used by GET /api/v2/portfolio/pnl.
  • PnlSummary: new object. Used by GET /api/v2/portfolio/pnl.
  • PortfolioAccountRef: new object. Used by GET /api/v2/portfolio/pnl.
  • PortfolioFlowsResponse: new object. Used by GET /api/v2/portfolio/flows.
  • PortfolioLedgerResponse: new object. Used by GET /api/v2/portfolio/pnl/ledger.
  • PortfolioPnlResponse: new object. Used by GET /api/v2/portfolio/pnl.
  • AccountMarginResponse: added raw_margin_field (string), raw_margin_ratio (number/double). Used by GET /api/v2/trading/margin.
  • OrderLegParams: added extend_duration (boolean), randomize_iceberg_timer (boolean), timer_iceberg_delay (number). Used by POST /api/v2/trading/order/createMany/multilegs, POST /api/v2/trading/order/create_multiLegs.
  • OrderParams: added extend_duration (boolean), randomize_iceberg_timer (boolean), timer_iceberg_delay (number). Used by GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open, POST /api/v2/trading/order/create, POST /api/v2/trading/order/createMany.
  • PlacementInfo: added depth_mode (DepthMode). Used by GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open, POST /api/v2/trading/order/create, POST /api/v2/trading/order/createMany and 2 more.

v3.22639 — 2026-10-08#

New pre-trade analysis endpoint: estimated cost, market impact and a suggested duration for an order before you send it. POV orders can be placed through the API: params.pov_ratio (percent of market volume, 0.01 to 33) is required and params.pov_risk is optional; a POV order without a valid pov_ratio is rejected with INVALID_PARAM (see the POV example). Get account margin adds a cross-venue margin meter: remaining_cushion, liq_distance, vol_cover with vol_sigma_window, and margin_estimated.

REST API#

New endpoints

Objects

  • PovRisk: new object. Used by GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open, POST /api/v2/trading/order/create, POST /api/v2/trading/order/createMany.
  • PreTradeAdvice: new object. Used by GET /api/v2/data/preTradeAnalysis.
  • PreTradeAnalysis: new object. Used by GET /api/v2/data/preTradeAnalysis.
  • PreTradeCostEstimate: new object. Used by GET /api/v2/data/preTradeAnalysis.
  • PreTradeExecution: new object. Used by GET /api/v2/data/preTradeAnalysis.
  • PreTradeImpact: new object. Used by GET /api/v2/data/preTradeAnalysis.
  • PreTradeImpactModel: new object. Used by GET /api/v2/data/preTradeAnalysis.
  • PreTradeMarket: new object. Used by GET /api/v2/data/preTradeAnalysis.
  • PreTradePov: new object. Used by GET /api/v2/data/preTradeAnalysis.
  • PreTradeThresholds: new object. Used by GET /api/v2/data/preTradeAnalysis.
  • AccountMarginResponse: added liq_distance (number/double), margin_estimated (boolean), remaining_cushion (number/double), vol_cover (number/double), vol_sigma_window (string). Used by GET /api/v2/trading/margin.
  • OrderParams: added pov_ratio (number), pov_risk (PovRisk). Used by GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open, POST /api/v2/trading/order/create, POST /api/v2/trading/order/createMany.

v3.22428 — 2026-09-29#

First entry. Covers everything published since the documentation moved to this site on 2026-08-31: a new account margin endpoint, parent-order fields on order responses, fills on order endpoints, and documented subscribe/unsubscribe operations for every WebSocket topic. The TradeDetails renames and the trade_id type are documentation corrections: the API already returned these fields this way. See CH-003.

REST API#

New endpoints

Query parameters

Objects

  • AccountMarginResponse: new object. Used by GET /api/v2/trading/margin.
  • ExchangeCode: new object. Used by GET /api/v2/data/instruments.
  • CreateParentOrderRequest: added limit_is_arrival (boolean). Used by POST /api/v2/trading/order/create, POST /api/v2/trading/order/createMany.
  • Instrument: exchange is now ExchangeCode (was Exchange_1). Used by GET /api/v2/data/instruments.
  • OrderDetails: added clip_size_type (ClipSizeType), clip_size_val (number), limit_price (number), params (OrderParams), progress (number), quantity (number), target_value (number). Used by GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open.
  • OrderParams: added limit_bps (string), limit_is_arrival (boolean); removed post_only. Used by GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open, POST /api/v2/trading/order/create, POST /api/v2/trading/order/createMany.
  • TradeDetails: added child_order_id (integer/int64), parent_order_id (integer/int64); renamed clientOrderId → client_order_id, exchangeOrderId → exchange_order_id, execTime → exec_time, feeCurrency → fee_currency, makerOrTaker → maker_or_taker; direction: new values BUY, SELL; trade_id is now string (was integer/int64). Used by GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open, GET /api/v2/trading/userTrades.
  • TradingExchange: new values KRAKEN. Used by GET /api/v2/trading/balance, GET /api/v2/trading/margin, GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open and 6 more.
  • WouldInfo: added would_bps (string). Used by GET /api/v2/trading/order/byId, GET /api/v2/trading/order/cancelAll, GET /api/v2/trading/order/find, GET /api/v2/trading/order/open, POST /api/v2/trading/order/create, POST /api/v2/trading/order/createMany and 2 more.
  • Exchange_1: removed.

WebSocket API#

  • New messages: subscribeChildOrder, subscribeOhlcv, subscribeOpenInterest, subscribePositionRisk, subscribeTicker, unsubscribeChildOrder, unsubscribeOhlcv, unsubscribeOpenInterest, unsubscribePositionRisk, unsubscribeTicker
  • 15 subscribe/unsubscribe operations now documented