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

# Create Bulk Payment Batches

Create bulk payment batches from validated payment data.


## OpenAPI

````yaml POST /api/v3/dashboard/bulk-payments/api/batches/create
openapi: 3.0.0
info:
  title: KOTANI PAY API PLATFORM
  description: ''
  version: '3.0'
  contact: {}
servers:
  - url: https://preview.kotanipay.com
security: []
tags: []
paths:
  /api/v3/dashboard/bulk-payments/api/batches/create:
    post:
      tags:
        - API Bulk Payments
      summary: Create bulk payment batches
      operationId: ApiBulkPaymentsController_createBatches_api/v3
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBulkPaymentRequestDto'
      responses:
        '201':
          description: Created bulk payment batch
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BulkPaymentBatchResponseDto'
      security:
        - bearer: []
components:
  schemas:
    CreateBulkPaymentRequestDto:
      type: object
      properties:
        batchName:
          type: string
          description: Batch name
        batchDescription:
          type: string
          description: Batch description
        recipients:
          description: Recipients list
          type: array
          items:
            $ref: '#/components/schemas/BulkPaymentRecipientDto'
        walletSelections:
          description: Currency wallet selections
          type: array
          items:
            $ref: '#/components/schemas/CurrencyWalletSelectionDto'
        callbackUrl:
          type: string
          description: Callback URL for notifications
        integratorId:
          type: string
          description: For admin use - integrator ID
      required:
        - batchName
        - recipients
        - walletSelections
    BulkPaymentBatchResponseDto:
      type: object
      properties:
        id:
          type: string
          description: Batch ID
        batchName:
          type: string
          description: Batch name
        status:
          type: string
          description: Batch status
        totalAmount:
          type: number
          description: Total amount
        totalPayments:
          type: number
          description: Total payments count
        successfulPayments:
          type: number
          description: Successful payments count
        failedPayments:
          type: number
          description: Failed payments count
        createdAt:
          format: date-time
          type: string
          description: Created date
        progress:
          description: Progress tracking
          type: array
          items:
            $ref: '#/components/schemas/BulkPaymentProgressDto'
      required:
        - id
        - batchName
        - status
        - totalAmount
        - totalPayments
        - successfulPayments
        - failedPayments
        - createdAt
        - progress
    BulkPaymentRecipientDto:
      type: object
      properties:
        recipientName:
          type: string
          description: Recipient full name
        recipientEmail:
          type: string
          description: Recipient email address
        recipientPhone:
          type: string
          description: Recipient phone number
        amount:
          type: number
          description: Payment amount
        currency:
          type: string
          description: Payment currency
          enum:
            - KES
            - GHS
            - NGN
            - ZAR
            - ZAR
            - USD
            - XOF
            - ZMW
            - XAF
            - SLE
            - CDF
            - TZS
            - UGX
            - EGP
            - MWK
            - RWF
            - ETB
            - MZN
            - LSL
            - GNF
            - USDT
            - BTC
            - ETH
            - USDC
        reference:
          type: string
          description: Unique payment reference
      required:
        - recipientName
        - recipientEmail
        - recipientPhone
        - amount
        - currency
        - reference
    CurrencyWalletSelectionDto:
      type: object
      properties:
        currency:
          type: string
          description: Currency code
          enum:
            - KES
            - GHS
            - NGN
            - ZAR
            - ZAR
            - USD
            - XOF
            - ZMW
            - XAF
            - SLE
            - CDF
            - TZS
            - UGX
            - EGP
            - MWK
            - RWF
            - ETB
            - MZN
            - LSL
            - GNF
            - USDT
            - BTC
            - ETH
            - USDC
        walletId:
          type: string
          description: Selected wallet ID
      required:
        - currency
        - walletId
    BulkPaymentProgressDto:
      type: object
      properties:
        step:
          type: string
          description: Step name
        status:
          type: string
          description: Step status
        message:
          type: string
          description: Progress message
        startedAt:
          format: date-time
          type: string
          description: When step started
        completedAt:
          format: date-time
          type: string
          description: When step completed
        details:
          type: object
          description: Additional step details
      required:
        - step
        - status
        - message
        - startedAt
        - completedAt
        - details

````