Quickstart
Create an API key, discover its capabilities, and make the first read-only request.
Use the quickstart flow when you are wiring a new integration or giving an agent enough context to generate client code safely.
Create an API key
Create an API key in the Tablewealth dashboard. Grant the smallest useful set of scopes and, when needed, limit the key to selected accounts.
Choose scopes
organization:readfor organization profile fieldsaccounts:readfor financial account recordstransactions:readfor transaction listsholdings:readfor investment holdings
Limit account access
If the integration only needs a subset of accounts, create a custom account-scoped key. A CUSTOM_ACCOUNTS key can only see the selected account ids returned by discovery.
Discover access
Always call GET /v1/api-key first.
curl "https://api.tablewealth.com/v1/api-key" \
-H "X-API-Key: $TABLEWEALTH_API_KEY"const response = await fetch('https://api.tablewealth.com/v1/api-key', {
headers: {
'X-API-Key': process.env.TABLEWEALTH_API_KEY!
}
});
const discovery = await response.json();import os
import requests
response = requests.get(
"https://api.tablewealth.com/v1/api-key",
headers={"X-API-Key": os.environ["TABLEWEALTH_API_KEY"]},
timeout=30,
)
response.raise_for_status()
discovery = response.json()Use available operations
Use availableOperations as the source of truth for what the key can call. Do not infer endpoint access from UI permissions or from docs examples.
Read discovery metadata
Discovery returns:
scopesaccountScopeselectedAccountIdsrateLimitsavailableOperationsdiscovery.openapiUrldiscovery.agentGuideUrlconventions
Make a resource request
After discovery, call a resource endpoint that is present in availableOperations.
curl "https://api.tablewealth.com/v1/accounts?pageSize=25" \
-H "X-API-Key: $TABLEWEALTH_API_KEY"const url = new URL('https://api.tablewealth.com/v1/accounts');
url.searchParams.set('pageSize', '25');
const response = await fetch(url, {
headers: {
'X-API-Key': process.env.TABLEWEALTH_API_KEY!
}
});
const accounts = await response.json();import os
import requests
response = requests.get(
"https://api.tablewealth.com/v1/accounts",
headers={"X-API-Key": os.environ["TABLEWEALTH_API_KEY"]},
params={"pageSize": 25},
timeout=30,
)
response.raise_for_status()
accounts = response.json()Page through lists
If a list response includes pagination.nextPageToken, pass it as pageToken on the next request.