Tablewealth

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:read for organization profile fields
  • accounts:read for financial account records
  • transactions:read for transaction lists
  • holdings:read for 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:

  • scopes
  • accountScope
  • selectedAccountIds
  • rateLimits
  • availableOperations
  • discovery.openapiUrl
  • discovery.agentGuideUrl
  • conventions

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.

On this page