Skip to content
Scalekit Docs

Era Context MCP

Vendor MCP51 toolsOAuth 2.1/DCRAccounting & FinanceAIProductivity

Connect to Era Context MCP. Access personal finance data including transactions, accounts, spending insights, and AI-powered financial knowledge from Era.

Era Context MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'eracontextmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Era Context MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'eracontextmcp_nurture__get_my_status',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Subscription nurture set, billing uncancel, billing cancel — Subscribe the caller to, or unsubscribe them from, a nurture (lifecycle email) campaign
  • **Get nurture , insights , referral ** — Get the caller’s own nurture (lifecycle email) campaign enrollment status — which campaigns they are currently enrolled in, their progress through each, and whether they have unsubscribed
  • Questions knowledge reset pack — Warning: this cannot be undone — only call when you have high confidence the user wants to reset and re-surface all previously skipped or snoozed questions
  • Resync connections trigger connection — Trigger an on-demand data resync for a bank connection
  • Mode connections set proactive sync — Record whether Era may proactively ask a bank connection’s provider for fresh data on its own schedule
  • **List connections , billing ** — List every one of the user’s bank connections with an honest, provider-agnostic status for each: whether it is healthy, syncing with no data yet, needs reconnecting, is terminally denied, is currently disconnected, or one of several other narrower states

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

eracontextmcp_accounts__check_account_balance#Get the current and available balance for a specific account, including credit limit if applicable. Requires an account_group_key from List Financial Accounts.1 param

Get the current and available balance for a specific account, including credit limit if applicable. Requires an account_group_key from List Financial Accounts.

NameTypeRequiredDescription
account_group_keystringrequiredThe account group projection key. Obtain from accounts__list_financial_accounts (the account_group_key field).
eracontextmcp_accounts__list_financial_accounts#List all linked accounts (bank, credit card, investment, manual) with balances and the account_group_key values used by other tools.1 param

List all linked accounts (bank, credit card, investment, manual) with balances and the account_group_key values used by other tools.

NameTypeRequiredDescription
include_hiddenbooleanoptionalSet to true to also show accounts the user has chosen to hide. Default: false (only visible accounts).
eracontextmcp_accounts__manage_account#Create, update, delete, or set the balance of a manually tracked account. Use action to specify the operation; amount must be a positive integer with a separate direction field.12 params

Create, update, delete, or set the balance of a manually tracked account. Use action to specify the operation; amount must be a positive integer with a separate direction field.

NameTypeRequiredDescription
actionstringrequiredWhat to do: 'create' adds a new manual account, 'update' changes account properties (account_name applies to any account type; other fields are manual-only), 'delete' soft-deletes a manual account and its transactions, 'set_balance' records a balance snapshot on a manual account.
account_group_keystringoptionalThe account group projection key identifying the account. Required for update, delete, and set_balance. Obtain from accounts__list_financial_accounts (the account_id field).
account_namestringoptionalThe user-supplied display name (e.g., "Home Mortgage", "Savings Jar"). Required for create. On update, applies to any account type — manual or connected — and writes a user-layer override that surfaces as the effective name; the institution-supplied name is preserved underneath. Mutually exclusive with 'clear_account_name'.
account_number_maskstringoptionalPartial account number (last 4 digits). Do NOT supply the full account number. On update: manual accounts only.
account_typestringoptionalThe account type classification. Required for create (manual). On update: manual accounts only — supplying this for a connected account is rejected.
amount_minor_unitsintegeroptionalThe balance amount in integer minor units (e.g., 150050 for $1,500.50, or 1000 for 1000 JPY). Required for set_balance. Positive = asset; negative = liability.
as_of_datestringoptionalAs-of date for the balance record in ISO 8601 format (e.g., "2026-04-15"). Defaults to today if not specified. Optional, set_balance only.
balance_currencystringoptionalISO 4217 currency for the balance (required for set_balance).
clear_account_namebooleanoptionalOn update: set to true to remove a previously applied user account-name override, reverting the display name to the institution-supplied value (or empty when no provider name exists). Mutually exclusive with 'account_name'. Account-type-agnostic.
currencystringoptionalISO 4217 currency for the account (required for create).
initial_balance_minor_unitsintegeroptionalStarting balance in integer minor units (e.g., 150050 for $1,500.50, or 1000 for 1000 JPY). Positive = asset; negative = liability. Optional, create only.
institution_namestringoptionalInstitution name for display and fingerprint matching (e.g., "Chase", "Fidelity"). On update: manual accounts only.
eracontextmcp_accounts__set_account_visibility#Show or hide an account in the dashboard without disconnecting it — the account continues to sync.2 params

Show or hide an account in the dashboard without disconnecting it — the account continues to sync.

NameTypeRequiredDescription
account_group_keystringrequiredThe account group projection key. Obtain from accounts__list_financial_accounts (the account_group_key field).
visiblebooleanrequiredSet to true to show the account (Owner scope) or false to hide it (UserExcluded scope).
eracontextmcp_accounts__toggle_balance_backfill#Enable balance history derivation from transaction data, or disable it to revert to snapshot-only balances.2 params

Enable balance history derivation from transaction data, or disable it to revert to snapshot-only balances.

NameTypeRequiredDescription
account_group_keystringrequiredThe account group projection key identifying the target account group. Obtain from accounts__list_financial_accounts (the account_id field). Must be a manual account.
enablebooleanrequiredSet to true to enable balance derivation from transaction history. Set to false to disable and revert to snapshot-only balance behavior.
eracontextmcp_billing__cancel_subscription#Two-step cancellation: first call returns a confirmation key; second call with that key executes the cancellation.3 params

Two-step cancellation: first call returns a confirmation key; second call with that key executes the cancellation.

NameTypeRequiredDescription
reasonstringrequiredWhy the user wants to cancel. Summarize their stated reason concisely.
accept_offerbooleanoptionalSet to true to accept the retention discount offer. Set to false or omit to decline and receive the billing page URL for manual cancellation. Only used on the second call alongside confirmation_key.
confirmation_keystringoptionalThe confirmation key from the first call. Omit on first call to receive a key; pass it on the second call to execute the cancellation.
eracontextmcp_billing__get_current_plan#Get the user's active plan tier, billing period, feature entitlements, and usage against plan limits.1 param

Get the user's active plan tier, billing period, feature entitlements, and usage against plan limits.

NameTypeRequiredDescription
currencystringoptionalWhich currency to show the amounts in, as an ISO 4217 code (e.g. 'eur', 'gbp'). Optional: omit it and the amounts are shown in the currency this platform can tell the user settles in — the one their live subscriptions are billed in, or, for a user holding no live subscription, the one their past subscriptions settled in — and in the default currency only where it can tell neither, or tells more than one. That is the same currency the response reports as settled_currency, so a null settled_currency means the amounts are in the default currency. A code outside the supported set is rejected rather than substituted, and the rejection names the codes that are supported.
eracontextmcp_billing__list_payments#List the user's past invoices — what they were charged, when, for which service period, and whether each was paid. Use for 'what have I been charged?', 'when was I last billed?', or 'show me my receipts'. Amounts are in minor currency units (cents for USD). Pagination is forward-only and cursor-based, not page-numbered: pass the previous response's next_cursor back as cursor to get the next page, and stop when next_cursor is null (has_more is false). This tool returns no invoice PDF or hosted invoice link, by design.2 params

List the user's past invoices — what they were charged, when, for which service period, and whether each was paid. Use for 'what have I been charged?', 'when was I last billed?', or 'show me my receipts'. Amounts are in minor currency units (cents for USD). Pagination is forward-only and cursor-based, not page-numbered: pass the previous response's next_cursor back as cursor to get the next page, and stop when next_cursor is null (has_more is false). This tool returns no invoice PDF or hosted invoice link, by design.

NameTypeRequiredDescription
cursorstringoptionalOpaque pagination cursor from the previous page's next_cursor. Omit for the first page. Echo it back exactly as received — it is not an offset and cannot be constructed or incremented.
limitintegeroptionalMaximum invoices to return on this page. Values outside the supported range are clamped server-side, so an out-of-range value degrades to the nearest supported page size rather than failing.
eracontextmcp_billing__list_plans#List all available subscription plans with pricing, billing periods, and plan identifiers needed for the upgrade tool.2 params

List all available subscription plans with pricing, billing periods, and plan identifiers needed for the upgrade tool.

NameTypeRequiredDescription
currencystringoptionalWhich currency to show the plan amounts in, as an ISO 4217 code (e.g. 'eur', 'gbp'). Optional: omit it and the amounts are shown in the currency this platform can tell the user settles in — the one their live subscriptions are billed in, or, for a user holding no live subscription, the one their past subscriptions settled in — and in the default currency only where it can tell neither, or tells more than one. That is the same currency the response reports as settled_currency, so a null settled_currency means the amounts are in the default currency. A code outside the supported set is rejected rather than substituted, and the rejection names the codes that are supported.
product_keystringoptionalWhich product to explore plan options for (e.g., 'hub', 'quant'). Defaults to 'hub' if omitted.
eracontextmcp_billing__list_subscriptions#List what the user is actually being charged for right now, read live from Stripe, broken down by individual line item. Use for 'what am I paying for?', 'when does my subscription renew?', 'how much is my add-on?', or 'am I being charged twice?'. Each subscription carries one or more items, and price, billing period and renewal date are per ITEM, not per subscription. A user may also hold more than one subscription. Call billing__list_payments for past invoices rather than inferring them from this response.0 params

List what the user is actually being charged for right now, read live from Stripe, broken down by individual line item. Use for 'what am I paying for?', 'when does my subscription renew?', 'how much is my add-on?', or 'am I being charged twice?'. Each subscription carries one or more items, and price, billing period and renewal date are per ITEM, not per subscription. A user may also hold more than one subscription. Call billing__list_payments for past invoices rather than inferring them from this response.

eracontextmcp_billing__uncancel_subscription#Reverse a pending subscription cancellation before it takes effect, optionally with a winback discount.1 param

Reverse a pending subscription cancellation before it takes effect, optionally with a winback discount.

NameTypeRequiredDescription
apply_couponbooleanoptionalWhether to apply the 50% off winback coupon during the uncancel. Defaults to true. Set to false if the user does not want the discount.
eracontextmcp_billing__upgrade#Upgrade to a higher tier or different billing period. Use billing__list_plans first to get valid plan identifiers.7 params

Upgrade to a higher tier or different billing period. Use billing__list_plans first to get valid plan identifiers.

NameTypeRequiredDescription
billing_periodstringrequiredHow often to bill: 'monthly', 'quarterly', or 'yearly'.
target_planstringrequiredWhich plan to subscribe to (e.g., 'organize', 'automate', 'optimize'). Use billing__list_plans to see available plans.
client_reference_idstringoptionalOptional client reference ID for referral attribution. Passed through to Stripe unchanged.
coupon_idstringoptionalOptional Stripe coupon ID from Rewardful for referral discounts. Ignored when a promotion code is also provided.
currencystringoptionalWhich currency to bill the subscription in, as an ISO 4217 code (e.g. 'eur', 'gbp'). Optional: omit it and the subscription is billed in whatever currency this account already settles in. Naming a different currency is refused rather than applied whenever this platform can tell which single currency is in force — from the subscription a tier change would alter, or from the account's own settlement history; where it can tell from neither, or the history holds more than one currency, the purchase proceeds. A code outside the supported set is rejected rather than substituted; the rejection names the codes that are supported.
product_keystringoptionalWhich product to upgrade (e.g., 'hub', 'quant'). Defaults to 'hub' if omitted.
promotion_codestringoptionalOptional promotion code to apply a discount at checkout (e.g., 'SAVE50'). Omit to let the user enter one manually.
eracontextmcp_connections__connect_bank_account#Start a bank account connection flow via Plaid or a direct integration and return a redirect URL for the user to complete.3 params

Start a bank account connection flow via Plaid or a direct integration and return a redirect URL for the user to complete.

NameTypeRequiredDescription
assistant_namestringoptionalYour name or the name of the AI assistant being used (e.g. 'Claude', 'ChatGPT'). This helps personalize the connection experience for the user.
connection_idstringoptionalOptional existing connection ID for reconnection flows. Provide this to reconnect a stale or broken connection instead of creating a new one. Get connection IDs from the accounts listing.
providerstringoptionalOptional banking provider identifier for this connection. Omit to use the platform's default provider unless you have a specific provider requirement.
eracontextmcp_connections__disconnect_institution#Permanently remove a linked institution connection and unlink all associated accounts. Get the connection_id from accounts__list_financial_accounts.1 param

Permanently remove a linked institution connection and unlink all associated accounts. Get the connection_id from accounts__list_financial_accounts.

NameTypeRequiredDescription
connection_idstringrequiredThe connection ID of the institution to disconnect. Obtain from accounts__list_financial_accounts (the connection_id field on account entries).
eracontextmcp_connections__list_connections#List every one of the user's bank connections with an honest, provider-agnostic status for each: whether it is healthy, syncing with no data yet, needs reconnecting, is terminally denied, is currently disconnected, or one of several other narrower states. This is the discover hop of the connection recovery loop — call this first to get each connection's connection_id, then act on a specific connection with connections__trigger_connection_resync, connections__connect_bank_account, or connections__disconnect_institution.0 params

List every one of the user's bank connections with an honest, provider-agnostic status for each: whether it is healthy, syncing with no data yet, needs reconnecting, is terminally denied, is currently disconnected, or one of several other narrower states. This is the discover hop of the connection recovery loop — call this first to get each connection's connection_id, then act on a specific connection with connections__trigger_connection_resync, connections__connect_bank_account, or connections__disconnect_institution.

eracontextmcp_connections__set_proactive_sync_mode#Record whether Era may proactively ask a bank connection's provider for fresh data on its own schedule. Set mode='disabled' when the user wants Era to stop reaching out to that bank between their own requests; set mode='enabled' to allow it again. This does NOT stop the connection: webhook updates, reconciliation and reads of data the provider already holds continue either way, and an on-demand refresh the user asks for is always honoured. Use connections__list_connections to obtain the connection_id.2 params

Record whether Era may proactively ask a bank connection's provider for fresh data on its own schedule. Set mode='disabled' when the user wants Era to stop reaching out to that bank between their own requests; set mode='enabled' to allow it again. This does NOT stop the connection: webhook updates, reconciliation and reads of data the provider already holds continue either way, and an on-demand refresh the user asks for is always honoured. Use connections__list_connections to obtain the connection_id.

NameTypeRequiredDescription
connection_idstringrequiredThe connection projection key identifying the bank connection. Obtain from connections__list_connections (the connection_id field on each connection entry).
modestringrequired'disabled' to stop Era proactively contacting this bank on its own schedule; 'enabled' to allow it. Repeating the instruction the connection already carries is a no-op — it records nothing and adds nothing to the user's history.
eracontextmcp_connections__trigger_connection_resync#Trigger an on-demand data resync for a bank connection. This fetches the latest transaction and balance data from supported banks — most major institutions support on-demand refresh, though it may take a few minutes for data to arrive. Possible outcomes include: resync queued successfully; the bank requires the user to re-authenticate first; the user's plan does not include on-demand resync; data was already refreshed recently; or the connection was not found. Use connections__list_connections to obtain the connection_id.1 param

Trigger an on-demand data resync for a bank connection. This fetches the latest transaction and balance data from supported banks — most major institutions support on-demand refresh, though it may take a few minutes for data to arrive. Possible outcomes include: resync queued successfully; the bank requires the user to re-authenticate first; the user's plan does not include on-demand resync; data was already refreshed recently; or the connection was not found. Use connections__list_connections to obtain the connection_id.

NameTypeRequiredDescription
connection_idstringrequiredThe connection projection key identifying the bank connection to resync. Obtain from connections__list_connections (the connection_id field on each connection entry).
eracontextmcp_help__get_help#Get help content for a specific topic: getting_started, connecting_accounts, what_can_i_ask, privacy_and_security, or troubleshooting. Topic is required.1 param

Get help content for a specific topic: getting_started, connecting_accounts, what_can_i_ask, privacy_and_security, or troubleshooting. Topic is required.

NameTypeRequiredDescription
topicstringrequiredThe help topic to retrieve. Use 'getting_started' for first-time users, 'connecting_accounts' for account linking guidance, 'what_can_i_ask' for example prompts, 'privacy_and_security' for data handling details, or 'troubleshooting' for common issues.
eracontextmcp_insights__analyze_spending#Break down spending into ranked groups by category, merchant, account, or time period — each with amount, percentage, and transaction count. Supports drill-down: call with group_by=category first, then again with a specific category and group_by=merchant.8 params

Break down spending into ranked groups by category, merchant, account, or time period — each with amount, percentage, and transaction count. Supports drill-down: call with group_by=category first, then again with a specific category and group_by=merchant.

NameTypeRequiredDescription
account_group_keystringoptionalFilter to a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field).
category_keystringoptionalOptional fcat_* category KEY (not a display name) to drill into one category. To get keys, call with group_by='category' and include_subcategories=true; each parent category returns its stable category_key. Pass one back here with group_by='merchant' to see the merchants that drove it. Keys are also listed by transactions__list_spending_categories (the key field). Omit to include all categories.
group_bystringoptionalHow to group the spending: 'category' (e.g., Groceries, Transportation), 'merchant' (e.g., Amazon, Starbucks), 'account' (by bank account), 'week' or 'month' (spending over time).
include_subcategoriesbooleanoptionalWhen true and group_by is 'category', groups results by parent category with subcategory breakdown
periodstringoptionalTime range for the breakdown. Use 'custom' with period_start/period_end for a specific date range.
period_endstringoptionalCustom end date (YYYY-MM-DD). Used when period is 'custom'.
period_startstringoptionalCustom start date (YYYY-MM-DD). Used when period is 'custom'.
top_nintegeroptionalHow many groups to return, ranked by spending amount (highest first). Default: 10.
eracontextmcp_insights__compare_spending_periods#Compare spending between two time periods side-by-side, returning the dollar and percentage change per group.5 params

Compare spending between two time periods side-by-side, returning the dollar and percentage change per group.

NameTypeRequiredDescription
account_group_keystringoptionalFilter to a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field).
category_keystringoptionalOptional fcat_* category KEY (not a display name) to compare only that category's spending between the two periods. Obtain the key from transactions__list_spending_categories (the key field) or reuse a category_key returned by insights__analyze_spending. Omit to compare across all categories.
group_bystringoptionalHow to break down the comparison: 'total' shows one overall comparison, 'category' compares each spending category, 'merchant' compares each merchant.
period_astringoptionalThe first time period to compare (shown as the 'current' or 'newer' period in the results).
period_bstringoptionalThe second time period to compare against (shown as the 'baseline' or 'older' period).
eracontextmcp_insights__forecast_spending#Project end-of-period spending based on current pace and historical patterns.2 params

Project end-of-period spending based on current pace and historical patterns.

NameTypeRequiredDescription
account_group_keystringoptionalLimit the projection to a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field). Omit to project across all accounts.
periodstringoptionalThe time period to project spending for. 'this_month' is most common.
eracontextmcp_insights__get_cash_flow#Get multi-period income vs. spending totals broken down by week or month, showing net cash flow per period.3 params

Get multi-period income vs. spending totals broken down by week or month, showing net cash flow per period.

NameTypeRequiredDescription
account_group_keystringoptionalFilter to a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field). Omit to see cash flow across all accounts.
granularitystringoptionalWhether to show cash flow by 'week' or 'month'.
num_periodsintegeroptionalHow many periods to include (e.g., 6 months, 12 weeks). Default: 6, max: 12.
eracontextmcp_insights__get_daily_category_spending#Get a per-day, per-category spending breakdown for a calendar month. Returns one row per day-and-category combination with the spending amount, transaction count, and the user's category display name, plus month totals. Use for spending-calendar drill-downs and questions like 'which categories did I spend on each day this month?' or 'break down my daily spending by category'. For per-day totals of spending, income, and bills use insights__get_daily_financial_summary; for ranked category totals over a period use insights__analyze_spending. For the current month, totals apply a same-day rolling cutoff: rows dated after today are still returned but excluded from total_amount and transaction_count. Results include only posted/settled transactions; pending (authorization-hold) transactions are excluded.2 params

Get a per-day, per-category spending breakdown for a calendar month. Returns one row per day-and-category combination with the spending amount, transaction count, and the user's category display name, plus month totals. Use for spending-calendar drill-downs and questions like 'which categories did I spend on each day this month?' or 'break down my daily spending by category'. For per-day totals of spending, income, and bills use insights__get_daily_financial_summary; for ranked category totals over a period use insights__analyze_spending. For the current month, totals apply a same-day rolling cutoff: rows dated after today are still returned but excluded from total_amount and transaction_count. Results include only posted/settled transactions; pending (authorization-hold) transactions are excluded.

NameTypeRequiredDescription
monthintegeroptionalMonth number (1-12). Defaults to the current month.
yearintegeroptionalYear of the month to query. Defaults to the current year.
eracontextmcp_insights__get_daily_financial_summary#Get a day-by-day breakdown of spending and income totals for a specific month, optionally filtered to one category.3 params

Get a day-by-day breakdown of spending and income totals for a specific month, optionally filtered to one category.

NameTypeRequiredDescription
category_keystringoptionalOptional fcat_* category key to filter daily totals by a specific category. Omit to get unfiltered totals.
monthintegeroptionalMonth number (1-12). Defaults to the current month.
yearintegeroptionalYear of the month to query. Defaults to the current year.
eracontextmcp_knowledge__confirm_or_reject_inference#Accept or dispute an AI-inferred financial fact. When rejecting, optionally provide the user's correct value.4 params

Accept or dispute an AI-inferred financial fact. When rejecting, optionally provide the user's correct value.

NameTypeRequiredDescription
actionstringrequiredThe action to take: 'confirm' to accept the inferred value, or 'reject' to dispute it.
slugstringrequiredThe slug of the inferred assertion to confirm or reject. Get assertion slugs from knowledge__get_financial_context_and_overview.
corrected_valuestringoptionalThe user's corrected value when rejecting an inference (e.g., the system inferred '$5,000/mo' but the user's actual income is '$8,500/mo'). Only used when action is 'reject'.
instance_idstringoptionalInstance identifier for repeatable assertions. Only needed when multiple instances exist for the same slug.
eracontextmcp_knowledge__defer_question#Skip a question permanently or snooze it to resurface after a specified number of days.4 params

Skip a question permanently or snooze it to resurface after a specified number of days.

NameTypeRequiredDescription
actionstringrequiredThe action to take: 'skip' to decline the question, or 'snooze' to defer it for a number of days.
question_slugstringrequiredThe slug of the question to skip or snooze. Get available slugs from knowledge__get_pending_questions.
pack_slugstringoptionalThe question pack slug containing this question. Defaults to 'financial-profile-v1' if omitted.
snooze_daysintegeroptionalNumber of days to snooze the question (required when action is 'snooze'). The question will be re-surfaced after this many days.
eracontextmcp_knowledge__forget#Delete a stored financial fact from the user's profile. Use when the user wants to clear an incorrect or outdated answer.3 params

Delete a stored financial fact from the user's profile. Use when the user wants to clear an incorrect or outdated answer.

NameTypeRequiredDescription
slugstringrequiredThe slug of the fact to retract. Get assertion slugs from knowledge__get_financial_context_and_overview.
instance_idstringoptionalInstance identifier for repeatable assertions. Only needed when multiple instances exist for the same slug.
pack_slugstringoptionalThe question pack slug for flow progress recalculation when retracting an answer to a prompted question. Defaults to 'financial-profile-v1' if omitted.
eracontextmcp_knowledge__get_financial_context_and_overview#Get the user's complete financial context — facts, goals, account summary, net worth, monthly spending, top categories, and pending personalization questions. Call this first for comprehensive context.4 params

Get the user's complete financial context — facts, goals, account summary, net worth, monthly spending, top categories, and pending personalization questions. Call this first for comprehensive context.

NameTypeRequiredDescription
categorystringoptionalFilter assertions to a specific category (e.g., 'financial', 'preferences', 'goals'). Omit to return all categories.
pack_slugstringoptionalThe question pack slug for completion progress data. Defaults to 'financial-profile-v1' if omitted.
statusstringoptionalFilter assertions by lifecycle status: 'active' (current facts), 'superseded' (replaced by newer facts), 'retracted' (withdrawn), or 'draft' (not finalized). Omit to return only active assertions.
tagsarrayoptionalFilter assertions to those matching specific tags (e.g., ['tax-relevant']). Omit to return all assertions regardless of tags.
eracontextmcp_knowledge__get_pending_questions#Get unanswered personalization questions with display text, answer type, and criticality. High-criticality questions unlock additional features.2 params

Get unanswered personalization questions with display text, answer type, and criticality. High-criticality questions unlock additional features.

NameTypeRequiredDescription
max_countintegeroptionalMaximum number of questions to return. Defaults to 5 if omitted.
pack_slugstringoptionalThe question pack slug to retrieve questions from. Defaults to 'financial-profile-v1' if omitted.
eracontextmcp_knowledge__recall_history#Get the full change history for a specific financial fact, including all past values and timestamps.2 params

Get the full change history for a specific financial fact, including all past values and timestamps.

NameTypeRequiredDescription
slugstringrequiredThe slug of the fact to retrieve history for. Get assertion slugs from knowledge__get_financial_context_and_overview.
instance_idstringoptionalInstance identifier for repeatable assertions. Only needed when multiple instances exist for the same slug.
eracontextmcp_knowledge__remember#Store a financial fact, preference, or goal. Populate exactly one typed value field matching the answer_type (text, number, money, date, or boolean).19 params

Store a financial fact, preference, or goal. Populate exactly one typed value field matching the answer_type (text, number, money, date, or boolean).

NameTypeRequiredDescription
answer_typestringrequiredThe structural type. For prompted questions, use the answer_type from knowledge__get_pending_questions.
slugstringrequiredThe machine-readable identifier. For prompted questions, use the slug from knowledge__get_pending_questions.
boolean_valuebooleanoptionalBoolean value for boolean answer type.
categorystringoptionalThe logical grouping category. Auto-derived for prompted questions; required for ambient facts.
confidencestringoptionalHow certain the system is about this fact: 'definitive' (user explicitly stated), 'confirmed' (inferred and user confirmed), 'inferred' (agent derived, not yet confirmed), or 'observed' (computed from data). Defaults to 'definitive' if omitted.
date_valuestringoptionalDate value for date answer type (YYYY-MM-DD).
instance_idstringoptionalInstance identifier for repeatable facts that can have multiple values (e.g., 'checking-1', 'savings-2' for account-related facts). Omit for single-value facts.
modalitystringoptionalThe nature of the assertion: 'definite' (a stated fact), 'aspirational' (a goal or intention), or 'conditional' (contingent on something). Defaults to 'definite' if omitted.
money_periodic_valueobjectoptionalPeriodic money value for money-periodic answer type (amount + currency + frequency).
money_relative_valueobjectoptionalRelative money value for money-relative answer type (amount + currency + direction).
money_valueobjectoptionalMoney value for money answer type.
numeric_valuenumberoptionalNumeric value for number and scale answer types.
pack_slugstringoptionalQuestion pack slug for flow tracking. Defaults to 'financial-profile-v1'.
sourcestringoptionalHow this fact was captured: 'prompted' (user answered a question), 'conversational' (discovered during chat), 'inferred' (derived by agent), 'observed' (computed from data), or 'imported' (external source). Defaults to 'conversational' if omitted.
tagsarrayoptionalOptional tags for additional categorization (e.g., ['tax-relevant', 'high-priority']).
text_valuestringoptionalString value for text, text-multiline, single-select, multi-select (comma-separated), country (ISO alpha-2), and region answer types.
use_connected_accountsstringoptionalWhen the user wants the answer sourced from their connected financial accounts rather than a typed value, set this to "connected-accounts". Mutually exclusive with all typed value fields (text_value, numeric_value, boolean_value, date_value, money_value, money_periodic_value, money_relative_value). Use for balance and debt questions where the answer is available from the user's linked accounts.
valid_timestringoptionalWhen this fact became true in the user's life (YYYY-MM-DD). Omit if the fact has no specific start date.
valid_untilstringoptionalWhen this fact should be considered stale and re-asked (YYYY-MM-DD). Omit if the fact does not expire.
eracontextmcp_knowledge__reset_pack_questions#Warning: this cannot be undone — only call when you have high confidence the user wants to reset and re-surface all previously skipped or snoozed questions. This operation reverts all Skipped and Snoozed question states back to Pending so they will be re-surfaced by the flow engine. It does not delete any stored facts or assertions — only the skip/snooze state is reset. Call knowledge__get_pending_questions after a successful reset to obtain the newly re-surfaced questions.1 param

Warning: this cannot be undone — only call when you have high confidence the user wants to reset and re-surface all previously skipped or snoozed questions. This operation reverts all Skipped and Snoozed question states back to Pending so they will be re-surfaced by the flow engine. It does not delete any stored facts or assertions — only the skip/snooze state is reset. Call knowledge__get_pending_questions after a successful reset to obtain the newly re-surfaced questions.

NameTypeRequiredDescription
pack_slugstringoptionalThe question pack slug to reset. Defaults to 'financial-profile-v1' if omitted.
eracontextmcp_knowledge__show_question_ui#Render an interactive prompt for a specific pending question, including answer constraints and suggested presentation format.2 params

Render an interactive prompt for a specific pending question, including answer constraints and suggested presentation format.

NameTypeRequiredDescription
question_slugstringrequiredThe slug of the question to present as a visual form. Get available slugs from knowledge__get_pending_questions.
pack_slugstringoptionalThe question pack slug containing this question. Defaults to 'financial-profile-v1' if omitted.
eracontextmcp_nurture__get_my_status#Get the caller's own nurture (lifecycle email) campaign enrollment status — which campaigns they are currently enrolled in, their progress through each, and whether they have unsubscribed. Use for questions like 'what emails am I signed up for?' or 'am I subscribed to X?'. Call nurture__set_subscription to change the subscription state for a specific campaign.0 params

Get the caller's own nurture (lifecycle email) campaign enrollment status — which campaigns they are currently enrolled in, their progress through each, and whether they have unsubscribed. Use for questions like 'what emails am I signed up for?' or 'am I subscribed to X?'. Call nurture__set_subscription to change the subscription state for a specific campaign.

eracontextmcp_nurture__set_subscription#Subscribe the caller to, or unsubscribe them from, a nurture (lifecycle email) campaign. Takes effect immediately — no confirmation step, and always reversible by calling this tool again with the opposite value. Unsubscribing from a campaign the caller was never enrolled in is a safe no-op. Call nurture__get_my_status first to see the caller's current campaigns and subscription state.2 params

Subscribe the caller to, or unsubscribe them from, a nurture (lifecycle email) campaign. Takes effect immediately — no confirmation step, and always reversible by calling this tool again with the opposite value. Unsubscribing from a campaign the caller was never enrolled in is a safe no-op. Call nurture__get_my_status first to see the caller's current campaigns and subscription state.

NameTypeRequiredDescription
campaign_idstringrequiredThe campaign identifier. Obtain from nurture__get_my_status's response.
subscribedbooleanrequiredSet to true to subscribe (resubscribe if previously unsubscribed) or false to unsubscribe.
eracontextmcp_referral__get_dashboard_sso#Get a single-sign-on URL for the user's referral dashboard without a separate login.0 params

Get a single-sign-on URL for the user's referral dashboard without a separate login.

eracontextmcp_referral__get_referral_stats#Get referral performance stats: invites sent, conversions, and earnings.0 params

Get referral performance stats: invites sent, conversions, and earnings.

eracontextmcp_referral__join_referral_program#Enroll the user in the referral program and create their affiliate profile.0 params

Enroll the user in the referral program and create their affiliate profile.

eracontextmcp_referral__switch_referral_campaign#Switch the user's active referral campaign to a different slug.1 param

Switch the user's active referral campaign to a different slug.

NameTypeRequiredDescription
slugstringrequiredThe campaign slug to switch to. Valid values: 'invite' or 'creator'.
eracontextmcp_transactions__import_csv_transactions#Import transactions from a CSV export of Monarch, Copilot, YNAB, Mint, or Wells Fargo. Use preview_only=true to validate before committing.4 params

Import transactions from a CSV export of Monarch, Copilot, YNAB, Mint, or Wells Fargo. Use preview_only=true to validate before committing.

NameTypeRequiredDescription
account_group_keystringrequiredThe account group projection key of the manual account to import into. Obtain from accounts__list_financial_accounts (the account_id field). Must be a manual account.
csv_contentstringrequiredThe complete CSV text content (including header row). Pass the raw CSV as a string — do NOT base64-encode, MCP is text-native.
formatstringoptionalOptional format hint to bypass auto-detection. Supported values: "monarch", "copilot", "ynab", "mint", "wellsfargo", "chase", "bankofamerica", "amex", "schwab". If omitted, format is auto-detected from the CSV header row.
preview_onlybooleanoptionalWhen true, parse and validate the CSV but do not write transactions. Returns per-row validation verdicts (valid/invalid + reason). Default: false.
eracontextmcp_transactions__list_recurring_charges#List detected recurring charges (subscriptions, bills, income) with merchant, amount, and frequency.2 params

List detected recurring charges (subscriptions, bills, income) with merchant, amount, and frequency.

NameTypeRequiredDescription
active_onlybooleanoptionalWhen true (default), only shows recurring items that have appeared within the last 60 days. Set to false to also include items that may have stopped.
typestringoptionalFilter by type: 'subscription' (Netflix, Spotify, etc.), 'bill' (rent, utilities, etc.), 'income' (salary, freelance, etc.), or 'all' for everything.
eracontextmcp_transactions__list_spending_categories#Get the full category tree with fcat_* keys, icons, and spending types. Call this to discover valid category keys for other tools.0 params

Get the full category tree with fcat_* keys, icons, and spending types. Call this to discover valid category keys for other tools.

eracontextmcp_transactions__list_transactions#Paginated chronological list of transactions with optional filters for date, account, category, tags, and review status. For keyword searches, use search_transactions instead.10 params

Paginated chronological list of transactions with optional filters for date, account, category, tags, and review status. For keyword searches, use search_transactions instead.

NameTypeRequiredDescription
account_group_keystringoptionalFilter to transactions from a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field).
category_keystringoptionalFilter to transactions with this fcat_* category projection key. Get category keys from transactions__list_spending_categories. When combined with include_children=true, includes transactions from all subcategories.
from_datestringoptionalStart date for transaction range (YYYY-MM-DD). Defaults to all available transaction history.
include_childrenbooleanoptionalWhen true and category_key is set, includes transactions from the parent category and all its subcategories. Use this for parent category transaction counts.
pageintegeroptionalPage number (1-based)
page_sizeintegeroptionalNumber of transactions per page (max 100)
review_statusstringoptionalFilter to transactions by their review status. System rules like anomaly detection and bounced payment detection automatically flag transactions as 'needs_review'.
rule_idsarrayoptionalRule projection keys (e.g. ["frul_abc"]). Only transactions matched by at least one of these rules are returned. Maximum 50 items; requests with more than 50 items are rejected with an error. Get rule keys from transactions__manage_automation_rules with 'list' action.
tag_keysarrayoptionalTag projection keys (e.g. ["ftag_abc"]). Only transactions with at least one of these tags are returned. Maximum 50 items; requests with more than 50 items are rejected with an error. Get tag keys from transactions__manage_transaction_tags with 'list_tags' action.
to_datestringoptionalEnd date for transaction range (YYYY-MM-DD). Defaults to today.
eracontextmcp_transactions__manage_automation_rules#Create, list, update, delete, or enable rules that auto-categorize or tag matching transactions. Supports per-transaction and pattern-detection (transfer/recurring) rules.21 params

Create, list, update, delete, or enable rules that auto-categorize or tag matching transactions. Supports per-transaction and pattern-detection (transfer/recurring) rules.

NameTypeRequiredDescription
actionstringrequiredWhat to do. Create adds a new rule, list shows existing rules, update changes a rule's conditions or actions, delete removes a rule permanently, enable/disable turns a rule on or off without deleting it, preview tests filters against recent transactions without saving anything.
actionsarrayoptionalWhat to do with matching transactions (required for create and update). You can combine multiple actions. For category, merchant rename, description, review status, hide, and transfer actions, only the highest-priority rule's action applies. Tag actions (add/remove) always apply from all matching rules.
application_scopestringoptionalDetermines which transactions this rule applies to. Prospective applies only to new transactions going forward. Retroactive applies only when explicitly re-running against existing transactions. Both (default) does both.
applies_fromstringoptionalOnly apply this rule to transactions dated on or after this date (YYYY-MM-DD). Omit to apply to transactions of any date.
applies_tostringoptionalOnly apply this rule to transactions dated on or before this date (YYYY-MM-DD). Omit to apply to transactions of any date.
apply_retroactivelybooleanoptionalWhether to immediately apply the rule to the user's existing transactions. Default: true — all matching transactions are updated right away. When updating an existing rule, the old matches are undone first and the new definition is applied fresh. Set to false only if the user explicitly asks for the rule to apply to future transactions only.
descriptionstringoptionalAn optional note explaining what this rule does or why it was created.
filtersarrayoptionalConditions that determine which transactions this rule matches (required for create and update). When multiple filters are provided at the top level, ALL must match (AND logic). Use 'or' type filters to match ANY of several conditions.
include_inactivebooleanoptionalWhen listing rules, set to true to also include disabled rules. Default: false (only active rules are shown).
pattern_specobjectoptionalThe pattern detection specification. Required for pattern-scope rules. Supports four types: pair_match (transfer detection between accounts), frequency_threshold (counting occurrences in a window), recurring_group (periodic merchant charge detection), and statistical_anomaly (z-score anomaly detection).
priorityintegeroptionalRules with higher priority numbers are evaluated first. When two rules could both set a category (or merchant name, etc.) on the same transaction, the higher-priority rule wins. Default: 0.
revert_retroactivelybooleanoptionalWhen deleting or disabling a rule, whether to undo the changes it previously made to transactions (e.g., remove the category it assigned, remove tags it added). Default: false — previous changes are left in place. Set to true for a clean undo so the user's transactions return to their state before the rule existed.
rule_keystringoptionalThe unique key of an existing rule. Required for update, delete, enable, and disable. Get this from the 'list' action response.
rule_namestringoptionalA short, descriptive name for the rule (e.g., 'Categorize Uber as Transportation'). Required for create and update.
rule_scopestringoptionalThe rule scope: 'transaction' (default) evaluates filters against each individual transaction. 'pattern' evaluates a pattern specification against a time-windowed batch of transactions.
trigger_modestringoptionalWhen to trigger pattern evaluation. Defaults to 'on_batch_complete' for pattern rules, 'on_each_transaction' for transaction rules.
user_overridesobjectoptionalOptional overrides for library rule parameters. Must match the rule's pattern_spec type (e.g. pair_match overrides for a pair_match rule). Library rules cannot be created or deleted, but their behavior can be customized using this field on update.
versionintegeroptionalThe current version number of the rule, used to prevent conflicting edits. REQUIRED for update, delete, enable, and disable. Get this value from the 'list' action response. If someone else changed the rule since you last read it, the operation will fail with a conflict error — re-read the rule and retry.
window_daysintegeroptionalHow many days to look back when searching for matching patterns. Required for pattern-scope rules. Must be between 1 and 365.
window_exclude_trigger_accountbooleanoptionalWhen true, transactions from the same account as the trigger are excluded from the window query. Useful for transfer detection to avoid self-matching.
window_lookahead_daysintegeroptionalHow many days to look ahead when searching for matching patterns. Default: 0 (no lookahead).
eracontextmcp_transactions__manage_categories#Create, update, hide, delete, merge, or reorder spending categories. New categories require a parent_category_key and URL-safe slug.14 params

Create, update, hide, delete, merge, or reorder spending categories. New categories require a parent_category_key and URL-safe slug.

NameTypeRequiredDescription
actionstringrequiredWhat to do. Create adds a new custom category, update changes display properties, hide/unhide controls visibility, delete removes a user-created category, merge_categories combines multiple into one.
apply_retroactivelybooleanoptionalWhen true, retroactively re-evaluates transactions (up to 12 months) after mapping rules are created. Defaults to true.
assignment_eligibilitystringoptionalControls whether the AI agent can auto-assign transactions to this category. Optional.
category_keystringoptionalThe category key to operate on. Required for update, hide, unhide, delete. For merge_categories this is the target category key.
descriptionstringoptionalA description of what this category covers. Optional.
display_orderintegeroptionalDisplay order within sibling group. Optional.
icon_namestringoptionalA single UTF emoji character used as the category icon in the UI (e.g. "🏠", "💰"). Optional.
merge_source_keysarrayoptionalCategory keys to merge into the target. Required for merge_categories. These categories will be hidden.
namestringoptionalThe display name for the category. Required for create, optional for update (null = unchanged).
parent_category_keystringoptionalThe parent category key (fcat_*) under which to create the new category. Required for create.
reorder_entriesarrayoptionalList of {category_key, display_order} pairs. Required for reorder.
slugstringoptionalA unique URL-safe slug for the new category (lowercase alphanumeric and hyphens, 2-50 chars). Required for create.
source_system_keysarrayoptionalSystem category keys (fcat_*) whose transactions should be routed to this new category. Used with create and merge_categories. Each source gets a mapping rule.
spending_typestringoptionalSpending classification for budgeting and analytics. Optional.
eracontextmcp_transactions__manage_manual_transaction#Create, update, or delete transactions on a manual account. Amount must be a positive integer; use direction=outflow or inflow. Currency is required for create.3 params

Create, update, or delete transactions on a manual account. Amount must be a positive integer; use direction=outflow or inflow. Currency is required for create.

NameTypeRequiredDescription
account_group_keystringrequiredThe account group projection key shared by all operations. Obtain from accounts__list_financial_accounts (the account_id field). Must be a manual account.
operationsarrayrequiredArray of transaction operations to execute sequentially. Each has its own action and fields.
preview_onlybooleanoptionalWhen true, parse and validate all operations but do not write anything. Returns per-operation validation verdicts (valid/invalid + reason). Default: false.
eracontextmcp_transactions__manage_transaction_tags#Create, list, update, delete, assign, or remove user-defined tags on transactions. version is required for update and delete.11 params

Create, list, update, delete, assign, or remove user-defined tags on transactions. version is required for update and delete.

NameTypeRequiredDescription
actionstringrequiredWhat to do: 'create_tag' makes a new tag, 'list_tags' shows all tags, 'get_tag' gets details for one tag, 'update_tag' changes a tag's name or appearance, 'delete_tag' removes a tag, 'assign_tags' attaches a tag to specific transactions, 'remove_tags' detaches a tag from specific transactions.
colorstringoptionalA hex color code for the tag's visual appearance (e.g., '#FF5733'). Optional.
display_namestringoptionalThe name shown to the user (e.g., 'Business Trip'). Optional when creating (defaults to the tag name). Required when updating. Maximum 50 characters.
iconstringoptionalAn icon name for the tag's visual appearance. Optional.
include_deletedbooleanoptionalWhen listing tags, set to true to also include previously deleted tags. Default: false.
namestringoptionalThe tag name (required for create_tag). Spaces are replaced with hyphens and text is lowercased to create a stable identifier (e.g., 'Business Trip' becomes 'business-trip'). Maximum 50 characters.
tag_keystringoptionalThe tag's unique identifier (required for get_tag, update_tag, delete_tag, assign_tags, remove_tags). Get this from create_tag or list_tags responses.
tag_typestringoptionalWhether this tag was created by the user ('user', default) or by an automation rule ('auto').
transaction_idsarrayoptionalThe transaction group IDs (utgr_*) to tag or untag. REQUIRED for assign_tags and remove_tags. Get these from transactions__list_transactions or transactions__search_transactions responses. Up to 100 per call.
type_filterstringoptionalWhen listing tags, only show tags of this type. Optional.
versionintegeroptionalThe current version number of the tag, used to prevent conflicting edits. REQUIRED for update_tag and delete_tag. Get this from list_tags or get_tag responses.
eracontextmcp_transactions__search_transactions#Search and filter transactions by merchant name, description, amount range, category, date range, and direction (debit/credit). Returns matching transactions with total count and sum — no arithmetic needed. Use for targeted questions like 'how much did I spend at Starbucks?', 'what was that $50 charge?', or 'show me all refunds this month'. Supports free-text search so exact merchant names are not required. Use category_key with include_children=true to search across all subcategories of a parent category. For browsing recent activity chronologically, prefer transactions__list_transactions instead. Session context from knowledge__get_financial_context_and_overview enriches these results with the user's profile, goals, and preferences.15 params

Search and filter transactions by merchant name, description, amount range, category, date range, and direction (debit/credit). Returns matching transactions with total count and sum — no arithmetic needed. Use for targeted questions like 'how much did I spend at Starbucks?', 'what was that $50 charge?', or 'show me all refunds this month'. Supports free-text search so exact merchant names are not required. Use category_key with include_children=true to search across all subcategories of a parent category. For browsing recent activity chronologically, prefer transactions__list_transactions instead. Session context from knowledge__get_financial_context_and_overview enriches these results with the user's profile, goals, and preferences.

NameTypeRequiredDescription
account_group_keystringoptionalFilter to transactions from a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field).
category_keystringoptionalFilter to transactions with this fcat_* category projection key. Get category keys from transactions__list_spending_categories. When combined with include_children=true, includes transactions from all subcategories.
directionstringoptionalFilter by money direction: 'debit' for money going out (purchases, payments), 'credit' for money coming in (income, refunds), or 'all' for both.
include_childrenbooleanoptionalWhen true and category_key is set, includes transactions from the parent category and all its subcategories. Use this for parent category transaction counts.
limitintegeroptionalMaximum number of transactions to return (1-50). The response also includes total_results count and sum even if the limit clips the list.
max_amountnumberoptionalMaximum transaction amount.
min_amountnumberoptionalMinimum transaction amount. Use negative values for charges/debits (e.g., -100 finds charges of $100 or more).
periodstringoptionalTime range to search within. Use 'custom' with period_start/period_end for a specific date range.
period_endstringoptionalCustom end date (YYYY-MM-DD). Used when period is 'custom'.
period_startstringoptionalCustom start date (YYYY-MM-DD). Used when period is 'custom'.
querystringoptionalFree-text search across merchant name and description. Exact merchant names are not required — partial matches work (e.g., 'star' matches 'Starbucks').
review_statusstringoptionalFilter to transactions by their review status. System rules like anomaly detection and bounced payment detection automatically flag transactions as 'needs_review'.
rule_idsarrayoptionalRule projection keys (e.g. ["frul_abc"]). Only transactions matched by at least one of these rules are returned. Maximum 50 items; requests with more than 50 items are rejected with an error. Get rule keys from transactions__manage_automation_rules with 'list' action.
sort_bystringoptionalHow to order the results: by 'date' (newest first), 'amount', or 'merchant' name.
tag_keysarrayoptionalTag projection keys (e.g. ["ftag_abc"]). Only transactions with at least one of these tags are returned. Maximum 50 items; requests with more than 50 items are rejected with an error. Get tag keys from transactions__manage_transaction_tags with 'list_tags' action.
eracontextmcp_transactions__update_transactions#Bulk-update up to 100 transactions: set category, description, merchant name, or review status. Use clear_* fields to revert overrides to automatic values.9 params

Bulk-update up to 100 transactions: set category, description, merchant name, or review status. Use clear_* fields to revert overrides to automatic values.

NameTypeRequiredDescription
transaction_idsarrayrequiredIDs of the transactions to update (up to 100 at once). Get these from transactions__list_transactions or transactions__search_transactions.
category_keystringoptionalThe category to assign to these transactions. Call transactions__list_spending_categories first to get valid category keys.
clear_categorybooleanoptionalRemove the user's manual category choice, reverting to the automatically detected category.
clear_descriptionbooleanoptionalRemove the user's custom description, reverting to the original description from the bank.
clear_merchant_namebooleanoptionalRemove the user's custom merchant name, reverting to the original name from the bank.
clear_review_statusbooleanoptionalClear the review status. Use this instead of review_status when removing a status.
descriptionstringoptionalSet a custom note or description for these transactions.
merchant_namestringoptionalSet a custom merchant name for these transactions (e.g., rename 'AMZN*1234' to 'Amazon').
review_statusstringoptionalReview status to assign: needs_review, reviewed, or flagged.