Skip to main content
All URIs are relative to https://api.elections.kalshi.com/trade-api/v2
MethodHTTP requestDescription
getBalanceGET /portfolio/balanceGet Balance
getFillsGET /portfolio/fillsGet Fills
getPortfolioRestingOrderTotalValueGET /portfolio/summary/total_resting_order_valueGet Total Resting Order Value
getPositionsGET /portfolio/positionsGet Positions
getSettlementsGET /portfolio/settlementsGet Settlements

getBalance

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

Parameters

This endpoint does not have any parameters.

Return type

GetBalanceResponse

Authorization

kalshiAccessSignature, kalshiAccessKey, kalshiAccessTimestamp

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

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

getFills

GetFillsResponse getFills()
Endpoint for getting all fills for the member. A fill is when a trade you have is matched.

Parameters

NameTypeDescriptionNotes
ticker[string]Filter by market ticker(optional) defaults to undefined
orderId[string]Filter by order ID(optional) defaults to undefined
minTs[number]Filter items after this Unix timestamp(optional) defaults to undefined
maxTs[number]Filter items before this Unix timestamp(optional) defaults to undefined
limit[number]Number of results per page. Defaults to 100. Maximum value is 200.(optional) defaults to 100
cursor[string]Pagination cursor. Use the cursor value returned from the previous response to get the next page of results. Leave empty for the first page.(optional) defaults to undefined

Return type

GetFillsResponse

Authorization

kalshiAccessSignature, kalshiAccessKey, kalshiAccessTimestamp

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status codeDescriptionResponse headers
200Fills retrieved successfully-
400Bad request-
401Unauthorized-
500Internal server error-

getPortfolioRestingOrderTotalValue

GetPortfolioRestingOrderTotalValueResponse getPortfolioRestingOrderTotalValue()
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 have any parameters.

Return type

GetPortfolioRestingOrderTotalValueResponse

Authorization

kalshiAccessSignature, kalshiAccessKey, kalshiAccessTimestamp

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

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

getPositions

GetPositionsResponse getPositions()
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
cursor[string]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.(optional) defaults to undefined
limit[number]Parameter to specify the number of results per page. Defaults to 100.(optional) defaults to 100
countFilter[string]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(optional) defaults to undefined
ticker[string]Filter by market ticker(optional) defaults to undefined
eventTicker[string]Event ticker of desired positions. Multiple event tickers can be provided as a comma-separated list (maximum 10).(optional) defaults to undefined

Return type

GetPositionsResponse

Authorization

kalshiAccessSignature, kalshiAccessKey, kalshiAccessTimestamp

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

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

getSettlements

GetSettlementsResponse getSettlements()
Endpoint for getting the member’s settlements historical track.

Parameters

NameTypeDescriptionNotes
limit[number]Number of results per page. Defaults to 100. Maximum value is 200.(optional) defaults to 100
cursor[string]Pagination cursor. Use the cursor value returned from the previous response to get the next page of results. Leave empty for the first page.(optional) defaults to undefined
ticker[string]Filter by market ticker(optional) defaults to undefined
eventTicker[string]Event ticker of desired positions. Multiple event tickers can be provided as a comma-separated list (maximum 10).(optional) defaults to undefined
minTs[number]Filter items after this Unix timestamp(optional) defaults to undefined
maxTs[number]Filter items before this Unix timestamp(optional) defaults to undefined

Return type

GetSettlementsResponse

Authorization

kalshiAccessSignature, kalshiAccessKey, kalshiAccessTimestamp

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

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