Skip to main content
Glama

Update bank account

update_bank_account

Update an existing bank account by id — its name, bank, account number or opening balance. Changing the opening balance regenerates the account's synthetic opening-balance entry. An opening date later than the account's own earliest transaction is refused, unwritten, with code confirm-required until the same call is repeated with confirm true. To add a brand-new account use create_bank_account.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoID of the bank account, required for updates
bankNoName of the bank
syncNoWhether automatic bank sync is enabled
hiddenNoWhether the account is hidden/soft-deleted (removes its card; also stops sync)
confirmNoPROD-1536: required only to save an opening date that is LATER than the account's own earliest transaction. Without it that one case is refused, unwritten, with code confirm-required plus earliesttransactiondate and transactionsbefore, so the caller can show what the date would exclude and let the user override it.
privateNoWhether this is a private account
syncingNoWhether sync is currently in progress
archivedNoWhether the account is archived
accountidNoLinked accounting account ID
swiftcodeNoSWIFT/BIC code for international transfers
branchcodeNoBank branch code or routing number
accountnameNoName of the bank account
accounttypeNoType of account (e.g., checking, savings)
openingdateNoDate of the opening balance
syncenabledNoWhether this account is enabled for bank sync
accountnumberNoBank account number
creditaccountNoDefault credit account ID
creditjournalNoDefault credit journal ID
openingbalanceNoOpening balance for the account
clearopeningbalanceNoPROD-1200: when true, fully REMOVE the opening balance — retracts both openingbalance and openingdate (clears the Insights banner). Distinct from setting the balance to 0, which stays 'set'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / confirm
      Added value: +{
      +  "description": "PROD-1536: required only to save an opening date that is LATER than the account's own earliest transaction. Without it that one case is refused, unwritten, with code confirm-required plus earliesttransactiondate and transactionsbefore, so the caller can show what the date would exclude and let the user override it.",
      +  "type": "boolean"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/destructive hints, the description discloses a side effect (regenerating the synthetic opening-balance entry) and a guarded failure mode (late opening date refused unless confirm=true). It does not describe all side effects such as hidden soft-deletion, but those are covered in the schema's parameter descriptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences deliver purpose, a behaviorally important edge case, and a pointer to the create sibling with no filler. The critical confirmation nuance is included without burying the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 20-parameter tool with no output schema, the main description cannot restate every field, but the 100%-covered schema handles that. The description supplies the high-level scope, the key edge-case behavior, and the create alternative; it only lacks an explicit statement of partial-update semantics or the response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description adds extra meaning by explaining what happens when opening balance changes and how the confirm parameter interacts with a late opening date. It highlights the core fields but leaves detailed per-field semantics to the already-rich schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific operation and resource ('Update an existing bank account by id') and lists the primary mutable fields. It also points to create_bank_account for a brand-new account, separating it from the nearest sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly frames the tool for updating an existing account and explicitly routes new-account creation to create_bank_account. It does not contrast with other update_* siblings, but the bank-account resource makes the target obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources