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

# Create a Virtual Account

> Create a Virtual Account or Virtual IBAN for the specified customer



## OpenAPI

````yaml https://withbridge-image1-sv-usw2-monorail-openapi.s3.amazonaws.com/latest.json post /customers/{customerID}/virtual_accounts
openapi: 3.0.2
info:
  title: Bridge API
  description: APIs to move into, out of, and between any form of a dollar
  version: '1'
servers:
  - url: https://api.bridge.xyz/v0
    description: The base path for all resources
security:
  - ApiKey: []
tags:
  - name: Customers
  - name: Fiat Payout Configuration
  - name: External Accounts
  - name: Transfers
  - name: Prefunded Accounts
  - name: Balances
  - name: Liquidation Addresses
  - name: Developers
  - name: API Keys
  - name: Plaid
  - name: Virtual Accounts
  - name: Static Memos
  - name: Cards
  - name: Funds Requests
  - name: Webhooks
  - name: Lists
  - name: Crypto Return Policies
  - name: Rewards
  - name: Associated Persons
  - name: Sandbox
paths:
  /customers/{customerID}/virtual_accounts:
    post:
      tags:
        - Virtual Accounts
      summary: Create a Virtual Account
      description: Create a Virtual Account or Virtual IBAN for the specified customer
      parameters:
        - $ref: '#/components/parameters/IdempotencyKeyParameter'
        - $ref: '#/components/parameters/CustomerIDParameter'
      requestBody:
        description: Virtual Account object to be created
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVirtualAccount'
            examples:
              us:
                summary: Virtual Account
                value:
                  developer_fee_percent: '0.1'
                  source:
                    currency: usd
                  destination:
                    currency: usdc
                    payment_rail: base
                    address: '0xdeadbeef'
              us_fee_config_request_only:
                summary: Virtual Account with fee_config (available by request only)
                value:
                  fee_config:
                    source:
                      ach_push:
                        fee_percent: '0.5'
                        minimum_fee: '1.00'
                      wire:
                        fee_amount: '10.00'
                        fee_percent: '1.0'
                  source:
                    currency: usd
                  destination:
                    currency: usdc
                    payment_rail: base
                    address: '0xdeadbeef'
              eu:
                summary: Virtual IBAN
                value:
                  developer_fee_percent: '0.1'
                  source:
                    currency: eu
                  destination:
                    currency: eurc
                    payment_rail: solana
                    adddress: DeAdBeEf
              mx:
                summary: Virtual Account Mexico
                value:
                  developer_fee_percent: '0.1'
                  source:
                    currency: mxn
                  destination:
                    currency: usdc
                    payment_rail: base
                    address: '0xdeadbeef'
              gb:
                summary: Virtual Account United Kingdom (beta)
                value:
                  developer_fee_percent: '0.1'
                  source:
                    currency: gbp
                  destination:
                    currency: usdc
                    payment_rail: base
                    address: '0xdeadbeef'
              co:
                summary: Virtual Account Colombia (Bre-B)
                value:
                  developer_fee_percent: '0.1'
                  source:
                    currency: cop
                  destination:
                    currency: usdc
                    payment_rail: ethereum
                    address: '0xdeadbeef'
      responses:
        '200':
          description: Virtual Account object created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAccountResponse'
              examples:
                us:
                  summary: Virtual Account
                  value:
                    id: 59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1
                    status: activated
                    developer_fee_percent: '0.1'
                    source_deposit_instructions:
                      currency: usd
                      payment_rails:
                        - ach_push
                        - fednow
                        - wire
                      bank_name: Lead Bank
                      bank_address: 1801 Main St., Kansas City, MO 64108
                      bank_beneficiary_name": Customer Name
                      bank_beneficiary_address": 1234 Main St., Kansas City, MO 64108
                      bank_account_number": '123456789'
                      bank_routing_number": '87654321'
                    destination:
                      currency: usdc
                      payment_rail: polygon
                      address: '0xdeadbeef'
                us_fee_config_request_only:
                  summary: Virtual Account with fee_config (available by request only)
                  value:
                    id: 59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1
                    status: activated
                    developer_fee_percent: '0.0'
                    fee_config:
                      source:
                        ach_push:
                          fee_percent: '0.5'
                          minimum_fee: '1.00'
                        fednow:
                          fee_percent: '1.0'
                          minimum_fee: '1.00'
                        wire:
                          fee_amount: '10.00'
                          fee_percent: '1.0'
                    source_deposit_instructions:
                      currency: usd
                      payment_rails:
                        - ach_push
                        - fednow
                        - wire
                      bank_name: Lead Bank
                      bank_address: 1801 Main St., Kansas City, MO 64108
                      bank_beneficiary_name": Customer Name
                      bank_beneficiary_address": 1234 Main St., Kansas City, MO 64108
                      bank_account_number": '123456789'
                      bank_routing_number": '87654321'
                    destination:
                      currency: usdc
                      payment_rail: polygon
                      address: '0xdeadbeef'
                eu:
                  summary: Virtual IBAN
                  value:
                    id: 59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1
                    status: activated
                    developer_fee_percent: '0.1'
                    source_deposit_instructions:
                      currency: eur
                      payment_rails:
                        - sepa
                      iban: X6099
                      bic: BCIRLULL
                      account_holder_name: Bridge Building Sp. Z.o.o.
                      bank_name: Banking Circle S.A.
                      bank_address: 2 Boulevard de la Foire, L-1528 Luxembourg
                    destination:
                      currency: eurc
                      payment_rail: solana
                      address: DeAdBeEf
                mx:
                  summary: Virtual Account Mexico
                  value:
                    id: 59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1
                    status: activated
                    developer_fee_percent: '0.1'
                    source_deposit_instructions:
                      currency: mxn
                      payment_rails:
                        - spei
                      bank_name: Banco Azteca
                      bank_address: >-
                        Av. Aztecas 215, Santa Cruz Acatlán, Naucalpan de
                        Juárez, Estado de México
                      bank_beneficiary_name: Customer Name
                      bank_beneficiary_address: Calle Ejemplo 123, Ciudad de México, CDMX 01234
                      bank_account_number: '1234567890123456789'
                      clabe: '127180001234567890'
                    destination:
                      currency: usdc
                      payment_rail: solana
                      address: DeAdBeEf
                gb:
                  summary: Virtual Account United Kingdom (beta)
                  value:
                    id: 2ecad10b-f44b-4ffa-8c53-39a6b63ab9ab
                    status: activated
                    developer_fee_percent: '0.1'
                    source_deposit_instructions:
                      currency: gbp
                      payment_rails:
                        - faster_payments
                      account_number: '01234567'
                      sort_code: '987654'
                      bank_name: Banking Circle S.A.
                      bank_address: 2 Boulevard de la Foire, L-1528 Luxembourg
                      bank_benficiary_name: Bridge Building Sp. Z.o.o.
                      bank_benficiary_address: 2 Boulevard de la Foire, L-1528 Luxembourg
                      account_holder_name: Bridge Building Sp. Z.o.o.
                co:
                  summary: Virtual Account Colombia (Bre-B)
                  value:
                    id: 59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1
                    status: activated
                    developer_fee_percent: '0.1'
                    source_deposit_instructions:
                      currency: cop
                      payment_rails:
                        - bre_b
                      bre_b_key: '12345678901234567890'
                      account_holder_name: Bridge Developer Name
                      deposit_message: COP7depositmessage
                    destination:
                      currency: usdc
                      payment_rail: ethereum
                      address: '0xdeadbeef'
components:
  parameters:
    IdempotencyKeyParameter:
      in: header
      name: Idempotency-Key
      required: true
      schema:
        type: string
    CustomerIDParameter:
      name: customerID
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
  schemas:
    CreateVirtualAccount:
      required:
        - source
        - destination
      properties:
        developer_fee_percent:
          $ref: '#/components/schemas/VirtualAccountDeveloperFeePercent'
        fee_config:
          description: >-
            Developer fee configuration. Available by request only. Contact
            Bridge to enable this feature for your developer account. Cannot be
            provided alongside `developer_fee_percent` in the same request.
          allOf:
            - $ref: '#/components/schemas/FeeConfigRequest'
        source:
          $ref: '#/components/schemas/VirtualAccountSourceInput'
        destination:
          $ref: '#/components/schemas/VirtualAccountDestination'
        travel_rule_data:
          description: >-
            Travel Rule data for this virtual account. Use this only when the
            same originator or beneficiary should apply to every future movement
            through this virtual account. If counterparties can vary by event,
            submit the payload later with `POST /travel_rule_data/{id}` for the
            relevant event or resource.
          allOf:
            - $ref: '#/components/schemas/TravelRuleData'
    VirtualAccountResponse:
      properties:
        id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        status:
          $ref: '#/components/schemas/VirtualAccountActivationStatus'
        developer_fee_percent:
          $ref: '#/components/schemas/VirtualAccountDeveloperFeePercent'
        fee_config:
          description: >-
            Developer fee configuration. Available by request only and returned
            only for developers with this feature enabled.
          allOf:
            - $ref: '#/components/schemas/FeeConfigResponse'
        customer_id:
          $ref: '#/components/schemas/Id'
        created_at:
          readOnly: true
          type: string
          description: Time of creation of the virtual account
          format: date-time
        source_deposit_instructions:
          $ref: '#/components/schemas/VirtualAccountSourceDepositInstructions'
        destination:
          $ref: '#/components/schemas/VirtualAccountDestination'
    Id:
      description: A UUID that uniquely identifies a resource
      type: string
      pattern: '[a-z0-9]*'
      minLength: 1
      maxLength: 42
    VirtualAccountDeveloperFeePercent:
      description: >-
        The developer fee percent that will be applied to this Virtual Account.
        The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.
      type: string
      format: number
      minimum: 0
      maximum: 100
      exclusiveMaximum: true
      example: '0.1'
    FeeConfigRequest:
      description: >-
        Developer fee configuration. Available by request only. Contact Bridge
        to enable this feature for your developer account. The `source` object
        supports direct fee parameters as a shorthand for a default fee, an
        explicit `default` key, payment-rail keys (e.g. `ach_push`, `wire`), or
        a mixed default-plus-override form.
      type: object
      properties:
        source:
          description: >-
            Source-side fee configuration. Supports direct fee params under
            `source`, an explicit `default` key, payment-rail keys such as
            `ach_push` and `wire`, or a mixed default-plus-override form.
          anyOf:
            - $ref: '#/components/schemas/FeeConfigFeeParams'
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/FeeConfigFeeParams'
          example:
            fee_percent: '0.5'
            minimum_fee: '1.00'
            wire:
              fee_amount: '10.00'
              fee_percent: '1.0'
    VirtualAccountSourceInput:
      required:
        - currency
      properties:
        currency:
          $ref: '#/components/schemas/EuroInclusiveFiatCurrency'
      example:
        currency: usd
    VirtualAccountDestination:
      required:
        - currency
        - payment_rail
      properties:
        currency:
          $ref: '#/components/schemas/CryptoCurrency'
        payment_rail:
          $ref: '#/components/schemas/OfframpChain'
        address:
          description: >-
            The crypto wallet address that the customer wishes to ultimately
            receive funds at
          type: string
        blockchain_memo:
          type: string
          description: >-
            The memo to include when sending funds on chain. Only allowed for
            blockchains that support memos such as Stellar
        bridge_wallet_id:
          $ref: '#/components/schemas/Id'
          description: >-
            The Bridge Wallet to which Bridge will send the funds. The chain
            associated with the Bridge Wallet must match the payment rail.
        prefunded_account_id:
          $ref: '#/components/schemas/Id'
          description: >-
            The id of the prefunded account to which the funds will be sent. Use
            'prefunded' as the payment rail and 'usd' as the currency when
            specifying a prefunded account id.
      example:
        currency: usdc
        payment_rail: polygon
        address: '0xdeadbeef'
    TravelRuleData:
      type: object
      description: >-
        Travel Rule data for a crypto movement. Send this on create or update
        when the same counterparty should apply to every future use of a
        reusable resource, or send the same payload with `POST
        /travel_rule_data/{id}` when it belongs to one specific movement.
      properties:
        originator:
          description: The party sending the crypto.
          allOf:
            - $ref: '#/components/schemas/TravelRuleOriginator'
        beneficiary:
          description: The party receiving the crypto.
          allOf:
            - $ref: '#/components/schemas/TravelRuleBeneficiary'
      example:
        originator:
          name: Jane Smith
          address:
            street_line_1: 123 Market St
            street_line_2: null
            city: San Francisco
            state: CA
            postal_code: '94105'
            country: USA
          identifying_information:
            type: national_id
            number: '1234567890'
            issuing_country: USA
          birth_date: '2000-01-31'
          place_of_birth:
            city: San Francisco
            country: USA
          wallet_type: self_custodied
          wallet_attested_ownership_at: '2026-04-01T12:00:00Z'
        beneficiary:
          is_self: true
          wallet_type: external
    VirtualAccountActivationStatus:
      description: The activation status of the Virtual Account
      type: string
      enum:
        - activated
        - deactivated
    FeeConfigResponse:
      description: >-
        Developer fee configuration. Available by request only. Contact Bridge
        to enable this feature for your developer account. Responses render
        source-side fees keyed by payment rail, using `default` for a catch-all
        configuration.
      type: object
      properties:
        source:
          description: Source-side fee configuration keyed by payment rail or `default`
          type: object
          additionalProperties:
            $ref: '#/components/schemas/FeeConfigFeeParams'
          example:
            default:
              fee_percent: '0.5'
              minimum_fee: '1.00'
            wire:
              fee_amount: '10.00'
              fee_percent: '1.0'
    VirtualAccountSourceDepositInstructions:
      title: Source Deposit Instructions
      readOnly: true
      oneOf:
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsUs'
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsEu'
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsMx'
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsBr'
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsGb'
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCo'
    FeeConfigFeeParams:
      description: Fee parameters for a specific payment rail or default configuration
      type: object
      properties:
        fee_percent:
          description: >-
            Percentage fee (0-100, exclusive). Applied to the amount remaining
            after any flat fee deduction.
          type: string
          format: number
          example: '1.5'
        fee_amount:
          description: Flat fee amount deducted before percentage calculation
          type: string
          format: number
          example: '10.00'
        minimum_fee:
          description: Minimum total fee floor
          type: string
          format: number
          example: '1.00'
        maximum_fee:
          description: Maximum total fee cap
          type: string
          format: number
          example: '1000.00'
    EuroInclusiveFiatCurrency:
      type: string
      enum:
        - usd
        - eur
        - mxn
        - brl
        - cop
        - gbp
    CryptoCurrency:
      type: string
      enum:
        - usdb
        - usdc
        - usdt
        - pyusd
        - eurc
    OfframpChain:
      type: string
      enum:
        - arbitrum
        - avalanche_c_chain
        - base
        - celo
        - ethereum
        - optimism
        - polygon
        - solana
        - stellar
        - tempo
        - tron
    TravelRuleOriginator:
      type: object
      description: Travel Rule details for originator crypto movement.
      properties:
        is_self:
          $ref: '#/components/schemas/TravelRuleIsSelf'
        name:
          $ref: '#/components/schemas/TravelRuleName'
        address:
          description: >-
            Mailing or legal address of the originator. Usually omitted when
            `is_self` is `true`.
          allOf:
            - $ref: '#/components/schemas/TravelRuleAddress'
        wallet_type:
          $ref: '#/components/schemas/TravelRuleWalletType'
        wallet_attested_ownership_at:
          $ref: '#/components/schemas/TravelRuleWalletAttestedOwnershipAt'
        identifying_information:
          allOf:
            - $ref: '#/components/schemas/IdentifyingInformation'
          description: >
            List of identification objects for the originator. Do **not**
            include `image_front` or `image_back` fields in this context; those
            are not accepted in Travel Rule submissions.
        birth_date:
          type: string
          description: Date of birth in format yyyy-mm-dd.
          minLength: 10
          maxLength: 10
        place_of_birth:
          $ref: '#/components/schemas/PlaceOfBirthInput'
        legal_entity_identifier:
          type: string
          description: >-
            The Legal Entity Identifier (LEI) or equivalent (e.g. VAT number) of
            the originator. Provide this when the originator is a legal entity
            rather than an individual.
    TravelRuleBeneficiary:
      type: object
      description: Travel Rule details for beneficiary crypto movement.
      properties:
        is_self:
          $ref: '#/components/schemas/TravelRuleIsSelf'
        name:
          $ref: '#/components/schemas/TravelRuleName'
        address:
          description: >-
            Mailing or legal address of the beneficiary. Usually omitted when
            `is_self` is `true`.
          allOf:
            - $ref: '#/components/schemas/TravelRuleAddress'
        wallet_type:
          $ref: '#/components/schemas/TravelRuleWalletType'
        wallet_attested_ownership_at:
          $ref: '#/components/schemas/TravelRuleWalletAttestedOwnershipAt'
        legal_entity_identifier:
          type: string
          description: >-
            The Legal Entity Identifier (LEI) or equivalent (e.g. VAT number) of
            the beneficiary. Provide this when the beneficiary is a legal entity
            rather than an individual.
    VirtualAccountSourceDepositInstructionsUs:
      title: Virtual Account US
      allOf:
        - type: object
          required:
            - currency
            - payment_rails
            - bank_account_number
            - bank_routing_number
            - bank_beneficiary_name
            - bank_beneficiary_address
          properties:
            bank_account_number:
              description: >-
                The account number of the bank that the customer should send the
                deposit to
              type: string
            bank_routing_number:
              description: >-
                The routing number of the bank that the customer should send the
                deposit to
              type: string
            bank_beneficiary_name:
              description: >-
                If available, the name of the beneficiary of the bank account
                that the customer should send the deposit to
              type: string
            bank_beneficiary_address:
              description: >-
                If available, the address of the beneficiary of the bank account
                that the customer should send the deposit to
              type: string
            currency:
              type: string
              enum:
                - usd
            payment_rail:
              $ref: '#/components/schemas/VirtualAccountSourcePaymentRails'
              deprecated: true
            payment_rails:
              description: The payment rails supported by these deposit instructions
              type: array
              items:
                type: string
                enum:
                  - ach_push
                  - fednow
                  - wire
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
      example:
        currency: usd
        payment_rails:
          - ach_push
          - fednow
          - wire
        bank_name: Lead Bank
        bank_address: 1801 Main St., Kansas City, MO 64108
        bank_beneficiary_name: Customer Name
        bank_beneficiary_address: 1234 Main St., Kansas City, MO 64108
        bank_account_number: '123456789'
        bank_routing_number: '87654321'
    VirtualAccountSourceDepositInstructionsEu:
      title: Virtual IBAN
      allOf:
        - type: object
          required:
            - iban
            - bic
            - account_holder_name
            - currency
            - payment_rails
          properties:
            iban:
              description: >-
                he IBAN of the account that the customer should send the deposit
                to
              type: string
            bic:
              description: The BIC of the bank that the customer should send the deposit to
              type: string
            account_holder_name:
              $ref: '#/components/schemas/AccountHolderName'
            currency:
              type: string
              enum:
                - eur
            payment_rails:
              type: string
              enum:
                - sepa
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
    VirtualAccountSourceDepositInstructionsMx:
      title: Virtual Account MX
      allOf:
        - type: object
          required:
            - currency
            - payment_rails
            - account_holder_name
            - clabe
          properties:
            clabe:
              description: >-
                The CLABE (account number) of the account that the customer
                should send the deposit to
              type: string
            account_holder_name:
              $ref: '#/components/schemas/AccountHolderName'
            currency:
              type: string
              enum:
                - mxn
            payment_rails:
              description: The payment rails supported by these deposit instructions
              type: array
              items:
                type: string
                enum:
                  - spei
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
    VirtualAccountSourceDepositInstructionsBr:
      title: Virtual Account BR
      allOf:
        - type: object
          required:
            - currency
            - payment_rails
            - br_code
            - account_holder_name
          properties:
            br_code:
              description: The BR Code that the customer should send the deposit to
              type: string
            account_holder_name:
              $ref: '#/components/schemas/AccountHolderName'
            currency:
              type: string
              enum:
                - brl
            payment_rails:
              description: The payment rails supported by these deposit instructions
              type: array
              items:
                type: string
                enum:
                  - pix
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
    VirtualAccountSourceDepositInstructionsGb:
      title: Virtual Account UK
      allOf:
        - $ref: '#/components/schemas/GbBankAccountVirtualAccount'
        - type: object
          required:
            - currency
            - payment_rails
            - account_holder_name
          properties:
            account_holder_name:
              $ref: '#/components/schemas/AccountHolderName'
            currency:
              type: string
              enum:
                - gbp
            payment_rails:
              type: string
              enum:
                - faster_payments
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
    VirtualAccountSourceDepositInstructionsCo:
      title: Virtual Account CO (Bre-B)
      allOf:
        - type: object
          required:
            - currency
            - payment_rails
            - bre_b_key
            - account_holder_name
          properties:
            bre_b_key:
              description: >-
                The Bre-B key of the Colombian bank account for receiving COP
                deposits
              type: string
            account_holder_name:
              $ref: '#/components/schemas/AccountHolderName'
            deposit_message:
              description: The reference message to include with the COP deposit
              type: string
            currency:
              type: string
              enum:
                - cop
            payment_rails:
              description: The payment rails supported by these deposit instructions
              type: array
              items:
                type: string
                enum:
                  - bre_b
        - $ref: '#/components/schemas/VirtualAccountSourceDepositInstructionsCommon'
    TravelRuleIsSelf:
      type: boolean
      description: >-
        Set to `true` when this party is the same person or business as the
        Bridge customer on the resource. When `true`, Bridge uses the customer's
        name and address on file instead of relying on `name` and `address` in
        this payload.
    TravelRuleName:
      type: string
      description: >-
        Legal name of the originator or beneficiary. Usually omitted when
        `is_self` is `true`.
    TravelRuleAddress:
      type: object
      description: >-
        Address for travel rule submissions. All fields are optional to support
        partial address data (e.g. country-only).
      properties:
        street_line_1:
          type: string
        street_line_2:
          type: string
        city:
          type: string
        state:
          type: string
          description: ISO 3166-2 subdivision code.
        postal_code:
          type: string
        country:
          description: Three-letter alpha-3 country code as defined in the ISO 3166-1 spec.
          type: string
          minLength: 3
          maxLength: 3
    TravelRuleWalletType:
      type: string
      description: >-
        Indicates the custody model for the wallet. Use `self_custodied` for
        customer-owned wallets (customer controls private keys), `hosted` for
        wallets managed by a developer or regulated entity on behalf of the
        customer, or `external` for wallets belonging to external exchanges or
        smart contracts.
      enum:
        - hosted
        - external
        - self_custodied
    TravelRuleWalletAttestedOwnershipAt:
      type: string
      format: date-time
      description: >-
        Required when `wallet_type` is `self-custodied` or `hosted`. Must be a
        timestamp in the past indicating when wallet ownership was attested.
    IdentifyingInformation:
      writeOnly: true
      type: array
      title: Identification Information
      items:
        type: object
        required:
          - issuing_country
          - type
        properties:
          type:
            type: string
            description: >
              Tax identification number type or government-issued ID document
              type (see enum). Country-specific tax and national ID lists:
              [Individuals](https://apidocs.bridge.xyz/docs/individual-tax-identification-numbers-by-country),
              [Businesses](https://apidocs.bridge.xyz/docs/business-tax-identification-numbers-by-country).


              **EEA / BBSA (policy in `eea_requirements.rb`):** In-scope
              individuals and UBOs need **both** a valid national-ID-type entry
              and a valid TIN per [EEA updated
              requirements](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements).
              In-scope businesses need business registration **and** business
              tax ID types per country tables there. **TIN issuing country**
              must match residence (individuals) or incorporation (businesses).
              **Foreign tax** outside the incorporation country: set
              `has_foreign_tax_registration` on the business customer and add
              TIN objects per jurisdiction ([foreign tax / tax
              residency](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements#tax-residency-status-foreign-tax-registry)).
            enum:
              - drivers_license
              - matriculate_id
              - military_id
              - national_id
              - passport
              - permanent_residency_id
              - state_or_provincial_id
              - visa
              - abn
              - acn
              - ahv
              - ak
              - aom
              - arbn
              - avs
              - bc
              - bce
              - bin
              - bir
              - bp
              - brn
              - bsn
              - bvn
              - cc
              - cdi
              - cedula_juridica
              - cf
              - cif
              - cin
              - cipc
              - cn
              - cnp
              - cnpj
              - cpf
              - cpr
              - crc
              - crib
              - crn
              - cro
              - cui
              - cuil
              - curp
              - cuit
              - cvr
              - edrpou
              - ein
              - embg
              - emirates_id
              - en
              - fin
              - fn
              - gstin
              - gui
              - hetu
              - hkid
              - hn
              - ic
              - ico
              - id
              - id_broj
              - idno
              - idnp
              - idnr
              - if
              - iin
              - ik
              - inn
              - ird
              - itin
              - itr
              - iva
              - jmbg
              - kbo
              - kvk
              - matricule
              - mf
              - mn
              - ms
              - mst
              - nic
              - nicn
              - nie
              - nif
              - nin
              - nino
              - nip
              - nipc
              - nipt
              - nit
              - npwp
              - nric
              - nrn
              - nrt
              - ntn
              - nuit
              - nzbn
              - oib
              - orgnr
              - other
              - pan
              - partita_iva
              - pesel
              - pib
              - pin
              - pk
              - ppsn
              - qid
              - rc
              - regon
              - rfc
              - ricn
              - rif
              - rn
              - rnc
              - rnokpp
              - rp
              - rrn
              - rtn
              - ruc
              - rut
              - si
              - sin
              - siren
              - siret
              - spi
              - ssm
              - ssn
              - steuer_id
              - strn
              - tckn
              - tfn
              - tin
              - tpin
              - trn
              - ucn
              - uen
              - uic
              - uid
              - usc
              - ust_idnr
              - utr
              - vat
              - vkn
              - voen
              - y_tunnus
          issuing_country:
            type: string
            description: >-
              The ISO 3166-1 (three-character) country code that issued the
              provided document.
          number:
            type: string
            description: >-
              The unique identifier of the document. Required if this document
              is being used as a tax identification number (e.g., you are
              providing a passport or national_id with no other identification).
          description:
            type: string
            description: >-
              A description describing the provided document. This field is
              required when `other` is selected.
          expiration:
            type: string
            description: The expiration date of the given document in yyyy-mm-dd format.
          image_front:
            type: string
            description: >
              This field is optionally accepted for tax_id types, but required
              for government_id types. Base64 encoded image* of the front side
              of the provided document, following the data-uri scheme i.e.
              data:image/[type];base64,[base_64_encoded_file_contents], with a
              minimum size of 200px x 200px \n\n*Maximum File Size:
              15MB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif


              _Note: When combined with an `image_back`, the combined size of
              both images must not exceed 24MB._
          image_back:
            type: string
            description: >
              Base64 encoded image* of the back side of the provided document,
              following the data-uri scheme i.e.
              data:image/[type];base64,[base_64_encoded_file_contents], with a
              minimum size of 200px x 200px \n\n*Maximum File Size:
              15MB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif


              _Note: When combined with an `image_front`, the combined size of
              both images must not exceed 24MB._
    PlaceOfBirthInput:
      type: object
      description: >
        Country (and optionally city) of birth. **EEA / BBSA in-scope
        customers:** supply when onboarding individuals or associated persons
        under the [EEA updated
        requirements](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements#country-of-birth-and-city-of-birth).
        This is a sparse address — no street address. At least `country` should
        be present when the object is sent; `city` is recommended and will be
        required by EU law in 2027.
      properties:
        country:
          type: string
          minLength: 3
          maxLength: 3
          description: ISO 3166-1 alpha-3 country code for the place of birth.
        city:
          type: string
          minLength: 1
          description: City of birth (recommended for EEA).
    VirtualAccountSourcePaymentRails:
      type: string
      enum:
        - ach_push
        - bre_b
        - faster_payments
        - pix
        - sepa
        - spei
        - wire
    VirtualAccountSourceDepositInstructionsCommon:
      readOnly: true
      type: object
      required:
        - bank_address
        - bank_name
      properties:
        bank_name:
          description: The name of the bank that the customer should send the deposit to
          type: string
        bank_address:
          description: The address of the bank that the customer should send the deposit to
          type: string
    AccountHolderName:
      type: string
      description: The name of the account owner that the deposit must be sent to.
    GbBankAccountVirtualAccount:
      title: gb
      type: object
      required:
        - account_number
        - sort_code
      properties:
        account_number:
          type: string
          description: The bank account number
          minLength: 8
          maxLength: 8
          example: 12345678
        sort_code:
          type: string
          description: The sort code, without hyphens
          minLength: 6
          maxLength: 6
          example: 123456
  securitySchemes:
    ApiKey:
      type: apiKey
      name: Api-Key
      in: header

````