---
title: "Create bank account"
method: POST
path: "/bankaccounts"
tags: ["Bank Accounts"]
---

# Create bank account

`POST /bankaccounts`

Registers a bank account for a customer (or the authenticated account).
Use `GET /bankaccounts/validation` first to obtain the required fields for the given currency and country.

## Request body

- object
  - `customer_id` integer — Customer ID to assign the bank account to. Required unless `customer_type` is `source`.
  - `customer_type` 'source' — Pass `source` to register a bank account for the authenticated account instead of a customer.
  - `name` string, required — Account holder name.
  - `type` 'IBAN' | 'OTHER' | 'BSB_ACCOUNT' | 'PA_AHORRO' | 'PA_CTE' | 'CL_CTE' | 'CL_VISTA' | 'CL_AHORRO' | 'INTERNATIONAL' | 'ZEPTO' | 'CLEARJUNCTION' | 'CURRENCYCLOUD', required — Bank account type. `IBAN` for SEPA accounts, `BSB_ACCOUNT` for Australian accounts, `INTERNATIONAL` for SWIFT/BIC accounts, `CLEARJUNCTION` / `CURRENCYCLOUD` for gateway-linked accounts, `PA_CTE` / `PA_AHORRO` for Spanish payment accounts, and `OTHER` / `CL_CTE` / `CL_VISTA` / `CL_AHORRO` / `ZEPTO` for other formats.
  - `number` string, required — Bank account number or IBAN. Must be a valid IBAN when `type` is `IBAN`, `CLEARJUNCTION`, or `CURRENCYCLOUD`.
  - `bic` string — BIC/SWIFT code. Required for `INTERNATIONAL` type. Auto-populated from `bsb` for `BSB_ACCOUNT`.
  - `bsb` string — 6-digit BSB code (Australian bank routing number). Required for `BSB_ACCOUNT` type.
  - `cod_entidad` string — Entity code for Spanish payment accounts (`PA_CTE` / `PA_AHORRO`). Auto-populated from `bic`.
  - `iban` string — IBAN (alternative field to `number` for SEPA accounts).
  - `tag` string
  - `metadata` object — Additional metadata. For `CLEARJUNCTION` and `CURRENCYCLOUD` types the following beneficiary fields are required.
    - `currency` string — 3-letter ISO 4217 currency code. Required for CLEARJUNCTION / CURRENCYCLOUD.
    - `country` string — 2-letter ISO 3166-1 country code. Required for CLEARJUNCTION / CURRENCYCLOUD.
    - `beneficiary_entity_type` 'individual' | 'company' — Required for CLEARJUNCTION / CURRENCYCLOUD.
    - `beneficiary_company_name` string — Required when `beneficiary_entity_type` is `company`.
    - `beneficiary_first_name` string — Required when `beneficiary_entity_type` is `individual`.
    - `beneficiary_last_name` string — Required when `beneficiary_entity_type` is `individual`.
    - `beneficiary_address` string — Required for CLEARJUNCTION / CURRENCYCLOUD.
    - `beneficiary_city` string — Required for CLEARJUNCTION / CURRENCYCLOUD.
    - `beneficiary_postcode` string
    - `beneficiary_state` string
    - `beneficiary_country` string — 2-letter country code. Required for CLEARJUNCTION / CURRENCYCLOUD.
    - `bank_account_type` 'checking' | 'savings'
    - `routing_code_type` string
    - `routing_code_value` string
    - `payment_types` string[]

## Response `200`

Bank account created

- BankAccount
  - `id` integer
  - `self` string
  - `uuid` string
  - `type` string — Account type (e.g. `IBAN`, `ACCOUNT`).
  - `name` string, nullable — Account holder name.
  - `number` string — Masked account number or IBAN.
  - `bic` string, nullable
  - `tag` string, nullable
  - `metadata` object, nullable
  - `created_at` string, date-time, nullable
  - `connections` Connections — Hypermedia links to related resources.

## Other responses

- `422` — Validation error

## Changes

- **2026-03-24** `33c8b5a6215c` — 30 info
  - added the new optional request property `bsb`
  - added the new optional request property `cod_entidad`
  - added the new optional request property `metadata/bank_account_type`
  - added the new optional request property `metadata/beneficiary_address`
  - …26 more
- **2026-03-11** `ff825f6602c8` — 6 breaking, 2 warning
  - added the new required request property `number`
  - added the new required request property `type`
  - the request property `bic` became required
  - the request property `customer_id` became required
  - …4 more

[Change history](https://skmtc.dev/truust-io/apis/truust-api/changes/bankaccounts/post.md)

---

[API](https://skmtc.dev/truust-io/apis/truust-api.md) · [All operations](https://skmtc.dev/truust-io/apis/truust-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/truust-io/truust-api/revisions/cc81e28726b9/schema)
