---
title: "Changes to Get Positions"
method: GET
path: "/portfolio/positions"
---

# Changes to Get Positions

`GET /portfolio/positions`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 16 of 69 revisions.

- **2026-10-16** `bd0c218a65b7`: 1 warning
- **2026-09-30** `b8a5c773e8f5`: 1 info
- **2026-09-18** `30e750f714ab`: 1 info
- **2026-08-19** `87cbea53ccd8`: 1 info
- **2026-08-15** `1369596f944a`: 1 info
- **2026-07-31** `a07481be8bf9`: 3 warning
- **2026-07-13** `a671b3e77f35`: 1 breaking
- **2026-04-13** `218c1f661cbd`: 10 breaking, 2 info
- **2026-02-14** `d4973326079e`: 1 breaking
- **2026-01-30** `c2d717743574`: 1 breaking
- **2026-01-26** `ea5437268cb9`: 2 info
- **2026-01-13** `a0b9f0879fd3`: 1 info
- **2025-12-19** `4f2b3587b640`: 1 warning, 2 info
- **2025-12-02** `02c9ca7d135f`: 1 warning, 21 info
- **2025-11-06** `6ad7527f54aa`: 12 breaking, 2 warning, 8 info
- **2025-09-07** `6a92b9826d61`: 8 breaking

## Changes

- **2026-10-16** `bd0c218a65b7`: 1 warning
  - for the `query` request parameter `subaccount`, the min was set to `0.00`
- **2026-09-30** `b8a5c773e8f5`: 1 info
  - added the new optional `query` request parameter `settlement_status`
- **2026-09-18** `30e750f714ab`: 1 info
  - the endpoint scheme security `kalshiOauthAccessToken` was added to the API
- **2026-08-19** `87cbea53ccd8`: 1 info
  - added the required property `market_positions/items/exchange_index` to the response with the `200` status
- **2026-08-15** `1369596f944a`: 1 info
  - added the new optional `query` request parameter `exchange_index`
- **2026-07-31** `a07481be8bf9`: 3 warning
  - removed the optional property `service` from the response with the `400` status
  - removed the optional property `service` from the response with the `401` status
  - removed the optional property `service` from the response with the `500` status
- **2026-07-13** `a671b3e77f35`: 1 breaking
  - removed the required property `market_positions/items/resting_orders_count` from the response with the `200` status
- **2026-04-13** `218c1f661cbd`: 10 breaking, 2 info
  - removed the required property `event_positions/items/event_exposure` from the response with the `200` status
  - removed the required property `event_positions/items/fees_paid` from the response with the `200` status
  - removed the required property `event_positions/items/realized_pnl` from the response with the `200` status
  - removed the required property `event_positions/items/total_cost` from the response with the `200` status
  - removed the required property `event_positions/items/total_cost_shares` from the response with the `200` status
  - removed the required property `market_positions/items/fees_paid` from the response with the `200` status
  - removed the required property `market_positions/items/market_exposure` from the response with the `200` status
  - removed the required property `market_positions/items/position` from the response with the `200` status
  - removed the required property `market_positions/items/realized_pnl` from the response with the `200` status
  - removed the required property `market_positions/items/total_traded` from the response with the `200` status
  - the response property `market_positions/items/last_updated_ts` became required for the status `200`
  - response property `market_positions/items/resting_orders_count` deprecated
- **2026-02-14** `d4973326079e`: 1 breaking
  - for the `query` request parameter `subaccount`, default value `0` was removed
- **2026-01-30** `c2d717743574`: 1 breaking
  - for the `query` request parameter `subaccount`, default value `0` was added
- **2026-01-26** `ea5437268cb9`: 2 info
  - added the required property `event_positions/items/total_cost_shares_fp` to the response with the `200` status
  - added the required property `market_positions/items/position_fp` to the response with the `200` status
- **2026-01-13** `a0b9f0879fd3`: 1 info
  - added the new optional `query` request parameter `subaccount`
- **2025-12-19** `4f2b3587b640`: 1 warning, 2 info
  - deleted the `query` request parameter `settlement_status`
  - the response property `event_positions` became required for the status `200`
  - the response property `market_positions` became required for the status `200`
- **2025-12-02** `02c9ca7d135f`: 1 warning, 21 info
  - removed the optional property `event_positions/items/resting_order_count` from the response with the `200` status
  - the response property `event_positions/items/event_exposure` became required for the status `200`
  - the response property `event_positions/items/event_exposure_dollars` became required for the status `200`
  - the response property `event_positions/items/event_ticker` became required for the status `200`
  - the response property `event_positions/items/fees_paid` became required for the status `200`
  - the response property `event_positions/items/fees_paid_dollars` became required for the status `200`
  - the response property `event_positions/items/realized_pnl` became required for the status `200`
  - the response property `event_positions/items/realized_pnl_dollars` became required for the status `200`
  - the response property `event_positions/items/total_cost` became required for the status `200`
  - the response property `event_positions/items/total_cost_dollars` became required for the status `200`
  - the response property `event_positions/items/total_cost_shares` became required for the status `200`
  - the response property `market_positions/items/fees_paid` became required for the status `200`
  - the response property `market_positions/items/fees_paid_dollars` became required for the status `200`
  - the response property `market_positions/items/market_exposure` became required for the status `200`
  - the response property `market_positions/items/market_exposure_dollars` became required for the status `200`
  - the response property `market_positions/items/position` became required for the status `200`
  - the response property `market_positions/items/realized_pnl` became required for the status `200`
  - the response property `market_positions/items/realized_pnl_dollars` became required for the status `200`
  - the response property `market_positions/items/resting_orders_count` became required for the status `200`
  - the response property `market_positions/items/ticker` became required for the status `200`
  - the response property `market_positions/items/total_traded` became required for the status `200`
  - the response property `market_positions/items/total_traded_dollars` became required for the status `200`
- **2025-11-06** `6ad7527f54aa`: 12 breaking, 2 warning, 8 info
  - the `query` request parameter `settlement_status` was restricted to a list of enum values
  - for the `query` request parameter `limit`, default value `100` was added
  - for the `query` request parameter `settlement_status`, default value `unsettled` was added
  - for the `query` request parameter `limit`, the format changed from `int64` to `int32`
  - the `event_positions/items/event_exposure` response's property format changed from `int64` to no format for status `200`
  - the `event_positions/items/fees_paid` response's property format changed from `int64` to no format for status `200`
  - the `event_positions/items/realized_pnl` response's property format changed from `int64` to no format for status `200`
  - the `event_positions/items/total_cost` response's property format changed from `int64` to no format for status `200`
  - the `market_positions/items/fees_paid` response's property format changed from `int64` to no format for status `200`
  - the `market_positions/items/market_exposure` response's property format changed from `int64` to no format for status `200`
  - the `market_positions/items/realized_pnl` response's property format changed from `int64` to no format for status `200`
  - the `market_positions/items/total_traded` response's property format changed from `int64` to no format for status `200`
  - for the `query` request parameter `limit`, the max was set to `1000.00`
  - for the `query` request parameter `limit`, the min was set to `1.00`
  - the endpoint scheme security `kalshiAccessKey AND kalshiAccessSignature AND kalshiAccessTimestamp` was added to the API
  - added the new enum value `all` to the `query` request parameter `settlement_status`
  - added the new enum value `settled` to the `query` request parameter `settlement_status`
  - added the new enum value `unsettled` to the `query` request parameter `settlement_status`
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `500`
  - added the optional property `event_positions/items/total_cost_shares` to the response with the `200` status
- **2025-09-07** `6a92b9826d61`: 8 breaking
  - the `event_positions/items/event_exposure_dollars` response's property type changed from `array` to `string` for status `200`
  - the `event_positions/items/fees_paid_dollars` response's property type changed from `array` to `string` for status `200`
  - the `event_positions/items/realized_pnl_dollars` response's property type changed from `array` to `string` for status `200`
  - the `event_positions/items/total_cost_dollars` response's property type changed from `array` to `string` for status `200`
  - the `market_positions/items/fees_paid_dollars` response's property type changed from `array` to `string` for status `200`
  - the `market_positions/items/market_exposure_dollars` response's property type changed from `array` to `string` for status `200`
  - the `market_positions/items/realized_pnl_dollars` response's property type changed from `array` to `string` for status `200`
  - the `market_positions/items/total_traded_dollars` response's property type changed from `array` to `string` for status `200`

---

[Operation](https://skmtc.dev/kalshi/apis/kalshi-trade-api-manual-endpoints/docs/portfolio/positions/get.md) - [API](https://skmtc.dev/kalshi/apis/kalshi-trade-api-manual-endpoints.md) - [Page](https://skmtc.dev/kalshi/apis/kalshi-trade-api-manual-endpoints/changes/portfolio/positions/get)
