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

# Create Batch Settlement

Submit multiple settlement requests as a single batch. Each item in `requests[]` follows the same shape as a single settlement request. All children share one admin approval step.


## OpenAPI

````yaml POST /api/v3/integrator/settlements/batch
openapi: 3.0.0
info:
  title: KOTANI PAY API PLATFORM
  description: ''
  version: '3.0'
  contact: {}
servers:
  - url: https://sandbox-api.kotanipay.io
    description: Sandbox
security: []
tags: []
paths:
  /api/v3/integrator/settlements/batch:
    post:
      tags:
        - INTEGRATOR
      operationId: IntegratorSettlementsController_createBatch_api/v3
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSettlementBatchDto'
      responses:
        '201':
          description: ''
      security:
        - JWT: []
components:
  schemas:
    CreateSettlementBatchDto:
      type: object
      properties:
        batchReference:
          type: string
          description: Unique reference per batch — idempotency key on retry
        callbackUrl:
          type: string
          description: Shared callback URL for all batch events
        integratorNote:
          type: string
        requests:
          description: One entry per wallet to settle
          type: array
          items:
            $ref: '#/components/schemas/BatchSubRequestDto'
      required:
        - requests
    BatchSubRequestDto:
      type: object
      properties:
        walletId:
          type: string
        amount:
          type: number
        balanceSource:
          type: string
          enum:
            - PAYOUT
            - DEPOSIT
            - ADMIN_SELECT
        savedBeneficiaryId:
          type: string
        beneficiaryDetails:
          $ref: '#/components/schemas/BeneficiaryDetailsDto'
        subReference:
          type: string
        integratorNote:
          type: string
      required:
        - walletId
        - amount
    BeneficiaryDetailsDto:
      type: object
      properties:
        beneficiaryType:
          type: string
          enum:
            - bank
            - crypto
        name:
          type: string
        walletAddress:
          type: string
        chain:
          type: string
        token:
          type: string
          description: Token/asset symbol (e.g. USDT, USDC)
        network:
          type: string
          description: Network sub-type (legacy)
        bankName:
          type: string
        bankCode:
          type: string
        accountNumber:
          type: string
        accountName:
          type: string
        accountType:
          type: string
  securitySchemes:
    JWT:
      scheme: bearer
      bearerFormat: JWT
      type: http

````