---
title: "Create a customer bank account"
method: POST
path: "/v3/customers/{customerId}/bank-accounts"
tags: ["customers"]
---

# Create a customer bank account

`POST /v3/customers/{customerId}/bank-accounts`

Create a new customer bank account. When you add customer bank account information, you can charge the customer for invoices.

Creating a customer bank account follows a set of rules.
* **Customer billing address**: The customer `billingAddress` information is required before you can create a customer bank account.
* **Customer bank account verification**: If the customer bank account requires verification, BILL requires up to 2 business days to complete a one-time verification of the bank account.

**Note**: When you add a customer bank account in the production environment, BILL validates the customer routing number before you can charge the customer. You will get an error message if the customer routing number is invalid in production.

## Path parameters

- `customerId` string, required — BILL-generated ID of the customer. The value begins with `0cu`.

## Headers

- `sessionId` string, nullable — API session ID generated with `/v3/login`
- `devKey` string, nullable — Developer key generated with your BILL developer account

## Request body

- CreateCustomerBankAccountRequestDto — Create a customer bank account
  - `nameOnAccount` string, required — Customer bank account name
  - `nickname` string — Customer bank account nickname
  - `routingNumber` string, required — Customer bank routing number
  - `accountNumber` string, required — Customer bank account number
  - `type` 'CHECKING' | 'SAVINGS', required — Customer bank account type
  - `ownerType` 'BUSINESS' | 'PERSONAL', required — Customer bank account owner type

## Response `201`

Create a customer bank account response

- CustomerBankAccountResponseDto — CustomerBankAccount response Dto.
  - `id` string — BILL-generated ID of the customer bank account. The value begins with `cba`.
  - `nameOnAccount` string — Customer bank account name
  - `nickname` string — Customer bank account nickname
  - `routingNumber` string — Customer bank routing number
  - `accountNumber` string — Customer bank account number
  - `type` 'CHECKING' | 'SAVINGS' — Customer bank account type.
  - `ownerType` 'BUSINESS' | 'PERSONAL' — Customer bank account owner type.
  - `status` 'NOT_VERIFIED' | 'VERIFIED' | 'PENDING' | 'BLOCKED' | 'EXPIRED' | 'INVALID' | 'UNDEFINED' — Customer bank account status.
  - `archived` boolean — Set as `true` if the customer bank account is archived
  - `createdTime` string, date-time — Created date and time
  - `updatedTime` string, date-time — Updated date and time

## Other responses

- `4XX` — List of errors.
- `5XX` — List of errors.

---

[API](https://skmtc.net/bill/apis/bill-v3-api.md) · [All operations](https://skmtc.net/bill/apis/bill-v3-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bill/bill-v3-api/revisions/0483350c434e/schema)
