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

# Batch Transfer

> Use this API to create multiple transfers to multiple beneficiaries. This API accepts an array of transfer objects under the batch field.

<Warning> This API will be retired soon. Please plan to migrate to the latest version, [Transfers V2](/api-reference/payouts/v2/transfers-v2/get-transfer-status-v2). </Warning>

Please use this Authorization token in headers to call any payout API (Refresh this page if the token is expired)

<iframe src="https://www.cashfree.com/devstudio/preview/payouts/embed/bearerToken" width="600" />

<Note>
  Get Batch Transfer Status
  Use the [Get Batch Transfer Status](https://docs.cashfree.com/reference/get-batch-transfer-status) API to get the status of the batch transfer request. The Get Transfer Status API does not give you the status of the batch transfer requests. Read the [batch transfer document](https://docs.cashfree.com/docs/batch-transfer-1) to understand the flow of the API.
</Note>

<Accordion title="Click to view the batch format.">
  | Value           | Description                                                                                                                                                                                                                                                           |
  | :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | BENEFICIARY\_ID | With this value, beneId and transferMode must be passed in the transfer object within the batch array alphanumeric and underscore allowed (60 character limit) If batchFormat is set to any of the below values, transfers will only be processed via specified mode. |
  | BANK\_ACCOUNT   | With this value, Additional details such as bankAccount, ifsc, name, email, phone must be passed in the transfer object within the batch array                                                                                                                        |
  | UPI             | With this value, Additional details such as vpa, name, email, phone must be passed in the transfer object within the batch array                                                                                                                                      |
  | PAYTM           | With this value, Additional details such as name, email, phone must be passed in the transfer object within the batch array                                                                                                                                           |
  | AMAZONPAY       | With this value, Additional details such as name, email, phone must be passed in the transfer object within the batch array                                                                                                                                           |
</Accordion>

<Accordion title="Click to view the transfer objects and its description.">
  | **Field Name**      | **Description**                                                                                                                                                                    |
  | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | transferId          | A unique transfer id.                                                                                                                                                              |
  | amount              | Amount to be transferred.                                                                                                                                                          |
  | beneId              | The ID of the beneficiary. This field must be passed if the batch format option is BENEFICIARY\_ID.                                                                                |
  | transferMode        | Required only when batchFormat is set to BENEFICIARY\_ID, mode of transfer for each transfer in batch needs to be set. Allowed values are: banktransfer, upi, paytm, and amazonpay |
  | bankAccount         | Bank account number for payout. This field must be passed if the batch format option is BANK\_ACCOUNT.                                                                             |
  | ifsc                | IFSC of the corresponding bank account. This field must be passed if the batch format option is BANK\_ACCOUNT.                                                                     |
  | vpa \[optional]     | VPA of the corresponding user. This field must be passed if the batch format option is UPI.                                                                                        |
  | name                | Name of the account holder. This field must be passed if the batch format option is BANK\_ACCOUNT.                                                                                 |
  | email \[optional]   | Email of the beneficiary. This field must be passed if the batch format option is BANK\_ACCOUNT.                                                                                   |
  | phone               | The phone of the beneficiary. This field must be passed if the batch format option is BANK\_ACCOUNT/PAYTM/AMAZONPAY.                                                               |
  | remarks \[optional] | Remarks, if any.                                                                                                                                                                   |

  Currently, batch transfer supports transfers to bank accounts, UPI, Paytm, and Amazon Pay. If the beneficiary object does not have valid details attached to it, the transfer fails.
</Accordion>

<Accordion title="Click to view the response codes.">
  | Sub Code | Status  | Message                                                                          | Solution                                      |
  | :------- | :------ | :------------------------------------------------------------------------------- | :-------------------------------------------- |
  | 200      | SUCCESS | Batch Transfer requested successfully. Please check later for processing status. |                                               |
  | 202      | PENDING | Request received. Please check status after some time.                           |                                               |
  | 403      | ERROR   | Token is not valid                                                               | Verify the generated token.                   |
  | 403      | ERROR   | Permission Denied                                                                |                                               |
  | 409      | ERROR   | Invalid Batch Format                                                             | Enter a valid batch transfer ID.              |
  | 409      | ERROR   | Batch TransferId already exists                                                  | Enter a different batch transfer ID.          |
  | 412      | ERROR   | Token missing in the request                                                     | Enter a valid token in the request.           |
  | 422      | ERROR   | Batch transfer id is missing                                                     | Enter a valid batch transfer ID.              |
  | 422      | ERROR   | Invalid Batch Transfer Id provided                                               | Enter a valid batch transfer ID.              |
  | 422      | ERROR   | The maximum number of entries allowed per file is 500, please try again.         | Enter only a maximum of 500 entries per file. |
  | 422      | ERROR   | Batch format is missing                                                          | Enter valid batch format details.             |
  | 422      | ERROR   | Transfer Parameters  missing in the request                                      |                                               |
  | 422      | ERROR   | Please provide at least one transfer entry                                       | Enter at least one transfer entry.            |
  | 520      | ERROR   | Unknown error occurred at batchTransfer                                          |                                               |
  | 520      | ERROR   | Batch Transfer request failed                                                    |                                               |
  | 520      | ERROR   | Error in batch transfer                                                          |                                               |
  | 520      | ERROR   | Unknown error occurred                                                           |                                               |
</Accordion>


## OpenAPI

````yaml post /payout/v1/requestBatchTransfer
openapi: 3.0.0
info:
  title: Payouts
  version: 3.0.0
servers:
  - url: https://payout-api.cashfree.com
security:
  - {}
paths:
  /payout/v1/requestBatchTransfer:
    post:
      summary: Batch Transfer
      description: >-
        Use this API to create multiple transfers to multiple beneficiaries.
        This API accepts an array of transfer objects under the batch field.
      operationId: batch-transfer1
      parameters:
        - name: Authorization
          in: header
          description: Bearer auth token
          required: true
          style: simple
          explode: false
          schema:
            type: string
        - name: Content-Type
          in: header
          description: application/json
          required: true
          style: simple
          explode: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1_requestBatchTransfer_body'
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Result:
                  value:
                    status: SUCCESS
                    subCode: '200'
                    message: Request accepted
                    data:
                      referenceId: 1594
        '403':
          description: '403'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_403'
        '409':
          description: '409'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_409_2'
        '422':
          description: '422'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_422_4'
      deprecated: false
      security: []
components:
  schemas:
    v1_requestBatchTransfer_body:
      required:
        - batch
        - batchFormat
        - batchTransferId
      type: object
      properties:
        batchTransferId:
          type: string
          description: >-
            Unique Id of the Batch Transfer, alphanumeric and underscore allowed
            (60 character limit)
        batchFormat:
          type: string
          description: >-
            Format of the batch transfers, valid values are, BENEFICIARY_ID,
            BANK_ACCOUNT, UPI, PAYTM, AMAZONPAY. Details are available below.
        deleteBene:
          type: boolean
          description: >-
            Flag to delete and read new beneficiaries if a beneficiary with the
            same Beneficiary Id is available. When the batch transfer format is
            BANK_ACCOUNT
        batch:
          type: array
          description: An array of transfer objects
          items:
            type: string
    inline_response_403:
      type: object
      properties:
        status:
          type: string
          example: ERROR
        subCode:
          type: string
          example: '403'
        message:
          type: string
          example: >-
            APIs not enabled. Please fill out the [Support
            Form](https://telr.cashfree.com/merchants/landing?env=prod&raise_issue=1)
    inline_response_409_2:
      type: object
      properties:
        status:
          type: string
          example: ERROR
        subCode:
          type: string
          example: '409'
        message:
          type: string
          example: Batch TransferId abc-12356 already exists
    inline_response_422_4:
      type: object
      properties:
        status:
          type: string
          example: ERROR
        subCode:
          type: string
          example: '422'
        message:
          type: string
          example: Permission Denied

````