---
title: "Update a customer profile bank account"
method: PUT
path: "/{customer_profile_id}/bank_accounts/{bank_account_id}"
---

# Update a customer profile bank account

`PUT /{customer_profile_id}/bank_accounts/{bank_account_id}`

[Available in Sandbox/Production environment] Updates the bank account information for a customer profile

## Path parameters

- `customer_profile_id` string, required
- `bank_account_id` string, required

## Headers

- `X-XFERS-APP-API-KEY` string, required
- `X-PUBLIC-KEY-ID` string
- `X-TIMESTAMP` string
- `X-NONCE` string
- `X-SIGNATURE` string

## Request body

- object
  - `account_no` string — Bank account number<br>Bank account length: Between 5 - 34 characters<br>Regex: `/^[a-zA-Z0-9\-]{5,34}$/`
  - `bank` string — Bank abbreviation. You can get the list of bank account abbreviation from the Get Bank and Abbreviation Mapping API. [Get Bank](https://dash.readme.io/project/xfers-payments/v3-SG/refs/get-bank-and-abbreviation-mapping)<br>Regex: `/^\s*.{1,191}\s*$/`
  - `account_holder_name` string — Name of bank account holder(Must be within 191 characters)<br>Regex: `/^\s*.{1,191}\s*$/`
  - `bank_account_proof` object — Required if bank account is already verified and `swift_bic` / `account_no` is being updated
    - `fileData` string — <b>File data format:</b> base64
    - `fileName` string — File name of the uploaded bank statement. <br><b>File format accepted:</b> PDF / PNG / JPG / JPEG<br>Example:<br>PDF: data:application/pdf;base64<br>PNG: data:image/png;base64<br>JPG/JPEG: data:image/jpeg;base64
    - `fileUrl` string — File link(Valid URL), accepts png/jpg/jpeg/pdf. <br>Regex: `%r{^(https?://)?(([0-9]{1,3}(\.[0-9]{1,3}){3,5})|(([-\p{L}_0-9]{1,256}\.)+[-\p{L}_]{2,6}))(:[0-9]+)?([/?].*)?$}i`
  - `intermediary_swift_bic` string — Intermediary SWIFT/BIC for the bank account<br>Regex: `/^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$/`<br><br><strong>Note:</strong> Must be uppercase
  - `routing_code` string — Routing code for the bank account<br>Regex: `/^[A-Z0-9]{1,31}$/`<br><br><strong>Note:</strong> Must be uppercase
  - `swift_bic` string — SWIFT code of the bank account<br>Regex: `/^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$/`<br><br><strong>Note:</strong> Must be uppercase
  - `payment_reason` string — Payment reason is a field used to pass clear, specific instructions to the receiving bank.<br>Length: 1 - 150 characters (Non-blank)<br>Regex: `/^\s*.{1,150}\s*$/`<br><br>Note: This value will override the default Remittance Information (MT103 Field 70 / pacs.008) in the final payment message sent to the bank when provided.

## Response `200`

200

- object[]
  - `id` integer — Customer profile bank account ID.
  - `account_no` string — Bank account number.
  - `account_holder_name` string — Name of the bank account holder.
  - `bank_abbrev` string — Bank abbreviation.
  - `disabled` boolean — Whether the customer profile bank account is disabled.
  - `verification_status` string — Customer profile bank account's verification status.
  - `bank_account_proof` string — Bank account proof.
  - `updated_at` string — Timestamp when the bank account was last updated.
  - `swift_bic` string — SWIFT code of the bank account.
  - `intermediary_swift_bic` string — Intermediary SWIFT/BIC for the bank account.
  - `routing_code` string — Routing code for the bank account.
  - `payment_reason` string — Payment reason is a field used to pass clear, specific instructions to the receiving bank.

---

[API](https://skmtc.net/straitsx/apis/straitsx-sandbox-base-url.md) · [All operations](https://skmtc.net/straitsx/apis/straitsx-sandbox-base-url/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/straitsx/straitsx-sandbox-base-url/revisions/9ceee2969aeb/schema)
