Skip to main content
All URIs are relative to https://api.elections.kalshi.com/trade-api/v2
MethodHTTP requestDescription
get_balanceGET /portfolio/balanceGet Balance
get_fillsGET /portfolio/fillsGet Fills
get_portfolio_resting_order_total_valueGET /portfolio/summary/total_resting_order_valueGet Total Resting Order Value
get_positionsGET /portfolio/positionsGet Positions
get_settlementsGET /portfolio/settlementsGet Settlements

get_balance

GetBalanceResponse get_balance()
Get Balance Endpoint for getting the balance and portfolio value of a member. Both values are returned in cents.

Parameters

This endpoint does not need any parameter.

Return type

GetBalanceResponse

HTTP response details

Status codeDescription
200Balance retrieved successfully
401Unauthorized - authentication required
500Internal server error

get_fills

GetFillsResponse get_fills(ticker=ticker, order_id=order_id, min_ts=min_ts, max_ts=max_ts, limit=limit, cursor=cursor)
Get Fills Endpoint for getting all fills for the member. A fill is when a trade you have is matched.

Parameters

NameTypeDescriptionNotes
tickerstrFilter by market ticker[optional]
order_idstrFilter by order ID[optional]
min_tsintFilter items after this Unix timestamp[optional]
max_tsintFilter items before this Unix timestamp[optional]
limitintNumber of results per page. Defaults to 100. Maximum value is 200.[optional] [default to 100]
cursorstrPagination cursor. Use the cursor value returned from the previous response to get the next page of results. Leave empty for the first page.[optional]

Return type

GetFillsResponse

HTTP response details

Status codeDescription
200Fills retrieved successfully
400Bad request
401Unauthorized
500Internal server error

get_portfolio_resting_order_total_value

GetPortfolioRestingOrderTotalValueResponse get_portfolio_resting_order_total_value()
Get Total Resting Order Value Endpoint for getting the total value, in cents, of resting orders. This endpoint is only intended for use by FCM members (rare). Note: If you’re uncertain about this endpoint, it likely does not apply to you.

Parameters

This endpoint does not need any parameter.

Return type

GetPortfolioRestingOrderTotalValueResponse

HTTP response details

Status codeDescription
200Total resting order value retrieved successfully
401Unauthorized - authentication required
500Internal server error

get_positions

GetPositionsResponse get_positions(cursor=cursor, limit=limit, count_filter=count_filter, settlement_status=settlement_status, ticker=ticker, event_ticker=event_ticker)
Get Positions 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

Parameters

NameTypeDescriptionNotes
cursorstrThe 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.[optional]
limitintParameter to specify the number of results per page. Defaults to 100.[optional] [default to 100]
count_filterstrRestricts 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[optional]
settlement_statusstrSettlement status of the markets to return. Defaults to unsettled.[optional] [default to unsettled]
tickerstrFilter by market ticker[optional]
event_tickerstrEvent ticker of desired positions. Multiple event tickers can be provided as a comma-separated list (maximum 10).[optional]

Return type

GetPositionsResponse

HTTP response details

Status codeDescription
200Positions retrieved successfully
400Bad request - invalid input
401Unauthorized - authentication required
500Internal server error

get_settlements

GetSettlementsResponse get_settlements(limit=limit, cursor=cursor, ticker=ticker, event_ticker=event_ticker, min_ts=min_ts, max_ts=max_ts)
Get Settlements Endpoint for getting the member’s settlements historical track.

Parameters

NameTypeDescriptionNotes
limitintNumber of results per page. Defaults to 100. Maximum value is 200.[optional] [default to 100]
cursorstrPagination cursor. Use the cursor value returned from the previous response to get the next page of results. Leave empty for the first page.[optional]
tickerstrFilter by market ticker[optional]
event_tickerstrEvent ticker of desired positions. Multiple event tickers can be provided as a comma-separated list (maximum 10).[optional]
min_tsintFilter items after this Unix timestamp[optional]
max_tsintFilter items before this Unix timestamp[optional]

Return type

GetSettlementsResponse

HTTP response details

Status codeDescription
200Settlements retrieved successfully
400Bad request - invalid input
401Unauthorized - authentication required
500Internal server error