Skip to main content
Once orders fill, read the investor’s holdings. Positions aggregate all fills per asset and carry current market value and unrealized P&L. You need the INVESTOR_ID from earlier.

List positions

curl -X GET "$BASE_URL/investors/$INVESTOR_ID/positions" \
  -H "Authorization: Basic $AUTH"
{
  "object": "list",
  "url": "/v1/investors/inv_01j9x8m2k7qpzwv3t5r6y8n0ab/positions",
  "has_more": false,
  "data": [
    {
      "id": "pos_a1b2c3d4e5f6g7h8",
      "object": "position",
      "symbol": "AAPL",
      "quantity": "10",
      "average_cost_basis": "178.50",
      "current_price": "179.25",
      "market_value": "1792.50",
      "unrealized_pl": "7.50"
    }
  ]
}

Get a single position

curl -X GET "$BASE_URL/investors/$INVESTOR_ID/positions/pos_a1b2c3d4e5f6g7h8" \
  -H "Authorization: Basic $AUTH"
Positions update as orders fill. To react to fills in real time rather than polling, subscribe to order.* events — see Webhooks.
For how positions aggregate and reconcile against the custodian, see Positions.
Next → Withdraw.