query_transactions
Returns a paginated list of transactions matching the supplied filters. This is the workhorse read tool β almost every agent session goes through it. Scope: Read Mirrors:GET /api/v1/transactions
Parameters
Start date inclusive.
End date exclusive.
Filter to a single account (UUID or short ID).
Filter to all accounts owned by a family member. Attribution-aware β includes transactions attributed to this user via account links.
Filter by category slug. Parent slugs include all children.
Minimum amount (positive = debit, negative = credit).
Maximum amount.
Filter by pending status. Omit to return both.
Case-insensitive substring match on
name and merchant_name. Comma-separate values for OR.contains, words, or fuzzy.Exclude transactions whose name or merchant matches this text.
Tags the transaction must have (AND). The review queue is
["needs-review"].Tags the transaction must have at least one of (OR).
Max 500.
Opaque pagination cursor from a previous response. Only valid with
sort_by=date.date, amount, or name.desc or asc.Comma-separated fields or aliases (
minimal, core, category, timestamps). See Conventions. id is always included.Optional session ID to associate this read with a session.
Optional rationale for this query.
Example input
Example output
count_transactions
Returns the count of transactions matching the filters, without fetching any rows. Agents use this as a cheap pre-flight to decide whether to paginate or narrow filters. Scope: Read Mirrors:GET /api/v1/transactions/count
Parameters
Accepts the same filters asquery_transactions except cursor, limit, sort_by, sort_order, and fields.
Example input
Example output
transaction_summary
Returns aggregated transaction totals grouped by category, month, week, day, or category Γ month. Replaces the need to paginate through every transaction for spending analysis. Amounts follow the Plaid convention β positive = money out. Scope: Read Mirrors:GET /api/v1/transactions/summary
Parameters
One of
category, month, week, day, category_month.Defaults to 30 days ago.
Defaults to today.
Filter by account.
Filter by family member (attribution-aware).
Filter by primary category before aggregating.
Include pending transactions.
Example input
Example output
merchant_summary
Lists distinct merchants with aggregated stats β count, total, average, and date range. Agents use this to scan for recurring charges, find top merchants, or surface unknown subscriptions. Scope: Read Mirrors:GET /api/v1/transactions/merchants
Parameters
Defaults to 90 days ago.
Defaults to today.
Filter by account.
Filter by family member.
Filter by category.
Minimum per-transaction amount.
Maximum per-transaction amount.
Search merchant/transaction names.
contains, words, fuzzy.Exclude merchants matching this text.
Minimum transaction count to include a merchant. Set to
2 for recurring, 3 for likely subscriptions.Only include positive amounts (spending).
Example input
Example output
list_transaction_comments
Returns all comments attached to a transaction, ordered chronologically. Agents should check comments before writing to understand prior context. Scope: ReadParameters
UUID or short ID of the transaction.
Example input
Example output
list_transaction_matches
Lists transaction pairs matched by an account link. Used to audit which primary-account transactions were attributed to a dependent user via the account-link dedup system. Scope: ReadParameters
The account link ID to list matches for.
Example input
Example output
list_annotations
Returns the full activity timeline for a single transaction: comments, tag adds/removes, rule applications, and category sets. Ordered bycreated_at ascending. Use this to reconstruct βwhat happened to this transaction and whenβ before making further changes.
Scope: Read
Parameters
UUID or short ID of the transaction.
Example input
Example output
The event type lives in
kind β values are comment, rule_applied, tag_added, tag_removed, and category_set. Actor identity is split across actor_type (user / agent / system), actor_name, and optional actor_id. When a write tool passed a session_id, itβs echoed here so you can group events by session. Rule applications set rule_id; tag events set tag_id.