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

# Add Bank Account



## OpenAPI

````yaml https://api.coinvoyage.io/v3/openapi.json post /off-ramp/bank-accounts
openapi: 3.1.0
info:
  title: CoinVoyage API (v3)
  description: >-
    CoinVoyage v3 payment API. Unified Intent envelope, snake_case money via the
    Amount shape, and a single SHA-256 signature scheme.
  version: 3.0.0
servers:
  - url: https://api.coinvoyage.io/v3
security: []
paths:
  /off-ramp/bank-accounts:
    post:
      tags:
        - off-ramp
      summary: Add Bank Account
      operationId: v3AddOffRampBankAccount
      parameters:
        - description: >-
            HMAC-SHA256 signature header:
            'APIKey=<api_key>,signature=<hex>,timestamp=<unix_timestamp>'. The
            signature is computed over METHOD + path (with the /v3 prefix
            stripped) + timestamp.
          in: header
          name: Authorization-Signature
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddBankAccountRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankAccountDetails'
          description: Bank account created
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Organization verification not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid request body or validation failed
      security:
        - Authorization: []
components:
  schemas:
    AddBankAccountRequest:
      properties:
        account_name:
          type: string
        account_owner_name:
          type: string
        address:
          $ref: '#/components/schemas/BankAccountAddress'
        bank_name:
          type: string
        account_owner_type:
          $ref: '#/components/schemas/AccountOwnerType'
        first_name:
          type: string
        last_name:
          type: string
        business_name:
          type: string
        currency:
          $ref: '#/components/schemas/BankAccountCurrency'
        account_type:
          $ref: '#/components/schemas/BankAccountType'
        account:
          anyOf:
            - $ref: '#/components/schemas/BankAccount'
            - type: 'null'
        iban:
          anyOf:
            - $ref: '#/components/schemas/IBANBankAccount'
            - type: 'null'
        swift:
          anyOf:
            - $ref: '#/components/schemas/SWIFTBankAccount'
            - type: 'null'
        clabe:
          anyOf:
            - $ref: '#/components/schemas/CLABEBankAccount'
            - type: 'null'
        pix:
          anyOf:
            - $ref: '#/components/schemas/PIXBankAccount'
            - type: 'null'
      required:
        - account_owner_name
        - address
        - bank_name
        - currency
        - account_type
      type: object
    BankAccountDetails:
      properties:
        id:
          type: string
        account_name:
          type:
            - string
            - 'null'
        bank_name:
          type:
            - string
            - 'null'
        account_type:
          $ref: '#/components/schemas/BankAccountType'
        account_owner_type:
          anyOf:
            - $ref: '#/components/schemas/AccountOwnerType'
            - type: 'null'
        account_details:
          $ref: '#/components/schemas/AccountDetails'
        currency:
          $ref: '#/components/schemas/BankAccountCurrency'
        active:
          type: boolean
        beneficiary_address_valid:
          type:
            - boolean
            - 'null'
        deactivation_reason:
          type:
            - string
            - 'null'
        deactivation_details:
          type:
            - string
            - 'null'
      required:
        - id
        - account_type
        - account_details
        - currency
        - active
      type: object
    ErrorResponse:
      example:
        code: 400
        error: Bad Request
        message: Invalid request parameters
      properties:
        error:
          example: Bad Request
          type: string
        message:
          example: Invalid request parameters
          type: string
        code:
          example: 400
          format: int64
          type: integer
        details:
          anyOf:
            - type: string
            - type: number
            - type: object
      required:
        - error
        - message
        - code
      type: object
    BankAccountAddress:
      properties:
        street_line_1:
          type: string
        street_line_2:
          type:
            - string
            - 'null'
        city:
          type: string
        state:
          type:
            - string
            - 'null'
        postal_code:
          type:
            - string
            - 'null'
        country:
          type: string
      required:
        - street_line_1
        - city
        - country
      type: object
    AccountOwnerType:
      description: Whether the bank account owner is an individual or business
      enum:
        - individual
        - business
      type: string
    BankAccountCurrency:
      description: Currency used by the external bank account
      enum:
        - usd
        - eur
        - mxn
        - brl
        - gbp
      type: string
    BankAccountType:
      description: 'Bank account rail: us (ACH), iban, swift, clabe, pix, or gb (FPS)'
      enum:
        - us
        - iban
        - swift
        - clabe
        - pix
        - gb
      type: string
    BankAccount:
      properties:
        account_number:
          type: string
        routing_number:
          type:
            - string
            - 'null'
        sort_code:
          type:
            - string
            - 'null'
        checking_or_savings:
          anyOf:
            - $ref: '#/components/schemas/CheckingOrSavings'
            - type: 'null'
      required:
        - account_number
      type: object
    IBANBankAccount:
      properties:
        account_number:
          type: string
        country:
          type: string
        bic:
          type:
            - string
            - 'null'
      required:
        - account_number
        - country
      type: object
    SWIFTBankAccount:
      properties:
        account:
          $ref: '#/components/schemas/SWIFTAccountInfo'
        address:
          $ref: '#/components/schemas/BankAccountAddress'
        category:
          $ref: '#/components/schemas/SwiftCategory'
        purpose_of_funds:
          items:
            type: string
          type: array
        short_business_description:
          type: string
      required:
        - account
        - address
        - category
        - purpose_of_funds
        - short_business_description
      type: object
    CLABEBankAccount:
      properties:
        account_number:
          type: string
      required:
        - account_number
      type: object
    PIXBankAccount:
      properties:
        document_number:
          type:
            - string
            - 'null'
        pix_key:
          type:
            - string
            - 'null'
        br_code:
          type:
            - string
            - 'null'
      type: object
    AccountDetails:
      properties:
        bank_name:
          type:
            - string
            - 'null'
        routing_number:
          type:
            - string
            - 'null'
        sort_code:
          type:
            - string
            - 'null'
        account_number:
          type: string
        checking_or_savings:
          type:
            - string
            - 'null'
        bic:
          type:
            - string
            - 'null'
        pix_key:
          type:
            - string
            - 'null'
      required:
        - account_number
      type: object
    CheckingOrSavings:
      description: US account subtype for ACH accounts
      enum:
        - checking
        - savings
      type: string
    SWIFTAccountInfo:
      properties:
        account_number:
          type:
            - string
            - 'null'
        country:
          type:
            - string
            - 'null'
        bic:
          type:
            - string
            - 'null'
      type: object
    SwiftCategory:
      description: Relationship category for SWIFT external accounts
      enum:
        - client
        - parent_company
        - subsidiary
        - supplier
      type: string
  securitySchemes:
    Authorization:
      description: >-
        HMAC-SHA256 signature. See the Authorization-Signature header parameter
        on signed operations.
      in: header
      name: Authorization
      type: apiKey

````