Skip to content

Get holdings

POST /api/tool/execute

Returns normalized holdings for one of the authenticated user's connected brokerage accounts.

OAuth scopes: brokerage:read, tool:execute

Plan: Trade It Pro

Request body

FieldTypeRequiredDescription
toolName"get_holdings"YesSelects the holdings operation.
params.account_idinteger or stringYesTrade It account ID returned by get_accounts.
params.refreshbooleanNoRequests the freshest eligible brokerage data. Defaults to false. Real-time refresh requires a Pro plan and has a one-minute per-account cooldown.

Example request

bash
curl https://api.tradeit.app/api/tool/execute \
  --request POST \
  --header "Authorization: Bearer $TRADE_IT_ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "toolName": "get_holdings",
    "params": {
      "account_id": 304,
      "refresh": true
    }
  }'

Example response

200 OK

json
[
  {
    "key": "equity:NET",
    "symbol": "NET",
    "display_symbol": "NET",
    "quantity": 0.024277,
    "average_price": { "amount": 2, "currency": "USD" },
    "average_unit_cost": { "amount": 82.38, "currency": "USD" },
    "description": "Cloudflare, Inc.",
    "type": 2,
    "instrument_kind": "equity",
    "market_price": { "amount": 191.42, "currency": "USD" },
    "market_value": { "amount": 4.65, "currency": "USD" },
    "unrealized_pnl": { "amount": 2.65, "currency": "USD" },
    "unrealized_pnl_percent": 132.5,
    "price_kind": "brokerage",
    "price_source": "brokerage",
    "price_as_of": "2026-03-17T14:20:00.000Z",
    "delayed": false
  },
  {
    "key": "option:AMZN 260116C00295000",
    "symbol": "AMZN 260116C00295000",
    "display_symbol": "AMZN Jan 16 2026 $295 Call",
    "quantity": 1,
    "average_price": { "amount": 1, "currency": "USD" },
    "average_unit_cost": { "amount": 1, "currency": "USD" },
    "type": 2,
    "instrument_kind": "option",
    "option_symbol": "260116C00295000",
    "underlying_symbol": "AMZN",
    "multiplier": 100
  }
]

The response is an array, not the { "results": [...] } shape used by the older account holdings route. Enrichment fields can be absent or null when a brokerage does not supply them.