---
title: "Create a customer profile bank account"
method: POST
path: "/{customer_profile_id}/bank_accounts"
---

# Create a customer profile bank account

`POST /{customer_profile_id}/bank_accounts`

[Available in Sandbox/Production environment] Add a bank account for a customer profile

## Path parameters

- `customer_profile_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, required — Bank account number<br>Bank account length: Between 5 - 34<br>Regex: `/^[a-zA-Z0-9\-]{5,34}$/`
  - `bank` string — Only required for FAST<br>SG Bank account abbreviation (`abbreviation`) can be retrieved from [Get a list of supported banks API](https://docs.straitsx.com/reference/get-a-list-of-supported-banks)<br>Regex: `/^\s*.{1,191}\s*$/`
  - `swift_bic` string — SWIFT code of the bank account<br>*Required field if you are doing SWIFT payments*<br>Regex: `/^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$/`<br><br><strong>Note:</strong> Must be uppercase
  - `intermediary_swift_bic` string — Intermediary SWIFT code if applicable(Must be alphanumeric with 11 characters)<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 if applicable(Must be alphanumeric with maximum 31 characters)<br>Regex: `/^[A-Z0-9]{1,31}$/`<br><br><strong>Note:</strong> Must be uppercase
  - `account_holder_name` string, required — Name of bank account holder(The length must be within 191 characters)<br>Regex: `/^\s*.{1,191}\s*$/`
  - `bank_account_proof` object, required — Must have either `fileData` or `fileUrl`
    - `fileData` string — File data format: base64<br>Recommended maximum file size: 5MB
    - `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`
  - `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.

## Other responses

- `400` — 400

---

[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)
