historical

Get Historical Positions

Changed on

Returns settled market positions after their event completes the live-to-historical handoff. Until then, settled positions remain available via GET /portfolio/positions?settlement_status=settled. The market_positions_last_updated_ts value on GET /historical/cutoff is the backfill horizon, not a guarantee that every older position has moved. Unsettled positions are available via GET /portfolio/positions.

get/historical/positions

Request

  • Base URL
    https://external-api.kalshi.com/trade-api/v2
  • URL
    https://external-api.kalshi.com/trade-api/v2/historical/positions
  • Auth
    API key in header KALSHI-ACCESS-KEY and API key in header KALSHI-ACCESS-SIGNATURE and API key in header KALSHI-ACCESS-TIMESTAMP

Query parameters

tickerstring

Filter by market ticker

event_tickerstring

Event ticker to filter by. Only a single event ticker is supported.

subaccountinteger

Subaccount number (0 for primary, 1-63 for subaccounts). Defaults to 0. Subaccount-restricted API keys default to their locked subaccount and must omit this parameter or pass their locked subaccount.

limitinteger

Number of results per page. Defaults to 100.

cursorstring

Pagination cursor. Use the cursor value returned from the previous response to get the next page of results. Leave empty for the first page.

Response

Historical positions retrieved successfully

cursorstring

The Cursor represents a pointer to the next page of records in the pagination. Use the value returned here in the cursor query parameter for this end-point to get the next page containing limit records. An empty value of this field indicates there is no next page.

Example response

{
  "market_positions": [
    {
      "total_traded_dollars": "0.5600",
      "position_fp": "10.00",
      "market_exposure_dollars": "0.5600",
      "realized_pnl_dollars": "0.5600",
      "fees_paid_dollars": "0.5600"
    }
  ],
  "event_positions": [
    {
      "total_cost_dollars": "0.5600",
      "total_cost_shares_fp": "10.00",
      "event_exposure_dollars": "0.5600",
      "realized_pnl_dollars": "0.5600",
      "fees_paid_dollars": "0.5600"
    }
  ]
}

Changes