> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bastion.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Bank Account

> Create a bank account for a given identity



## OpenAPI

````yaml /v2/openapi.yaml post /v2/issuance/bank-account
openapi: 3.1.0
info:
  title: Bastion APIs
  version: '2.0'
servers:
  - url: https://api.prod.bastion.com
    description: Production environment
  - url: https://api.sandbox.bastion.io
    description: Sandbox environment
security:
  - auth: []
tags:
  - name: Bastion APIs
paths:
  /v2/issuance/bank-account:
    post:
      tags:
        - Issuance
      summary: Create Bank Account
      description: Create a bank account for a given identity
      operationId: bastion.api.v2.API.CreateBankAccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/bastion.api.v2.issuance.CreateBankAccountRequest
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bastion.api.v2.issuance.BankAccount'
        '400':
          description: Bad request
components:
  schemas:
    bastion.api.v2.issuance.CreateBankAccountRequest:
      type: object
      properties:
        identity_id:
          type: string
          title: identity_id
          description: Unique identifier of the identity that this bank account belongs to
        bank_account_details:
          $ref: '#/components/schemas/bastion.common.BankAccountDetails'
          title: bank_account_details
          description: Details of the bank account to be registered
      title: CreateBankAccountRequest
      required:
        - identity_id
        - bank_account_details
      additionalProperties: false
    bastion.api.v2.issuance.BankAccount:
      type: object
      properties:
        id:
          type: string
          title: id
          description: Unique identifier associated with the bank account
          readOnly: true
        identity_id:
          type: string
          title: identity_id
          description: Unique identifier for the identity that this bank account belongs to
          readOnly: true
        bank_account_details:
          $ref: '#/components/schemas/bastion.common.BankAccountDetails'
          title: bank_account_details
          description: Details of the bank account
          readOnly: true
      title: BankAccount
      additionalProperties: false
    bastion.common.BankAccountDetails:
      type: object
      properties:
        bank_name:
          type: string
          title: bank_name
        account_holder_name:
          type: string
          title: account_holder_name
        account_number:
          type: string
          title: account_number
        routing_number:
          type: string
          title: routing_number
        type:
          type: string
          title: type
        address:
          $ref: '#/components/schemas/bastion.common.Address'
          title: address
        clabe:
          type: string
          title: clabe
          description: |-
            International corridor fields. Each field is populated only for its
             matching payment method (enforced by the bastion_apis validator). MX / SPEI
        ifsc_code:
          type: string
          title: ifsc_code
          description: IN / IMPS_FIRC
        bank_id:
          type: string
          title: bank_id
          description: JP, KR, etc. / BANK_TRANSFER — opaque institution ID
        swift_or_bic_number:
          type: string
          title: swift_or_bic_number
          description: EU / SEPA BIC or SWIFT code
        account_owner_type:
          type: string
          title: account_owner_type
          description: EU / SEPA account owner type
        first_name:
          type: string
          title: first_name
          description: EU / SEPA account owner first name
        last_name:
          type: string
          title: last_name
          description: EU / SEPA account owner last name
        bank_code:
          type: string
          title: bank_code
          description: |-
            JP Zengin code (format: "XXXX-XXX"), GB sort code, or ZA EFT branch
             code. CA / EFT combines its 3-digit institution number and 5-digit
             transit number into a single "III-TTTTT" string here instead.
        identifier_type:
          type: string
          title: identifier_type
          description: BR / PIX identifier type
        identifier_value:
          type: string
          title: identifier_value
          description: BR / PIX key value
        bank_account_number_type:
          type: string
          title: bank_account_number_type
          description: AR / COELSA account number type (CBU, CVU, ALIAS)
      title: BankAccountDetails
      additionalProperties: false
    bastion.common.Address:
      type: object
      properties:
        street_line_1:
          type: string
          title: street_line_1
          maxLength: 100
          minLength: 3
          description: >-
            Street address line 1. Must not be a PO box, and must be between 3
            and 100 characters inclusive.
        street_line_2:
          type: string
          title: street_line_2
          description: Street address line 2. Must not be a PO box.
        city:
          type: string
          title: city
          maxLength: 50
          minLength: 3
          description: City
        postal_code:
          type: string
          title: postal_code
          maxLength: 20
          description: Postal (zip) code. For US addresses, must be a valid US ZIP format.
        country:
          type: string
          title: country
          description: Two-letter ISO 3166-1 alpha-2 country code, e.g. "US".
        region_code:
          type: string
          title: region_code
          description: >-
            Two-letter subdivision code. For US addresses, must be a valid ISO
            3166-2 US
             subdivision code without the country prefix, e.g. "CA" (not "US-CA").
      title: Address
      required:
        - street_line_1
        - city
        - postal_code
        - country
        - region_code
      additionalProperties: false
  securitySchemes:
    auth:
      type: http
      description: Bearer authentication with an API token
      scheme: bearer

````

## Related topics

- [Stablecoin issuance concepts](/guides/concepts/stablecoin-issuance.md)
- [Redeem Bastion-issued stablecoins from the Dashboard](/guides/dashboard/redeem-bastion-stablecoin.md)
- [Create Virtual Account](/v2/api-reference/virtual-accounts/create-virtual-account.md)
- [Create Account](/v2/api-reference/accounts/create-account.md)
- [Issuance API overview](/v2/api-reference/issuance/overview.md)
