Tablewealth

Holdings

Read investment positions and cash-equivalent holdings.

Holdings describe positions and cash-equivalent assets inside investment-capable accounts.

Endpoints

MethodPathScope
GET/v1/holdingsholdings:read
GET/v1/accounts/{accountId}/holdingsholdings:read

List holdings

Use GET /v1/holdings to list holdings across all accessible investment-capable accounts.

Query parameters

ParameterDescription
accountIdRestrict results to one account.
tickerSymbolFilter by ticker symbol.
isCashEquivalentFilter cash-equivalent positions.
pageSizeNumber of records to return, up to 100.
pageTokenCursor from the previous page.

Request

curl "https://api.tablewealth.com/v1/holdings?tickerSymbol=VTI" \
  -H "X-API-Key: $TABLEWEALTH_API_KEY"
const url = new URL('https://api.tablewealth.com/v1/holdings');
url.searchParams.set('tickerSymbol', 'VTI');

const response = await fetch(url, {
  headers: {
    'X-API-Key': process.env.TABLEWEALTH_API_KEY!
  }
});

const body = await response.json();
import os
import requests

response = requests.get(
    "https://api.tablewealth.com/v1/holdings",
    headers={"X-API-Key": os.environ["TABLEWEALTH_API_KEY"]},
    params={"tickerSymbol": "VTI"},
    timeout=30,
)
response.raise_for_status()
body = response.json()

Response fields

Key fields include id, accountId, assetName, tickerSymbol, quantity, currentPrice, marketValue, costBasis, and isCashEquivalent.

Account holdings

Use GET /v1/accounts/{accountId}/holdings when the user has already selected an investment-capable account.

Request

curl "https://api.tablewealth.com/v1/accounts/acct_123/holdings?isCashEquivalent=false" \
  -H "X-API-Key: $TABLEWEALTH_API_KEY"
const accountId = 'acct_123';
const url = new URL(
  `https://api.tablewealth.com/v1/accounts/${accountId}/holdings`
);
url.searchParams.set('isCashEquivalent', 'false');

const response = await fetch(url, {
  headers: {
    'X-API-Key': process.env.TABLEWEALTH_API_KEY!
  }
});

const body = await response.json();
import os
import requests

account_id = "acct_123"
response = requests.get(
    f"https://api.tablewealth.com/v1/accounts/{account_id}/holdings",
    headers={"X-API-Key": os.environ["TABLEWEALTH_API_KEY"]},
    params={"isCashEquivalent": "false"},
    timeout=30,
)
response.raise_for_status()
body = response.json()

Response fields

Account-scoped holding responses include account context such as accountName, institutionName, securityId, type, subtype, sector, and industry.

Cash positions

Investment accounts often include cash or sweep positions. Use isCashEquivalent to separate invested holdings from cash-like positions in portfolio views.

On this page