# Get holdings

Source: https://docs.tradeit.app/api/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

**Returns:** [Holding[]](/models/holding)

## Request body [#request-body]

- **`tool_name`** · `string` · required

Selects this API operation.

Allowed values: `get_holdings`.

- **`params`** · `object` · required

Parameters for this operation.

- **`params.account_id`** · `number | string` · required

ID of the brokerage account to inspect, from get_accounts.

- **`params.refresh`** · `boolean`

When true, requests the freshest available brokerage data. Real-time refresh requires a Pro plan and has a 1 minute per-account cooldown. Omit or false to return the last synced data.

## Example request [#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 '{
    "tool_name": "get_holdings",
    "params": {
      "account_id": 304,
      "refresh": true
    }
  }'
```

## Example response [#example-response]

### `200 OK` [#_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_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
  }
]
```

> **Note**
>
> 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.
