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

# Create an external bank transfer



## OpenAPI

````yaml /swagger.yml post /api/v0/transfers/external-bank-transfer
openapi: 3.0.0
info:
  title: Devdraft AI Payment & Business Management API
  description: >-

    A comprehensive payment processing and business management API that enables
    seamless integration of cryptocurrency and traditional payment methods.
        
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.devdraft.ai
    description: Production Server
security: []
tags: []
paths:
  /api/v0/transfers/external-bank-transfer:
    post:
      tags:
        - Transfers
      summary: Create an external bank transfer
      operationId: TransferController_createExternalBankTransfer
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExternalBankTransferDto'
      responses:
        '201':
          description: The external bank transfer has been successfully created.
        '400':
          description: Bad Request - Invalid input
        '404':
          description: Not Found - Bridge wallet not found
      security:
        - x-client-secret: []
        - x-client-key: []
components:
  schemas:
    CreateExternalBankTransferDto:
      type: object
      properties:
        sourceWalletId:
          type: string
          description: The ID of the source bridge wallet
        sourceCurrency:
          type: string
          description: The source currency
        destinationCurrency:
          type: string
          description: The destination currency
        destinationPaymentRail:
          description: The destination payment rail (fiat payment method)
          allOf:
            - $ref: '#/components/schemas/BridgeFiatPaymentRail'
        external_account_id:
          type: string
          description: The external account ID for the bank transfer
        amount:
          type: number
          description: The amount to transfer
        wire_message:
          type: string
          description: Wire transfer message (1-256 characters, only for wire transfers)
          minLength: 1
          maxLength: 256
        sepa_reference:
          type: string
          description: SEPA reference message (6-140 characters, only for SEPA transfers)
          minLength: 6
          maxLength: 140
        swift_reference:
          type: string
          description: SWIFT reference message (1-190 characters, only for SWIFT transfers)
          minLength: 1
          maxLength: 190
        spei_reference:
          type: string
          description: SPEI reference message (1-40 characters, only for SPEI transfers)
          minLength: 1
          maxLength: 40
        swift_charges:
          type: string
          description: SWIFT charges bearer (only for SWIFT transfers)
        ach_reference:
          type: string
          description: ACH reference message (1-10 characters, only for ACH transfers)
          minLength: 1
          maxLength: 10
      required:
        - sourceWalletId
        - sourceCurrency
        - destinationCurrency
        - destinationPaymentRail
        - external_account_id
    BridgeFiatPaymentRail:
      type: string
      enum:
        - ach
        - ach_push
        - ach_same_day
        - wire
        - sepa
        - swift
        - spei
      description: The destination payment rail (fiat payment method)
  securitySchemes:
    x-client-secret:
      type: apiKey
      in: header
      name: x-client-secret
      description: >-
        Your secret API key. Keep this secure and never expose it in client-side
        code.
    x-client-key:
      type: apiKey
      in: header
      name: x-client-key
      description: Your unique client API key. Obtain this from your Devdraft AI dashboard.

````