---
title: "Update Bank Account"
method: PATCH
path: "/v2/bank-account/{id}"
---

# Update Bank Account

`PATCH /v2/bank-account/{id}`

Update a bank account by its ID. Update either the networks on a non-SWIFT account, or the intermediary BIC on a USD SWIFT account that does not already have one.

## Path parameters

- `id` string, required

## Request body

- union
  - object
    - `networks` string[], required — The payment networks supported by this bank account. Must match the bank account currency: USD accounts support ["ach", "wire"], EUR accounts support ["sepa"], BRL accounts support ["pix"].
  - object
    - `intermediaryBics` string[], required — Ordered list of BIC/SWIFT codes for intermediary correspondent banks used to route the wire to the beneficiary bank. Each BIC must be exactly 8 or 11 characters. At most 3 BICs; no duplicates. Pass an empty array to clear existing intermediary BICs. Only allowed on USD SWIFT bank accounts.

## Response `200`

- union
  - object
    - `id` string, required — The unique identifier of the bank account.
    - `status` 'pending' | 'active' | 'inactive' | 'invalid', required — The current status of the bank account.
    - `customerId` string, required — The unique identifier of the customer who owns this bank account.
    - `created` string, required — The ISO 8601 timestamp when the bank account was created.
    - `updated` string, required — The ISO 8601 timestamp when the bank account was last updated.
    - `bankName` string, required — The name of the financial institution where the account is held.
    - `accountName` string, required — A descriptive name for this bank account.
    - `currency` 'usd', required — The currency of the bank account.
    - `accountDetails` union, required — USD account details. For ACH/Wire: accountNumber, routingNumber, accountType. For SWIFT: accountNumber (masked), bic.
      - object
        - `accountNumber` string, required — The bank account number for the US bank account (masked, last 4 characters visible). Present when currency is usd.
        - `routingNumber` string, required — The 9-digit ABA routing number (also known as routing transit number) that identifies the US financial institution. Present when currency is usd.
        - `accountType` 'checking' | 'savings' | 'instapay' | 'pesonet', required — The type of US bank account. Present when currency is usd.
      - object
        - `accountNumber` string, required — The account number for SWIFT transfers (masked, last 4 characters visible). Present when currency is usd and networks is ["swift"].
        - `bic` string, required — The BIC/SWIFT code of the beneficiary bank. Present when currency is usd and networks is ["swift"].
        - `intermediaryBics` string[] — Ordered list of BIC/SWIFT codes for intermediary correspondent banks, if any were set on this account. Omitted from the response when no intermediary BICs are set.
    - `accountOwner` object, required — Information about the account owner, including their name and relationship to the customer.
      - `accountHolderName` string, required — The name of the account holder as it appears on the bank account.
      - `relationship` 'self' | 'holding_company' | 'subsidiary_company' | 'branch_office' | 'business_partner' | 'supplier' | 'customer' | 'creditor' | 'debtor' | 'franchisee' | 'unknown', required — The relationship of the account owner to the customer.
    - `networks` union, required — The payment networks supported by this bank account. For USD ACH/Wire accounts, includes at least one of "ach" or "wire". For USD SWIFT accounts, is exactly ["swift"].
      - string[]
      - string[]
  - object
    - `id` string, required — The unique identifier of the bank account.
    - `status` 'pending' | 'active' | 'inactive' | 'invalid', required — The current status of the bank account.
    - `customerId` string, required — The unique identifier of the customer who owns this bank account.
    - `created` string, required — The ISO 8601 timestamp when the bank account was created.
    - `updated` string, required — The ISO 8601 timestamp when the bank account was last updated.
    - `bankName` string, required — The name of the financial institution where the account is held.
    - `accountName` string, required — A descriptive name for this bank account.
    - `currency` 'eur', required — The currency of the bank account.
    - `accountDetails` object, required — EUR/SEPA account details including iban and bic.
      - `iban` string, required — The International Bank Account Number (IBAN) for SEPA transfers (masked). Country code, check digits, and last 4 characters are unmasked. Present when currency is eur.
      - `bic` string, required — The Bank Identifier Code (BIC), also known as SWIFT code. Present when currency is eur.
    - `accountOwner` object, required — Information about the account owner, including their name and relationship to the customer.
      - `accountHolderName` string, required — The name of the account holder as it appears on the bank account.
      - `relationship` 'self' | 'holding_company' | 'subsidiary_company' | 'branch_office' | 'business_partner' | 'supplier' | 'customer' | 'creditor' | 'debtor' | 'franchisee' | 'unknown', required — The relationship of the account owner to the customer.
    - `networks` string[], required — The payment networks supported by this bank account. For EUR accounts, is exactly ["sepa"].
  - object
    - `id` string, required — The unique identifier of the bank account.
    - `status` 'pending' | 'active' | 'inactive' | 'invalid', required — The current status of the bank account.
    - `customerId` string, required — The unique identifier of the customer who owns this bank account.
    - `created` string, required — The ISO 8601 timestamp when the bank account was created.
    - `updated` string, required — The ISO 8601 timestamp when the bank account was last updated.
    - `bankName` string, required — The name of the financial institution where the account is held.
    - `accountName` string, required — A descriptive name for this bank account.
    - `currency` 'brl', required — The currency of the bank account.
    - `accountDetails` object, required — BRL/PIX account details including pixKey and pixKeyType.
      - `pixKey` string, required — The masked PIX key for Brazilian PIX transfers. Present when currency is brl.
      - `pixKeyType` 'cpf' | 'cnpj' | 'email' | 'phone' | 'random', required — The type of PIX key. Present when currency is brl.
    - `accountOwner` object, required — Information about the account owner, including their name and relationship to the customer.
      - `accountHolderName` string, required — The name of the account holder as it appears on the bank account.
      - `relationship` 'self' | 'holding_company' | 'subsidiary_company' | 'branch_office' | 'business_partner' | 'supplier' | 'customer' | 'creditor' | 'debtor' | 'franchisee' | 'unknown', required — The relationship of the account owner to the customer.
    - `networks` string[], required — The payment networks supported by this bank account. For BRL accounts, is exactly ["pix"].

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `422` — Unprocessable Entity - Validation Error

---

[API](https://skmtc.net/spherepay/apis/docs-spherepay-co.md) · [All operations](https://skmtc.net/spherepay/apis/docs-spherepay-co/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spherepay/docs-spherepay-co/versions/4f3f5484aed3/schema)
