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

# Direct Transfer V1.2

> Use this API to initiate amount transfers directly to the beneficiary account via a bank transfer or UPI. You can add the beneficiary details in the same API request.



## OpenAPI

````yaml post /payout/v1.2/directTransfer
openapi: 3.0.0
info:
  title: Payouts
  version: 3.0.0
servers:
  - url: https://payout-api.cashfree.com
    description: Production
  - url: https://payout-gamma.cashfree.com
    description: Sandbox
security:
  - {}
paths:
  /payout/v1.2/directTransfer:
    post:
      summary: Direct Transfer V1.2
      description: >-
        Use this API to initiate amount transfers directly to the beneficiary
        account via a bank transfer or UPI. You can add the beneficiary details
        in the same API request.
      operationId: direct-transfer-v1-21
      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_2_directTransfer_body'
      responses:
        '200':
          description: 200 - Transfer Status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_20'
              examples:
                Pending:
                  summary: Payout pending at partner bank
                  value:
                    status: PENDING
                    subCode: '201'
                    message: Transfer request pending at the bank
                    data:
                      referenceId: '23457526'
                      utr: ''
                      acknowledged: 0
                Success:
                  summary: Transfer Successful
                  value:
                    status: SUCCESS
                    subCode: '200'
                    message: Transfer completed successfully
                    data:
                      referenceId: '10023'
                      utr: P16111765023806
                      acknowledged: 1
                Error:
                  summary: Transfer ID Error
                  value:
                    status: ERROR
                    subCode: '400'
                    message: Transfer Id already exists
        '403':
          description: '403'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_403'
      deprecated: false
      security: []
components:
  schemas:
    v1_2_directTransfer_body:
      required:
        - amount
        - beneDetails
        - transferId
        - transferMode
      type: object
      description: >-
        Amount, transfer ID, transfer mode, and inline beneficiary details for a
        synchronous direct transfer (including Process Validated Payout when you
        pass the transfer token from [Validate
        Payout](/api-reference/payouts/v1/validate-payout-v1-2)).
      properties:
        amount:
          type: number
          description: >-
            Amount to be transferred. Amount should be greater that INR 1.00.
            Decimals are allowed.
          format: float
        transferId:
          type: string
          description: >-
            A unique ID to identify this transfer. Alphanumeric characters and
            underscores are allowed (40 character limit).
        transferMode:
          type: string
          description: >-
            It is the mode of transfer. Allowed values are: banktransfer, neft,
            imps, rtgs, upi, paytm, and amazonpay. The default transferMode is
            banktransfer.
        beneDetails:
          $ref: '#/components/schemas/payoutv1directTransfer_beneDetails'
        paymentInstrumentId:
          type: string
          description: >-
            Specify the fund source ID from where you want the amount to be
            debited.
    inline_response_200_20:
      type: object
      properties:
        status:
          type: string
          description: >-
            High-level state of the transfer request (for example SUCCESS,
            PENDING, or ERROR).
          example: SUCCESS
        subCode:
          type: string
          description: Numeric sub-code that qualifies the `status` value.
          example: '200'
        message:
          type: string
          example: Transfer completed successfully
        data:
          $ref: '#/components/schemas/inline_response_200_20_data'
    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://merchant.cashfree.com/merchants/landing?env=prod&raise_issue=1)
    payoutv1directTransfer_beneDetails:
      required:
        - address1
        - email
        - name
        - phone
      type: object
      properties:
        bankAccount:
          type: string
          description: >-
            Beneficiary bank account (9 - 18 alphanumeric character limit)
            (Required in case of banktransfer, imps, neft mode)
        ifsc:
          type: string
          description: >-
            Accounts IFSC (standard IFSC format) - length 11, first four bank
            IFSC and 5th digit 0 (Required in case of banktransfer, imps, neft
            mode)
        name:
          type: string
          description: >-
            Beneficiary name, only alphabets and white space (100 character
            limit)
        phone:
          type: string
          description: >-
            Beneficiary phone number, phone number registered in India (only
            digits, 8 - 12 characters after stripping +91)
        email:
          type: string
          description: >-
            Beneficiary email address, string in email Id format (Ex:
            johndoe_1@cashfree.com) - should contain @ and dot (.) - (200
            character limit)
        vpa:
          type: string
          description: >-
            Beneficiary VPA, alphanumeric, dot (.), hyphen (-), at sign (@), and
            underscore () allowed (100 character limit). Note: underscore () and
            dot (.) gets accepted before and after at sign (@), but hyphen (-)
            get only accepted before at sign (@) (Required in case of UPI)
        address1:
          type: string
          description: >-
            Beneficiary address. Alphanumeric characters and space allowed (150
            character limit).
      description: Object with the beneficiary details to whom amount is to be transferred
    inline_response_200_20_data:
      type: object
      description: >-
        Partner-facing references for the accepted transfer, including the
        Cashfree reference ID, bank or network UTR when issued, and partner
        acknowledgement.
      properties:
        referenceId:
          type: string
          description: Cashfree reference identifier for this transfer request.
          example: '10023'
        utr:
          type: string
          description: >-
            Unique transaction reference from the partner bank or network, when
            available.
          example: P16111765023806
        acknowledged:
          type: integer
          description: >-
            Flag indicating whether the partner has acknowledged receipt of the
            transfer (1 acknowledged, 0 otherwise).
          example: 1

````