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

# Create a wire bank account

> Create a bank account for wire transfers.



## OpenAPI

````yaml openapi/accounts.yaml post /v1/banks/wires
openapi: 3.0.2
info:
  version: 1.0.0
  title: Accounts (Stablecoin) API
  description: >
    Circle's Accounts API provides endpoints for managing stablecoin accounts --
    including transfers,

    withdrawals, deposits, wire bank accounts, and blockchain addresses.


    An **Account** is a general representation of a ledger or custody object
    that holds balances. It can be a business account,

    a stablecoin account ledger for an end user, an extra sub-ledger, or any
    future custody solution.
  license:
    name: Circle License
    url: https://circle.com/terms
servers:
  - url: https://api-sandbox.circle.com
  - url: https://api.circle.com
security: []
tags:
  - name: Accounts
    description: Manage accounts.
  - name: Account Groups
    description: Manage custody account groups and their memberships.
  - name: Transactions
    description: |
      Get a unified, customer-friendly view of account transaction activity.
  - name: Transfers
    description: Manage account transfers.
  - name: Withdrawals
    description: Manage account bank withdrawals (fiat offramp).
  - name: Wires
    description: Manage account bank accounts for wire transfers.
  - name: Deposits
    description: Get information on account bank deposits.
  - name: Deposit Addresses
    description: Manage account deposit addresses.
  - name: Recipient Addresses
    description: Manage account recipient addresses used for transfers.
paths:
  /v1/banks/wires:
    post:
      tags:
        - Wires
      summary: Create a wire bank account
      description: Create a bank account for wire transfers.
      operationId: createWireAccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountWireCreationRequest'
      responses:
        '200':
          description: Successfully created a bank account for wire transfers.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountWireAccountResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    AccountWireCreationRequest:
      description: >-
        Request object used to create a bank account for wire transfers. Wraps
        the standard wire creation request with an optional clientEntityId for
        3rd-party flows.
      type: object
      properties:
        clientEntityId:
          description: Identifier of the client entity. Required for 3rd-party flows.
          type: string
          format: uuid
          example: a3f1b2c4-d5e6-7890-abcd-ef1234567890
      allOf:
        - oneOf:
            - $ref: '#/components/schemas/WireCreationRequestUs'
            - $ref: '#/components/schemas/WireCreationRequestIban'
            - $ref: '#/components/schemas/WireCreationRequestAccountNumber'
    CreateAccountWireAccountResponse:
      title: CreateAccountWireAccountResponse
      properties:
        data:
          $ref: '#/components/schemas/WireSummary'
    WireCreationRequestUs:
      type: object
      title: US Bank Account
      description: Relevant fields for U.S. bank accounts.
      required:
        - idempotencyKey
        - accountNumber
        - routingNumber
        - billingDetails
        - bankAddress
      properties:
        idempotencyKey:
          $ref: '#/components/schemas/IdempotencyKey'
        accountNumber:
          description: Account number that identifies the bank account.
          type: string
          example: '12340010'
          minLength: 6
          maxLength: 35
        routingNumber:
          description: ABA routing number for the bank account.
          type: string
          example: '121000248'
        billingDetails:
          $ref: '#/components/schemas/BillingDetails'
        bankAddress:
          $ref: '#/components/schemas/BankAddress'
    WireCreationRequestIban:
      type: object
      title: Non US Bank Account - IBAN Supported
      description: Relevant fields for non-U.S. bank accounts that support IBAN.
      required:
        - idempotencyKey
        - iban
        - billingDetails
        - bankAddress
      properties:
        idempotencyKey:
          $ref: '#/components/schemas/IdempotencyKey'
        iban:
          description: International Bank Account Number (IBAN) for the bank account.
          type: string
          example: DE31100400480532013000
        billingDetails:
          $ref: '#/components/schemas/BillingDetails'
        bankAddress:
          $ref: '#/components/schemas/BankAddress'
    WireCreationRequestAccountNumber:
      type: object
      title: Non US Bank Account - IBAN Not Supported
      description: Relevant fields for non-U.S. banks that do NOT support IBAN.
      required:
        - idempotencyKey
        - accountNumber
        - routingNumber
        - billingDetails
        - bankAddress
      properties:
        idempotencyKey:
          $ref: '#/components/schemas/IdempotencyKey'
        accountNumber:
          description: Account number that identifies the bank account.
          type: string
          example: '0321800123'
          minLength: 6
          maxLength: 35
        routingNumber:
          description: The bank's SWIFT / BIC code.
          type: string
          example: SBININBB354
        billingDetails:
          $ref: '#/components/schemas/BillingDetails'
        bankAddress:
          $ref: '#/components/schemas/BankAddress'
    XRequestId:
      type: string
      format: uuid
      example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
    WireSummary:
      type: object
      description: |
        A wire bank account summary.
      required:
        - id
        - status
        - description
        - trackingRef
        - fingerprint
        - billingDetails
        - createDate
        - updateDate
      properties:
        id:
          $ref: '#/components/schemas/Id'
        type:
          type: string
          example: wire
        status:
          $ref: '#/components/schemas/ExternalFiatAccountStatus'
        description:
          type: string
          description: Bank name plus last four digits of the bank account number or IBAN.
          example: WELLS FARGO BANK, NA ****0010
        trackingRef:
          type: string
          description: >-
            Wire reference number that needs to be set in the wire reference
            field when sending the wire.
        fingerprint:
          $ref: '#/components/schemas/Fingerprint'
        billingDetails:
          $ref: '#/components/schemas/BillingDetails'
        bankAddress:
          $ref: '#/components/schemas/BankAddress'
        virtualAccountEnabled:
          type: boolean
          example: false
        ffcMemo:
          type: string
          nullable: true
          description: Free-form memo field for the wire.
        createDate:
          $ref: '#/components/schemas/UtcTimestamp'
        updateDate:
          $ref: '#/components/schemas/UtcTimestamp'
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          example: 400
        message:
          type: string
          example: Something went wrong.
    IdempotencyKey:
      type: string
      description: >-
        Universally unique identifier (UUID v4) idempotency key. This key is
        utilized to ensure exactly-once execution of mutating requests.
      format: uuid
      example: ba943ff1-ca16-49b2-ba55-1057e70ca5c7
    BillingDetails:
      type: object
      required:
        - name
        - city
        - country
        - line1
        - postalCode
      properties:
        name:
          type: string
          description: Full name of the card or bank account holder.
          maxLength: 1024
          example: Satoshi Nakamoto
        city:
          type: string
          description: City portion of the address.
          maxLength: 1024
          example: Boston
        country:
          type: string
          description: Country portion of the address. ISO 3166-1 alpha-2.
          maxLength: 2
          example: US
        line1:
          type: string
          description: Line one of the street address.
          maxLength: 1024
          example: 100 Money Street
        line2:
          type: string
          description: Line two of the street address.
          maxLength: 1024
          example: Suite 1
        district:
          description: State / County / Province / Region portion of the address.
          type: string
          maxLength: 16
          example: MA
        postalCode:
          type: string
          description: Postal / ZIP code of the address.
          maxLength: 16
          example: '01234'
        valid:
          type: boolean
          description: Whether the billing details have been validated.
    BankAddress:
      type: object
      description: >-
        The address details for the bank, as provided during bank account
        creation.
      required:
        - country
      properties:
        bankName:
          type: string
          maxLength: 35
          example: SAN FRANCISCO
        city:
          type: string
          maxLength: 35
          example: SAN FRANCISCO
        country:
          type: string
          description: Country portion of the address. ISO 3166-1 alpha-2.
          maxLength: 2
          example: US
        line1:
          type: string
          maxLength: 35
          example: 100 Money Street
        line2:
          type: string
          maxLength: 35
          example: Suite 1
        district:
          type: string
          maxLength: 16
          example: CA
    Id:
      type: string
      description: Unique system-generated identifier for the entity.
      format: uuid
      example: b8627ae8-732b-4d25-b947-1df8f4007a29
    ExternalFiatAccountStatus:
      description: Status of the account.
      type: string
      enum:
        - pending
        - complete
        - failed
    Fingerprint:
      type: string
      description: A UUID that uniquely identifies the account number.
      example: eb170539-9e1c-4e92-bf4f-1d09534fdca2
    UtcTimestamp:
      type: string
      description: ISO-8601 UTC date/time format.
      example: '2020-04-10T02:13:30.000Z'
  headers:
    XRequestId:
      description: >
        Circle-generated universally unique identifier (UUID v4). Useful for
        identifying a specific request when communicating with Circle Support.
      schema:
        $ref: '#/components/schemas/XRequestId'
  responses:
    BadRequest:
      description: The request cannot be processed due to a client error.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 400
            message: Bad request.
    NotAuthorized:
      description: >-
        The request has not been applied because it lacks valid authentication
        credentials.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 401
            message: Malformed authorization.
    InternalServerError:
      description: >-
        The server encountered an unexpected condition that prevented it from
        fulfilling the request.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: -1
            message: 'Something went wrong. errId: 1f0b0c455e40f753f07b4f0ae6abd4b4'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````