Get Positions
Changed onReturns unsettled positions by default. Set settlement_status=settled to page through settled positions that are still in the live data set, or settlement_status=all for both live states. Positions already archived are available via GET /historical/positions. Settled and all-state positions are paginated by event ticker to keep large histories bounded. Cursors are specific to the selected settlement status. count_filter restricts positions to those with a non-zero position or total traded count. Registered partners may also use a user OAuth access token with the explicitly granted read::compliance_partner scope.
Request
- Base URLhttps://external-api.kalshi.com/trade-api/v2
- URLhttps://external-api.kalshi.com/trade-api/v2/portfolio/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
- or HTTP bearer
Query parameters
The Cursor represents a pointer to the next page of records in the pagination. Use the value returned from the previous response to get the next page.
Parameter to specify the number of results per page. Defaults to 100.
Restricts the positions to those with any of following fields with non-zero values, as a comma separated list. The following values are accepted - position, total_traded
Return unsettled positions by default, settled positions that have not yet been archived, or all positions in the live data set.
Filter by market ticker
Event ticker to filter by. Only a single event ticker is supported.
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.
Filter results by exchange shard. Omit to return results from all exchange shards.
Response
Positions retrieved successfully
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
- warning
for the
queryrequest parametersubaccount, the min was set to0.00
- warning
- info
added the new optional
queryrequest parametersettlement_status
- info