Transactions: List transactions
list_transactions List transactions with optional filters.
Args:
account_id: Filter by account ID
category_name: Filter by category name (case-insensitive)
transaction_type: Filter by type (deposit or withdrawal)
start_date: Start date in YYYY-MM-DD format
end_date: End date in YYYY-MM-DD format
search: Search in description
tag_name: Filter by tag name (case-insensitive)
limit: Maximum number of transactions to return (default: 50, max: 200)
offset: Number of transactions to skip for pagination (default: 0)
count_only: If true, return only the total count and totals without transaction details (faster for counting)
Returns:
List of transactions plus ``total_count`` (untruncated) and pagination info.
Each row carries ``economic_class`` (income / expense / transfer /
balance_sheet), the income-vs-spending classification. Raw
``transaction_type`` differs from it on debt accounts: a credit-card
CHARGE is stored as ``deposit`` and a card PAYMENT as ``withdrawal``.
``totals`` (deposits/withdrawals/net) is aggregated over the ENTIRE matching
window in BOTH normal and count_only modes — NOT just the returned page — so a
paginated read reports the full period's income/expenses. The current page's
subtotal is the sum of the per-row ``amount`` values.
SCOPE NOTE: this is a raw transaction listing and INCLUDES rows on
archived (inactive) accounts — like the CSV export, it's the user's
complete history. The cash-flow, spending, uncategorized-summary and
other analytics reports EXCLUDE archived-account transactions, so their
totals differ from a raw list over the same window when the user has
archived accounts. Filtering by an active ``account_id`` matches the
analytics scope.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| search | No | ||
| end_date | No | ||
| tag_name | No | ||
| account_id | No | ||
| count_only | No | ||
| start_date | No | ||
| category_name | No | ||
| transaction_type | No |