Replaces the editable fields of a bank account.
This is a full replace, not a partial update: every editable field is overwritten with what you send, and any field you omit is set to null. Read the account with GET /bank-accounts/{id} first and send back the complete set of values you want to keep, changing only what you intend to change. Sending only nickname will clear the account holder name, the address and all four behaviour flags.
Some fields are restricted. Changing status, nameMatchingEnabled or referenceCheckingEnabled requires additional roles most integrations do not hold. Because omitting a flag counts as changing it, an account that already has nameMatchingEnabled or referenceCheckingEnabled set cannot be updated at all without those roles unless you send the same values back. The bsb, accountNumber and payId of a deposit virtual account cannot be changed, and neither can the payment details of an automatically created remitter account.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Invalid input, with a messageKey identifying the rule that failed: bank_account.nickname_required (nickname is required on every update, including one that changes nothing else), bank_account.bank_account_already_exist (another account of the same type and sub type in your company already uses this bsb and accountNumber), bank_account.pay_id_already_exists, bank_account.bsb_and_swift_mutually_exclusive, bank_account.invalid_bsb_format, bank_account.invalid_account_number, bank_account.invalid_swift_code and bank_account.invalid_iban. A deposit virtual account also revalidates its customer details, returning the same per-field errors array as POST /bank-accounts.
401Unauthorized. The bearer token is missing, expired or invalid.
403Forbidden. bank_account.status_change_access_denied for a status change without the status role; bank_account.flags_change_access_denied for a change to nameMatchingEnabled or referenceCheckingEnabled without the compliance role, which includes omitting a flag that is currently set; bank_account.deposit_bank_account_access_denied for changing the bsb, accountNumber or payId of a deposit virtual account; and bank_account.access_denied for the payment details of a remitter account or any account belonging to another company.
404Bank account not found, with messageKey bank_account.bank_account_not_found.
500Internal server error
