assign_transaction_attachment
ChatGPTAssigns an existing attachment to a transaction. Use list_attachments to find attachment IDs.
cash_flow_forecast
ChatGPTForward-looking account-level balance projections using PocketSmith's forecasting engine. Shows where each account is heading and identifies danger zones where balances drop below a configurable threshold. Filter by account types (bank, cash, credits, stocks, mortgage, loans, retirement) or specific account IDs. Accounts without linked scenarios will have no forecast data. Credit cards naturally have negative balances — adjust danger_threshold accordingly when checking credit accounts. The forecast horizon is limited only by the user's subscription plan date limits — multi-year projections (e.g. loan payoff dates) are fine; use monthly resolution for long horizons. navigate_to_cashflows is the matching page link to offer alongside any projection answer.
create_account
ChatGPTCreates a new account for the given user. An account is a container that will hold one or more transaction accounts (created automatically) and scenarios. Requires an institution, title, currency code, and type. Use list_institutions to find institution IDs and list_currencies for valid currency codes.
create_attachment
ChatGPTUploads an attachment for a user. Provide the file as base64-encoded data. Supported file types: png, jpg, pdf, xls, xlsx, doc, docx. Use assign_transaction_attachment to link the uploaded attachment to a transaction.
create_category
ChatGPTCreates a new category for the given user. Requires a title. Optionally set a colour, parent category, transfer/bill flags, roll-up behaviour, and refund behaviour. Use get_current_user to obtain the user ID.
create_category_rule
ChatGPTCreates a new category rule for the specified category. Requires payee_matches keywords. By default the rule only applies to future transactions. Set apply_to_uncategorised to also apply it to existing uncategorised transactions, or apply_to_all to apply it to all existing transactions. Use list_categories to find the category ID. Note: category rules cannot be updated or deleted via the API once created.
create_event
ChatGPTCreates a new budget event in the specified scenario. A scenario (also called a calendar) belongs to an account and holds forecast events. Requires a category, date, amount, and repeat type. Use list_accounts or get_account to find scenario IDs (in each account's scenarios array). Use list_categories for category IDs.
create_institution
ChatGPTCreates a new financial institution for the given user. Requires a title and currency code. Use get_current_user to obtain the user ID, and list_currencies to see valid currency codes.
create_transaction
ChatGPTCreates a new transaction in a transaction account. Transactions are recorded in transaction accounts (not accounts directly). Requires payee, amount (positive = credit, negative = debit), and date. Use list_transaction_accounts to find transaction account IDs.
delete_account
ChatGPTPermanently deletes an account and all its transaction accounts and transactions. This is irreversible. Use list_accounts to find account IDs. Requires confirmation across two turns: call once without confirm to get a preview of what will be deleted, show the preview to the user, and wait for their reply. Only pass confirm: true after the user approves the previewed deletion in a later message - the user's original deletion request does not count as approval.
delete_attachment
ChatGPTPermanently deletes an attachment. This action cannot be undone. Use list_attachments to find attachment IDs. Requires confirmation across two turns: call once without confirm to get a preview of what will be deleted, show the preview to the user, and wait for their reply. Only pass confirm: true after the user approves the previewed deletion in a later message - the user's original deletion request does not count as approval.
delete_category
ChatGPTPermanently deletes a category by its ID. This is irreversible. All transactions in this category will become uncategorized. Use list_categories to find category IDs. Requires confirmation across two turns: call once without confirm to get a preview of what will be deleted, show the preview to the user, and wait for their reply. Only pass confirm: true after the user approves the previewed deletion in a later message - the user's original deletion request does not count as approval.
delete_event
ChatGPTDeletes a budget event. The behaviour parameter controls whether to delete just this event ('one'), from this event forward ('forward'), or all events in the series ('all'). This action cannot be undone. Requires confirmation across two turns: call once without confirm to get a preview of what will be deleted, show the preview to the user, and wait for their reply. Only pass confirm: true after the user approves the previewed deletion in a later message - the user's original deletion request does not count as approval.
delete_forecast_cache
ChatGPTClears the forecast cache for a user, forcing budget forecasts to be recalculated. Use after bulk-creating or bulk-editing events. PocketSmith recalculates automatically for single changes, so this is only needed after batch operations.
delete_institution
ChatGPTPermanently deletes a financial institution and all its accounts, transaction accounts, and transactions. This is irreversible. Optionally merge into another institution instead of deleting. Use list_institutions to find institution IDs. Requires confirmation across two turns: call once without confirm to get a preview of what will be deleted, show the preview to the user, and wait for their reply. Only pass confirm: true after the user approves the previewed deletion in a later message - the user's original deletion request does not count as approval.
delete_transaction
ChatGPTPermanently deletes a transaction by its ID. This is irreversible. Use list_transactions to find transaction IDs. Requires confirmation across two turns: call once without confirm to get a preview of what will be deleted, show the preview to the user, and wait for their reply. Only pass confirm: true after the user approves the previewed deletion in a later message - the user's original deletion request does not count as approval.
financial_health_snapshot
ChatGPTPoint-in-time financial health check. Returns net worth, cash position (liquid accounts), current month spending pace with projection and last-month comparison, per-category budget traffic lights (on_track/at_risk/over_budget) with each category tagged is_bill to distinguish bills from discretionary budgets, action items (uncategorized and needs-review counts), and upcoming events in the next 14 days split into bills and budget events. Ideal for a quick daily or weekly check-in or a broad 'how am I doing financially' RIGHT NOW. For a one-period retrospective use month_end_review; to compare two periods use spending_comparison; for just the upcoming events list use list_events.
find_recurring_expenses
ChatGPTDetects recurring expenses (subscriptions, memberships, regular bills) by analyzing transaction history. Groups transactions by payee, identifies regular intervals and consistent amounts, and classifies frequency (weekly, monthly, quarterly, etc.). Returns estimated annual cost per item and totals. Useful for subscription audits, finding forgotten recurring charges, and 'am I paying too much for X' policy/premium comparisons. No report page maps to subscriptions — answer from this data directly rather than offering a navigation link.
forecast_accuracy
ChatGPTCompares actual vs forecast account balances over a past period to evaluate how reliable the user's forecasting has been. Also analyses budget data to identify inaccuracy drivers — categories that are unbudgeted (spending with no budget), significantly underbudgeted (actual exceeds forecast by 25%+), or significantly overbudgeted (forecast exceeds actual by 2x+). Note: forecast values for past dates reflect the CURRENT scenario settings, not what was originally forecast. This is useful for calibrating current forecast configuration. Accounts without linked scenarios will have no forecast data for comparison.
get_account
ChatGPTGets an account by its ID. An account is a container that groups one or more transaction accounts (where transactions live) and scenarios (where budget forecasts live). Most accounts have a single transaction account, but some (e.g. a mortgage with offset) have multiple. Returns the account's title, type, currency, current balance, and its child transaction accounts and scenarios.
get_attachment
ChatGPTGets an attachment by its ID. Returns the attachment's title, file name, content type, and download URL.
get_budget
ChatGPTGets the user's budget for their configured forecast period — one entry per category with budgeted vs actual figures, the data behind the Budget page's per-category list. Optionally rolls up child categories into their parents. Use get_budget_summary for analysis over a specific date range; navigate_to_budget is the matching page link to offer alongside an answer.
get_budget_summary
ChatGPTGets the user's budget summary with expense and income analysis across all categories (excluding transfers) for a given date range and period. Returns actual vs budgeted figures per period bucket — the only analysis tool with sub-monthly buckets (weekly, or fortnightly via period=weeks interval=2), so use it for pay-cycle asks like 'what's left over each fortnight'. navigate_to_budget (manage) or navigate_to_income_expense (statement) is the matching page link to offer alongside an answer.
get_category
ChatGPTGets a category by its ID. Returns the category's title, colour, parent category (if any), and whether it is a transfer or bill category.
get_currency
ChatGPTGets a specific currency by its code (e.g. 'nzd', 'usd'). Returns the currency's name, symbol, and decimal places.
get_current_user
ChatGPTGets the currently authenticated PocketSmith user. Returns the user's ID, name, email, time zone, currency, and account metadata. Use this to obtain the user ID needed by most other tools.
get_data_feeds_connection_status
ChatGPTLists all data feed connections for a user with their sync status, including last successful sync time, next sync time, and provider details. Optionally includes per-connection account details (balances, transaction update times). Use this to check if feeds are healthy, degraded, or need attention.
get_event
ChatGPTGets a budget event by its ID. Events represent recurring or one-off income/expense entries used in budget forecasting. The ID format is 'number-timestamp' (e.g. '42-1601942400').
get_institution
ChatGPTGets a financial institution by its ID. Returns the institution's title, currency, and creation date.
get_transaction
ChatGPTGets a single transaction by its ID. Returns the transaction's date, payee, amount, category, labels, note, memo, and review status.
get_transaction_account
ChatGPTGets a transaction account by its ID. A transaction account is where transactions are recorded. It belongs to a parent account (container) and optionally links to an institution. Each account has one or more transaction accounts. Returns the account name, number, type, currency, current balance, and starting balance.
get_trend_analysis
ChatGPTGets income and/or expense budget trend analysis for a date range and period — the data behind the Trends report (per-bucket actual vs budget for chosen categories over time). Analyses across specified categories and all user scenarios by default. navigate_to_trends is the matching page link to offer alongside an answer.
list_accounts
ChatGPTLists accounts. Requires either user_id or institution_id. Each account is a container grouping one or more transaction accounts (where transactions live) and scenarios (where budget forecasts live). Use get_current_user for user IDs, list_institutions for institution IDs.
list_attachments
ChatGPTLists attachments. Requires either user_id or transaction_id. When filtering by user, optionally return only unassigned attachments.
list_categories
ChatGPTLists all categories belonging to a user. Categories are hierarchical - each category may have a parent and children. Returns each category's ID, title, colour, type, and parent relationship.
list_category_rules
ChatGPTLists all category rules belonging to a user. Category rules automatically assign categories to transactions based on payee matching patterns.
list_currencies
ChatGPTLists all currencies supported by PocketSmith. Returns currency codes, names, and symbols.
list_events
ChatGPTLists budget events within a date range. Requires either user_id or scenario_id. Events represent recurring or one-off income/expense entries used in budget forecasting. A scenario belongs to an account and contains the events that drive its forecast.
list_institutions
ChatGPTLists all financial institutions belonging to a user. Each institution represents a bank or financial provider and contains one or more accounts.
list_labels
ChatGPTLists all labels belonging to a user. Labels are free-form tags that track things ACROSS categories — commonly tax-deductible, reimbursable, or per-project expenses — so check here when a 'pull together my work expenses' style ask has no matching category (list_transactions search matches label text). Labels are created implicitly when first added to a transaction via create_transaction or update_transaction.
list_saved_searches
ChatGPTLists saved searches belonging to a user. Saved searches are pre-configured transaction filters. They cannot be executed via the API - use the returned filter criteria with list_transactions manually, or open one in the app by passing its numeric ID as the token to navigate_to_transactions.
list_time_zones
ChatGPTLists all time zones supported by PocketSmith.
list_transaction_accounts
ChatGPTLists all transaction accounts for a user. Transaction accounts hold the actual transactions. Each belongs to a parent account (container). Use get_current_user to obtain the user ID.
list_transactions
ChatGPTLists transactions with pagination (default 30/page, max 100). Requires at least one of user_id, account_id, category_id, or transaction_account_id. Supports date range, type, category status, review status, and keyword search. Search terms are space-separated and ANDed: each word is substring-matched across date, amount, account name, payee, category title, note and labels, so multi-word queries refine accurately (e.g. 'epartner 36' = payee fragment + amount fragment; 'epartner 3d' = payee + label). Every word must literally appear in some field though — filler words like 'refund' or 'reimbursement' match nothing unless they're in the payee/note. The richer in-app search (duplicate/transfer specials, saved searches, category-scoped tokens) is not available via the API — offer navigate_to_transactions for those. Use get_current_user for user IDs, list_accounts for account IDs, list_categories for category IDs, list_transaction_accounts for transaction account IDs.
month_end_review
ChatGPTComprehensive financial review for any date range. Returns income/expense summary with prior-period comparison, savings rate, per-category budget variance (each category tagged with is_bill to distinguish bills from discretionary budgets), top payees, notable transactions, net worth snapshot, upcoming obligations split into bills and budget events, and housekeeping counts. Ideal for a retrospective on ONE period — monthly reviews, quarterly check-ins, 'where did my money go last month'. To compare TWO periods use spending_comparison; for a right-now health check use financial_health_snapshot. The output is structured for easy summarization and sharing with household members. navigate_to_income_expense is the matching page link to offer alongside an answer.
navigate_to_account_summary
ChatGPTDeep link to the Account Summary (/account_summary/:year/:month/:id) — every account's balance and recent activity (one card per account/group, organised by bank) as of a chosen month. Pick this for account-balance asks: 'how much is in my savings', 'my ANZ balance', 'show me my accounts', 'what were my account balances at the end of March'. For overall worth (assets minus debts) or its trend use navigate_to_net_worth; for money in/out use navigate_to_cashflows. There is no single-account filter — the page shows all accounts; pass institution_id to narrow to one bank when it's known. Omit year/month for current balances.
navigate_to_budget
ChatGPTDeep link to the Budget page (/budget) — the hub for tracking and managing budgets in ONE period. Shows a combined income+expense Total Budget Summary (progress bars: budgeted vs earned/spent, surplus/deficit, rollover) plus the full per-category budget table (Category, Budget, Amount, Roll-Up). Pick this for how-am-I-tracking-right-now asks: 'am I on budget this month', 'how much is left in my grocery budget', 'show my budget', 'which budgets am I blowing', or anything about creating or adjusting budgets and rollover. For how a category trends over time use navigate_to_trends; for an actual-vs-budget breakdown read-out across all categories use navigate_to_income_expense. Lands on the whole budget (no single-category filter).
navigate_to_calendar
ChatGPTDeep link to the Calendar (/calendars) — a month grid of scheduled/forecast budget events (upcoming bills, expected income, transfers) on the days they fall due, with a projected daily closing balance. Forward-looking (past actuals are off by default). Pick this for day-level, event-centric 'what's coming up' asks: 'what bills are due this month', 'when's my next paycheck', 'my upcoming/scheduled transactions', 'which day will my account go negative'. For an aggregate cash projection over several months use navigate_to_cashflows; for actual past records use navigate_to_transactions. group_ids/account_ids/scenario_ids are the items to SHOW (the app inverts them internally — always pass what you want visible). Omit year/month for the current month.
navigate_to_cashflows
ChatGPTDeep link to the Cashflows statement (/cashflows) — a month-by-month spreadsheet-style TABLE (not a chart) of forecast vs actual money in/out per category, ending in each month's projected/actual closing balance and surplus/deficit. Future months show forecast only; the start_date+end_date pair sets the month columns and can span any horizon (multiple years is fine, past or future). Pick this for projection / affordability / liquidity asks: 'what will my balance be at Christmas', 'will I run low over the next few months', 'can I afford X later this year', 'monthly surplus/deficit', forecast-vs-actual by month. For category spend analysis use navigate_to_income_expense or navigate_to_trends; for overall wealth use navigate_to_net_worth; for a day-level list of upcoming events use navigate_to_calendar. Needs an explicit start_date+end_date pair (named ranges aren't resolved here).
navigate_to_income_expense
ChatGPTDeep link to the Income & Expense report (/income_expense) — a profit & loss statement for personal finances: budget-vs-actual across ALL categories for ONE period (a range is aggregated into a single column set, NOT a time series). Income and Expense sections, one row per category (Budgeted, Actual, Difference, optional % and Rollover), with subtotals and a Net Income total. Pick this for breakdown / where-did-it-go asks: 'where did my money go last month', 'how much did I earn vs spend', 'which categories am I overspending in', 'what share of my spending is rent', or any P&L / statement request. For ONE category's trend over time use navigate_to_trends; to manage budgets use navigate_to_budget; for the raw transactions use navigate_to_transactions. only_category_ids and group_ids are the items to SHOW (the app inverts them — pass what you want visible).
navigate_to_net_worth
ChatGPTDeep link to the Net Worth page — your total financial position: everything you own (bank balances plus assets like property, vehicles, investments, retirement) minus everything you owe (credit cards, mortgages, loans) for a month, plus an optional chart of how net worth has tracked over time. Includes assets and debts that aren't bank accounts. Pick this for overall wealth and its trajectory: 'what am I worth', 'how has my net worth changed', 'assets vs debts', 'how much equity do I have', 'am I better off than last year'. For an individual account's or a specific bank's balance use navigate_to_account_summary; for per-category spending use the spend tools; for future cash position use navigate_to_cashflows. Omit year/month for the current month.
navigate_to_transactions
ChatGPTDeep link to a transactions search — the raw, individual line-item records (date, merchant/payee, amount, category, account) behind every aggregate report. Pick this when the user wants the actual transactions or to act on them: 'show me the transactions for X', 'what did I buy at Y', 'find that charge', 'find duplicates/transfers', 'uncategorised items', 'transactions to review/categorise'. For totals, breakdowns, trends or charts use a report tool instead. Supply a path token to set the base set, and/or keyword/category/date filters that refine it.
navigate_to_trends
ChatGPTDeep link to the Trends report — spot patterns in ONE category's spending or earning over time (or all categories combined when category_id is omitted). Plots the window as equal time buckets (as many as the range needs): per-period actual bars, the budgeted amount overlaid, an average line, and a rollover-balance band; shows income OR expense (set by type). Pick this for over-time / comparison / history asks: 'compare my groceries spend over the past three months', 'is my power bill creeping up', 'what do I spend on X on average', 'am I always over budget on X', 'how has X changed'. To compare two separate periods (e.g. this August vs last August) use one custom window spanning both with monthly buckets. For a one-period breakdown across MANY categories — or a single category's one-period TOTAL (pass only_category_ids) — use navigate_to_income_expense; to manage all budgets for one period use navigate_to_budget. Resolve a category name to its ID with list_categories first; the date range is the window analysed and period_type/period_quantity set each bucket's size.
net_worth_forecast
ChatGPTProjects net worth trajectory spanning past history and future forecast. Returns historical trend, forecast projection, growth metrics, and milestone projections (auto-detected or user-specified). Uses the user-level balances endpoint which aggregates ALL accounts (not just those marked is_net_worth). Growth metrics use simple average monthly change (not CAGR) to handle net worth crossing zero correctly. Milestones apply to TOTAL net worth only — for a single account reaching a target balance (e.g. an emergency fund hitting $10k) use cash_flow_forecast with account_ids instead. Subscription plan limits may restrict the available date range. navigate_to_net_worth is the matching page link to offer alongside an answer.
refresh_data_feeds_connection
ChatGPTTriggers a sync/refresh for data feed connections. Specify an id to refresh a single connection, or omit it to refresh all connections for the user. Connections that require external syncing (e.g. open banking) are skipped with a note. The sync is queued asynchronously — the connection will transition to a syncing state, but may not start immediately.
spending_comparison
ChatGPTCompares spending between two date periods. Returns overall totals, per-category breakdown, per-payee breakdown, and highlights new/disappeared payees between periods. Optionally filter to specific categories. Excludes transfers. Useful for month-over-month, year-over-year, or any custom period comparison ('am I spending more on X than last year'). For a single period's breakdown use month_end_review; for a right-now check use financial_health_snapshot. navigate_to_trends is the matching page link to offer alongside a comparison answer.
unassign_transaction_attachment
ChatGPTRemoves an attachment from a transaction without deleting the attachment itself. Use list_attachments with a transaction_id to find attachment IDs for a transaction.
update_account
ChatGPTUpdates an account by its ID. Can change the title, currency code, and type.
update_account_display_order
ChatGPTUpdates the display order of accounts for the given user. Provide the full list of account objects in their desired order. Use list_accounts to get current accounts.
update_attachment
ChatGPTUpdates an attachment's title. Use list_attachments to find attachment IDs.
update_category
ChatGPTUpdates a category by its ID. Can change the title, colour, parent category, transfer/bill flags, roll-up behaviour, and refund behaviour.
update_event
ChatGPTUpdates a budget event's amount, repeat type, repeat interval, or note. Cannot change the date or category - delete and recreate the event instead. The behaviour parameter controls whether the change applies to just this event ('one'), from this event forward ('forward'), or all events in the series ('all'). Use list_events to find event IDs.
update_institution
ChatGPTUpdates a financial institution by its ID. Can change the title and currency code.
update_transaction
ChatGPTUpdates a transaction by its ID. Can change payee, amount, date, category, labels, memo, note, review status, and more. Can also split a transaction into child transactions - just provide the split amounts and the tool auto-calculates the parent remainder.
update_transaction_account
ChatGPTUpdates a transaction account by its ID. Can change the institution, starting balance, and starting balance date.
update_user
ChatGPTUpdates the authenticated user's settings. Can change name, time zone, base currency, week start day, and beta preferences. Optionally pass id, or omit to default to the current user.
assign_transaction_attachment
Claudecash_flow_forecast
Claudecreate_account
Claudecreate_attachment
Claudecreate_category
Claudecreate_category_rule
Claudecreate_event
Claudecreate_institution
Claudecreate_transaction
Claudedelete_account
Claudedelete_attachment
Claudedelete_category
Claudedelete_event
Claudedelete_forecast_cache
Claudedelete_institution
Claudedelete_transaction
Claudefinancial_health_snapshot
Claudefind_recurring_expenses
Claudeforecast_accuracy
Claudeget_account
Claudeget_attachment
Claudeget_budget
Claudeget_budget_summary
Claudeget_category
Claudeget_currency
Claudeget_current_user
Claudeget_data_feeds_connection_status
Claudeget_event
Claudeget_institution
Claudeget_transaction
Claudeget_transaction_account
Claudeget_trend_analysis
Claudelist_accounts
Claudelist_attachments
Claudelist_categories
Claudelist_category_rules
Claudelist_currencies
Claudelist_events
Claudelist_institutions
Claudelist_labels
Claudelist_saved_searches
Claudelist_time_zones
Claudelist_transaction_accounts
Claudelist_transactions
Claudemonth_end_review
Claudenavigate_to_account_summary
Claudenavigate_to_budget
Claudenavigate_to_calendar
Claudenavigate_to_cashflows
Claudenavigate_to_income_expense
Claudenavigate_to_net_worth
Claudenavigate_to_transactions
Claudenavigate_to_trends
Claudenet_worth_forecast
Clauderefresh_data_feeds_connection
Claudespending_comparison
Claudeunassign_transaction_attachment
Claudeupdate_account
Claudeupdate_account_display_order
Claudeupdate_attachment
Claudeupdate_category
Claudeupdate_event
Claudeupdate_institution
Claudeupdate_transaction
Claudeupdate_transaction_account
Claudeupdate_user
Claude