Skip to main content
These are the tools an agent reaches for first to orient itself. list_users returns the family members in the household; list_accounts returns the bank accounts those users own. Both are read-only and typically run once at the top of a session.

list_accounts

Lists all bank accounts synced from Plaid, Teller, or CSV import. Each account belongs to a connection and optionally a user. Returns account type, balances, institution name, and currency. Scope: Read Mirrors: GET /api/v1/accounts

Parameters

user_id
string
Filter accounts by user ID (UUID or short ID). Omit to return every account.
session_id
string
Optional session ID.
reason
string
Optional rationale.

Example input

{ "user_id": "u4Xm9pQ2" }

Example output

[
  {
    "id": "a7Xm9pQ2",
    "name": "Chase Checking",
    "official_name": "Chase Total Checking",
    "type": "depository",
    "subtype": "checking",
    "mask": "4321",
    "balance_current": 2450.18,
    "balance_available": 2380.00,
    "balance_limit": null,
    "iso_currency_code": "USD",
    "institution_name": "Chase",
    "user_id": "u4Xm9pQ2",
    "connection_id": "c1Xm9pQ2",
    "connection_status": "active",
    "is_dependent_linked": false,
    "last_balance_update": "2026-04-23T12:00:00Z",
    "created_at": "2026-01-15T00:00:00Z",
    "updated_at": "2026-04-23T12:00:00Z"
  },
  {
    "id": "a8Yn0qR3",
    "name": "Amex Gold",
    "official_name": "American Express Gold Card",
    "type": "credit",
    "subtype": "credit card",
    "mask": "1008",
    "balance_current": -541.20,
    "balance_available": null,
    "balance_limit": 10000.00,
    "iso_currency_code": "USD",
    "institution_name": "American Express",
    "user_id": "u4Xm9pQ2",
    "connection_id": "c2Yn0qR3",
    "connection_status": "active",
    "is_dependent_linked": false,
    "last_balance_update": "2026-04-23T12:00:00Z",
    "created_at": "2026-01-20T00:00:00Z",
    "updated_at": "2026-04-23T12:00:00Z"
  }
]
provider lives on the connection, not the account — resolve it via connection_id if you need it. user_name is not part of this response; query_transactions surfaces the attributed user name on each transaction instead.
For credit accounts, balance_current represents the amount owed, not available funds. Never sum balances across different iso_currency_code values.

list_users

Lists all users (family members) in the system. Each user can own bank connections. User IDs are used to filter transactions and accounts by family member. Scope: Read Mirrors: GET /api/v1/users

Parameters

None. Pass an empty object (or just session_id / reason if you want to associate this read with a session).

Example input

{}

Example output

[
  {
    "id": "u4Xm9pQ2",
    "name": "Alice",
    "email": "alice@example.com",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  },
  {
    "id": "u5Yn0qR3",
    "name": "Bob",
    "email": "bob@example.com",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  }
]