Cashfree Payments · Schema

Cashfree Cashfree Payout APIs Schemas

JSON Schema definitions extracted from Cashfree Payout APIs 2024-01-01

PaymentsPayoutsUPIIndiaPayment GatewaySubscriptionsRefundsQR CodesNet BankingIdentity Verification
View JSON Schema on GitHub

JSON Schema

cashfree-payouts-schemas.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Cashfree Cashfree Payout APIs Schemas",
  "description": "JSON Schema definitions extracted from Cashfree Payout APIs 2024-01-01",
  "definitions": {
    "ErrorV2": {
      "title": "Error",
      "description": "Error Response for non-2XX cases",
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the error received"
        },
        "code": {
          "type": "string",
          "description": "Code of the error received"
        },
        "message": {
          "type": "string",
          "description": "Detailed message explaining the response"
        }
      }
    },
    "Beneficiary": {
      "title": "Create Beneficiary success response",
      "description": "Contains the information of the created beneficiary",
      "type": "object",
      "properties": {
        "beneficiary_id": {
          "example": "JOHN18011343",
          "type": "string",
          "description": "It displays the unique Id you created to identify the beneficiary."
        },
        "beneficiary_name": {
          "example": "John Doe",
          "type": "string",
          "description": "It displays the name of the beneficiary."
        },
        "beneficiary_instrument_details": {
          "type": "object",
          "description": "It displays the payment instrument details of the beneficiary.",
          "properties": {
            "bank_account_number": {
              "example": "00111122233",
              "type": "string",
              "description": "It displays the bank account of the beneficiary."
            },
            "bank_ifsc": {
              "example": "HDFC0000001",
              "type": "string",
              "description": "It displays the IFSC information of the beneficiary's bank account."
            },
            "vpa": {
              "example": "test@upi",
              "type": "string",
              "description": "It displays the UPI VPA information of the beneficiary."
            }
          }
        },
        "beneficiary_contact_details": {
          "type": "object",
          "description": "It displays the contact details of the beneficiary.",
          "properties": {
            "beneficiary_email": {
              "example": "[email protected]",
              "type": "string",
              "description": "It displays the email address of the beneficiary."
            },
            "beneficiary_phone": {
              "example": "9876543210",
              "type": "string",
              "description": "It displays the phone number of the beneficiary without the country code."
            },
            "beneficiary_country_code": {
              "example": "+91",
              "type": "string",
              "description": "It displays the country code of the beneficiary's phone number."
            },
            "beneficiary_address": {
              "example": "177A Bleecker Street",
              "type": "string",
              "description": "It displays the address of the beneficiary."
            },
            "beneficiary_city": {
              "example": "New York City",
              "type": "string",
              "description": "It displays the name of the city as present in the beneficiary's address."
            },
            "beneficiary_state": {
              "example": "New York",
              "type": "string",
              "description": "It displays the name of the state as present in the beneficiary's address."
            },
            "beneficiary_postal_code": {
              "example": "560001",
              "type": "string",
              "description": "It displays the PIN code as present in the beneficiary's address."
            }
          }
        },
        "beneficiary_status": {
          "example": "VERIFIED",
          "type": "string",
          "enum": [
            "VERIFIED",
            "INVALID",
            "INITIATED",
            "CANCELLED",
            "FAILED",
            "DELETED"
          ],
          "description": "It displays the current status of the beneficiary. Possible values are as follows\n- `VERIFIED`: Beneficiary is verified and is available for payouts\n- `INVALID`: Beneficiary is invalid\n- `INITIATED`: Beneficiary verification initiated\n- `CANCELLED`: Beneficiary verification cancelled\n- `FAILED`: Failed to verify beneficiary\n- `DELETED`: Beneficiary is deleted"
        },
        "added_on": {
          "example": "2023-11-22T12:38:22Z",
          "type": "string",
          "description": "It displays the time of the addition of the beneficiary in UTC."
        }
      }
    },
    "CreateBeneficiaryRequest": {
      "title": "Create Beneficiary request body",
      "description": "Find the request parameters to create a beneficiary",
      "type": "object",
      "required": [
        "beneficiary_id",
        "beneficiary_name"
      ],
      "properties": {
        "beneficiary_id": {
          "example": "JOHN18011343",
          "type": "string",
          "maxLength": 50,
          "description": "It is the unique ID you create to identify the beneficiary. Alphanumeric, underscore ( _ ), pipe ( | ), and dot ( . ) are allowed."
        },
        "beneficiary_name": {
          "example": "John Doe",
          "type": "string",
          "description": "It is the name of the beneficiary. The maximum character limit is 100. Only alphabets and whitespaces are allowed.",
          "maxLength": 100
        },
        "beneficiary_instrument_details": {
          "type": "object",
          "description": "Beneficiary instrument details",
          "properties": {
            "bank_account_number": {
              "example": "00111122233",
              "type": "string",
              "maxLength": 25,
              "minLength": 4,
              "description": "It is the beneficiary bank account number. The value should be between 9 and 18 characters. Alphanumeric characters are allowed. You need to input bank_ifsc if bank_account_number is passed."
            },
            "bank_ifsc": {
              "example": "HDFC0000001",
              "type": "string",
              "description": "It is the IFSC information of the beneficiary's bank account in the standard IFSC format. The value should be 11 characters. (The first 4 characters should be alphabets, the 5th character should be a 0, and the remaining 6 characters should be numerals.). You need to input bank_account_number if bank_ifsc is passed."
            },
            "vpa": {
              "example": "test@upi",
              "type": "string",
              "description": "It is the UPI VPA information of the beneficiary. Only valid UPI VPA information is accepted. It can be an Alphanumeric value with only period (.), hyphen (-), underscore ( _ ), and at the rate of (@). Hyphen (-) is accepted only before at the rate of (@)."
            }
          }
        },
        "beneficiary_contact_details": {
          "type": "object",
          "description": "It should contain the contact details of the beneficiary.",
          "properties": {
            "beneficiary_email": {
              "example": "[email protected]",
              "type": "string",
              "maxLength": 200,
              "description": "It is the email address of the beneficiary. The maximum character limit is 200. It should contain dot (.) and at the rate of (@)."
            },
            "beneficiary_phone": {
              "example": "9876543210",
              "type": "string",
              "description": "It is the phone number of the beneficiary. Only reigstered Indian phone numbers are allowed. The value should be between 8 and 12 characters after stripping +91."
            },
            "beneficiary_country_code": {
              "example": "+91",
              "type": "string",
              "description": "It is the country code (+91) of the beneficiary's phone number"
            },
            "beneficiary_address": {
              "example": "177A Bleecker Street",
              "type": "string",
              "description": "It is the address information of the beneficiary."
            },
            "beneficiary_city": {
              "example": "New York City",
              "type": "string",
              "description": "It is the name of the city as present in the beneficiary's address."
            },
            "beneficiary_state": {
              "example": "New York",
              "type": "string",
              "description": "It is the name of the state as present in the beneficiary's address."
            },
            "beneficiary_postal_code": {
              "example": "560001",
              "type": "string",
              "description": "It is the PIN code information as present in the beneficiary's address. The maximum character limit is 6. Only numbers are allowed."
            }
          }
        }
      }
    },
    "CreateTransferRequest": {
      "title": "Standard Transfer V2",
      "description": "Standard Transfer V2",
      "type": "object",
      "properties": {
        "transfer_id": {
          "type": "string",
          "description": "It is the unique ID you create to identify the transfer. You can use a maximum of 40 characters to create a transfer_id.  Alphanumeric and underscore ( _ ) are allowed.",
          "maxLength": 40
        },
        "transfer_amount": {
          "type": "number",
          "format": "double",
          "description": "It is the transfer amount. Decimal values are allowed. The minimum value should be equal to or greater than 1.00. (>= 1.00)"
        },
        "transfer_currency": {
          "type": "string",
          "description": "It is the currency of the transfer amount. The default value is INR."
        },
        "transfer_mode": {
          "type": "string",
          "description": "It is the mode of transfer. Allowed values are banktransfer, imps, neft, rtgs, upi, paytm, amazonpay, card. The default transfer_mode is banktransfer.",
          "enum": [
            "banktransfer",
            "imps",
            "neft",
            "rtgs",
            "upi",
            "paytm",
            "amazonpay",
            "card",
            "cardupi"
          ],
          "maxLength": 20
        },
        "beneficiary_details": {
          "type": "object",
          "description": "It should contain the details of the beneficiary who receives the transfer amount.",
          "properties": {
            "beneficiary_id": {
              "type": "string",
              "description": "It is the unique ID you created to identify the beneficiary. Alphanumeric characters are allowed."
            },
            "beneficiary_name": {
              "type": "string",
              "description": "It is the name of the beneficiary. The maximum character limit is 100.  Only alphabets and whitespaces are allowed. It is required if beneficiary_id is not present."
            },
            "beneficiary_instrument_details": {
              "type": "object",
              "description": "It should contain the details of where the beneficiary will receive the money. You input these details if you haven't added the beneficiary in the Payouts dashboard.",
              "properties": {
                "bank_account_number": {
                  "type": "string",
                  "description": "It is the beneficiary bank account number. The value should be between 9 and 18 characters. Alphanumeric characters are allowed. This value is required if beneficiary_id is not present and if the transfer_mode is banktransfer, imps, neft,rtgs mode."
                },
                "bank_ifsc": {
                  "type": "string",
                  "description": "It is the IFSC information of the beneficiary's bank account in the standard IFSC format. The value should be 11 characters. (The first 4 characters should be alphabets, the 5th character should be a 0, and the remaining 6 characters should be numerals.)"
                },
                "vpa": {
                  "type": "string",
                  "description": "It is the UPI VPA information of the beneficiary. Only valid UPI VPA information is accepted. It can be an Alphanumeric value with only period (.), hyphen (-), underscore ( _ ), and at the rate of (@). Hyphen (-) is accepted only before at the rate of (@). This value is required if the transfer_mode is upi."
                },
                "card_details": {
                  "type": "object",
                  "description": "It should contain the card details of the beneficiary.",
                  "properties": {
                    "card_token": {
                      "type": "string",
                      "description": "It is the tokenised card number or card token for this transfer."
                    },
                    "card_network_type": {
                      "type": "string",
                      "description": "It is the network type of the card - VISA/MASTERCARD.",
                      "enum": [
                        "VISA",
                        "MASTERCARD"
                      ]
                    },
                    "card_cryptogram": {
                      "type": "string",
                      "description": "It is the formatted chip/cryptogram data relating to the token cryptogram. The maximum character limit is 600. It is optional for MASTERCARD and not required for VISA."
                    },
                    "card_token_expiry": {
                      "type": "string",
                      "description": "It is applicable only for MASTERCARD. The format for the valid token expiry date should be YYYY-MM. It cannot be null. Provide a valid tokenExpiry if collected from the customers. If unavailable, populate a static value with a forward year and month in the correct format (YYYY-MM). The maximum character limit is 10."
                    },
                    "card_type": {
                      "type": "string",
                      "description": "It is the type of the card. DEBIT and CREDIT are the only values allowed. The default value is CREDIT if the parameter does not exist or not specified."
                    },
                    "card_token_PAN_sequence_number": {
                      "type": "string",
                      "description": "A maximum of 3 alphanumeric characters are allowed. It is an optional parameter for MASTERCARD."
                    }
                  }
                }
              }
            },
            "beneficiary_contact_details": {
              "type": "object",
              "description": "It should contain the contact details of the beneficiary.",
              "properties": {
                "beneficiary_email": {
                  "type": "string",
                  "description": "It is the email address of the beneficiary. The maximum character limit is 200. It should contain dot (.) and at the rate of (@)."
                },
                "beneficiary_phone": {
                  "type": "string",
                  "description": "It is the phone number of the beneficiary. Only registered Indian phone numbers are allowed. The value should be between 8 and 12 characters after stripping +91."
                },
                "beneficiary_country_code": {
                  "type": "string",
                  "description": "It is the country code (+91) of the beneficiary's phone number."
                },
                "beneficiary_address": {
                  "type": "string",
                  "description": "It should contain the address of the beneficiary. The maximum character limit is 150. Alphanumeric characters and whitespaces are allowed."
                },
                "beneficiary_city": {
                  "type": "string",
                  "description": "It is the name of the city as present in the beneficiary address. The maximum character limit is 50. Alphanumeric characters and whitespaces are allowed."
                },
                "beneficiary_state": {
                  "type": "string",
                  "description": "It is the name of the state as present in the beneficiary address. The maximum character limit is 50. Alphanumeric characters and whitespaces are allowed."
                },
                "beneficiary_postal_code": {
                  "type": "string",
                  "description": "It is the PIN code as present in the address. It should be a 6 character numeric value."
                }
              }
            }
          }
        },
        "transfer_remarks": {
          "type": "string",
          "description": "It can contain any additional remarks for the transfer. Alphanumeric and whitespaces are allowed. The maximum character limit is 70.",
          "maxLength": 70
        },
        "fundsource_id": {
          "type": "string",
          "description": "It is the ID of the fund source from which the transfer amount will be debited."
        }
      },
      "required": [
        "transfer_amount",
        "transfer_id",
        "beneficiary_details"
      ]
    },
    "CreateBatchTransferRequest": {
      "title": "Batch Transfer V2",
      "description": "Batch Transfer V2",
      "type": "object",
      "properties": {
        "batch_transfer_id": {
          "type": "string",
          "description": "It is the unique ID you create to identify the batch transfer request. The maximum character limit is 60. Alphanumeric and underscore ( _ ) characters are allowed.",
          "maxLength": 60
        },
        "transfers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "transfer_id": {
                "type": "string",
                "description": "It is the unique ID you create to identify the transfer. You can use a maximum of 40 characters to create a transfer_id.  Alphanumeric and underscore ( _ ) are allowed.",
                "maxLength": 40
              },
              "transfer_amount": {
                "type": "number",
                "format": "double",
                "description": "It is the transfer amount. Decimal values are allowed. The minimum value should be equal to or greater than 1.00. (>= 1.00)"
              },
              "transfer_currency": {
                "type": "string",
                "description": "It is the currency of the transfer amount. The default value is INR."
              },
              "transfer_mode": {
                "type": "string",
                "description": "It is the mode of transfer. Allowed values are banktransfer, imps, neft, rtgs, upi, paytm, amazonpay, card. The default transfer_mode is banktransfer.",
                "enum": [
                  "banktransfer",
                  "imps",
                  "neft",
                  "rtgs",
                  "upi",
                  "paytm",
                  "amazonpay",
                  "card",
                  "cardupi"
                ],
                "maxLength": 20
              },
              "beneficiary_details": {
                "type": "object",
                "description": "It should contain the details of the beneficiary who receives the transfer amount.",
                "properties": {
                  "beneficiary_id": {
                    "type": "string",
                    "description": "It is the unique ID you created to identify the beneficiary. Alphanumeric characters are allowed."
                  },
                  "beneficiary_name": {
                    "type": "string",
                    "description": "It is the name of the beneficiary. The maximum character limit is 100."
                  },
                  "beneficiary_instrument_details": {
                    "type": "object",
                    "description": "It should contain the details of where the beneficiary will receive the money. You input these details if you haven't added the beneficiary in the Payouts dashboard.",
                    "properties": {
                      "bank_account_number": {
                        "type": "string",
                        "description": "It is the beneficiary bank account number. The value should be between 9 and 18 characters. Alphanumeric characters are allowed. This value is required if beneficiary_id is not present and if the transfer_mode is banktransfer, imps, neft, rtgs mode."
                      },
                      "bank_ifsc": {
                        "type": "string",
                        "description": "It is the IFSC information of the beneficiary's bank account in the standard IFSC format. The value should be 11 characters. (The first 4 characters should be alphabets, the 5th character should be a 0, and the remaining 6 characters should be numerals.)"
                      },
                      "vpa": {
                        "type": "string",
                        "description": "It is the UPI VPA information of the beneficiary. Only valid UPI VPA information is accepted. It can be an Alphanumeric value with only period (.), hyphen (-), underscore ( _ ), and at the rate of (@). Hyphen (-) is accepted only before at the rate of (@). This value is required if the transfer_mode is upi."
                      }
                    }
                  },
                  "beneficiary_contact_details": {
                    "type": "object",
                    "description": "It should contain the contact details of the beneficiary.",
                    "properties": {
                      "beneficiary_email": {
                        "type": "string",
                        "description": "It is the email address of the beneficiary. The maximum character limit is 200. It should contain dot (.) and at the rate of (@)."
                      },
                      "beneficiary_phone": {
                        "type": "string",
                        "description": "It is the phone number of the beneficiary. Only registered Indian phone numbers are allowed. The value should be between 8 and 12 characters after stripping +91."
                      },
                      "beneficiary_country_code": {
                        "type": "string",
                        "description": "It is the country code (+91) of the beneficiary's phone number."
                      },
                      "beneficiary_address": {
                        "type": "string",
                        "description": "It should contain the address of the beneficiary. The maximum character limit is 150. Alphanumeric characters and whitespaces are allowed."
                      },
                      "beneficiary_city": {
                        "type": "string",
                        "description": "It is the name of the city as present in the beneficiary address. The maximum character limit is 50. Alphanumeric characters and whitespaces are allowed."
                      },
                      "beneficiary_state": {
                        "type": "string",
                        "description": "It is the name of the state as present in the beneficiary address. The maximum character limit is 50. Alphanumeric characters and whitespaces are allowed."
                      },
                      "beneficiary_postal_code": {
                        "type": "string",
                        "description": "It is the PIN code as present in the address. It should be a 6 character numeric value."
                      }
                    }
                  }
                }
              },
              "transfer_remarks": {
                "type": "string",
                "description": "It can contain any additional remarks for the transfer. Alphanumeric and whitespaces are allowed. The maximum character limit is 70.",
                "maxLength": 70
              },
              "fundsource_id": {
                "type": "string",
                "description": "It is the ID of the fund source from where you want to debit the transfer amount."
              }
            },
            "required": [
              "transfer_amount",
              "transfer_id"
            ]
          }
        }
      },
      "required": [
        "batch_transfer_id"
      ]
    },
    "CreateTransferResponse": {
      "title": "Standard Transfer V2 Response",
      "description": "Standard Transfer V2 Response",
      "type": "object",
      "properties": {
        "transfer_id": {
          "description": "It displays the unique ID you created to identify the transfer.",
          "type": "string"
        },
        "cf_transfer_id": {
          "description": "It displays the unique ID created by Cashfree Payments. You receive this ID in the response after initiating the standard transfer request.",
          "type": "string"
        },
        "status": {
          "description": "It displays the status of the transfer.",
          "type": "string"
        },
        "beneficiary_details": {
          "type": "object",
          "description": "It displays the details of the beneficiary.",
          "properties": {
            "beneficiary_id": {
              "description": "It displays the unique ID to identify the beneficiary to whom you initiated the transfer request.",
              "type": "string"
            },
            "beneficiary_instrument_details": {
              "type": "object",
              "description": "It displays the details of where the beneficiary will receive the money.",
              "properties": {
                "bank_account_number": {
                  "type": "string",
                  "description": "It displays the bank account number of the beneficiary."
                },
                "ifsc": {
                  "type": "string",
                  "description": "It displays the IFSC information of the beneficiary's bank account."
                },
                "vpa": {
                  "type": "string",
                  "description": "It displays the UPI VPA information of the beneficiary."
                }
              }
            }
          }
        },
        "transfer_amount": {
          "description": "It displays the transfer amount initiated in the request.",
          "type": "number",
          "format": "double"
        },
        "transfer_service_charge": {
          "description": "It displays the service charge applicable for the successful transfer request.",
          "type": "number",
          "format": "double"
        },
        "transfer_service_tax": {
          "description": "It displays the service tax applicable for the successful transfer request.",
          "type": "number",
          "format": "double"
        },
        "transfer_mode": {
          "description": "It displays the mode of the transfer.",
          "type": "string"
        },
        "transfer_utr": {
          "description": "It displays the unique number that is generated to recognise any fund transfer that is created by the bank that facilitates the transfer.",
          "type": "string"
        },
        "fundsource_id": {
          "description": "It displays the ID of the fund source from where the money was debited for this transfer request.",
          "type": "string"
        },
        "added_on": {
          "description": "It displays the time of when the transfer request was added to the system.",
          "type": "string"
        },
        "updated_on": {
          "description": "It displays the updated time for the transfer.",
          "type": "string"
        }
      }
    },
    "CreateBatchTransferResponse": {
      "title": "Batch Transfer V2 Response",
      "description": "Batch Transfer V2 Response",
      "type": "object",
      "properties": {
        "batch_transfer_id": {
          "type": "string",
          "description": "It displays the unique ID you created to identify the batch transfer request."
        },
        "cf_batch_transfer_id": {
          "type": "string",
          "description": "It displays the unique ID created by Cashfree Payments. You receive this ID in the response after initiating the batch transfer request."
        },
        "status": {
          "type": "string",
          "description": "It displays the status of the API request."
        }
      }
    },
    "FetchBatchTransferResponse": {
      "title": "Batch Transfer Status V2 Response",
      "description": "Batch Transfer Status V2 Response",
      "type": "object",
      "properties": {
        "batch_transfer_id": {
          "description": "It displays the unique ID you created to identify the batch transfer.",
          "type": "string"
        },
        "cf_batch_transfer_id": {
          "description": "It displays the unique ID created by Cashfree Payments. You receive this ID in the response after initiating the batch transfer request.",
          "type": "string"
        },
        "status": {
          "description": "It displays the status of the batch transfer.",
          "type": "string"
        },
        "transfers": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CreateTransferResponse"
          }
        }
      }
    },
    "inline_response_401": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "example": "ERROR"
        },
        "subCode": {
          "type": "string",
          "example": "401"
        },
        "message": {
          "type": "string",
          "example": "Invalid clientId and clientSecret combination"
        }
      }
    },
    "inline_response_200_10": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "example": "SUCCESS"
        },
        "subCode": {
          "type": "string",
          "example": "200"
        },
        "message": {
          "type": "string",
          "example": "Token is valid"
        }
      }
    },
    "v1_createCashgram_body": {
      "required": [
        "amount",
        "cashgramId",
        "linkExpiry",
        "name",
        "phone"
      ],
      "type": "object",
      "properties": {
        "cashgramId": {
          "type": "string",
          "description": "Unique Id of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)"
        },
        "amount": {
          "type": "number",
          "description": "Amount to be transferred, >= 1.00",
          "format": "float"
        },
        "name": {
          "type": "string",
          "description": "Name of the contact"
        },
        "email": {
          "type": "string",
          "description": "Email of the contact"
        },
        "phone": {
          "type": "string",
          "description": "Phone number of the contact"
        },
        "linkExpiry": {
          "type": "string",
          "description": "Date to expire the cashgram link, Date format YYYY/MM/DD, maximum 30 days from the date of creation."
        },
        "remarks": {
          "type": "string",
          "description": "Specify remarks, if any."
        },
        "notifyCustomer": {
          "type": "integer",
          "description": "If value is 1, a link is sent to customers phone and email."
        }
      }
    },
    "inline_response_200_8": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "example": "SUCCESS"
        },
        "subCode": {
          "type": "string",
          "example": "200"
        },
        "message": {
          "type": "string",
          "example": "Cashgram Created"
        },
        "data": {
          "$ref": "#/components/schemas/inline_response_200_8_data"
        }
      }
    },
    "inline_response_409_1": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "example": "ERROR"
        },
        "subCode": {
          "type": "string",
          "example": "409"
        },
        "message": {
          "type": "string",
          "example": "Cashgram with id JOHaN10 already exists"
        }
      }
    },
    "v1_deactivateCashgram_body": {
      "required": [
        "cashgramId"
      ],
      "type": "object",
      "properties": {
        "cashgramId": {
          "type": "string",
          "description": "ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)"
        }
      }
    },
    "inlin

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cashfree/refs/heads/main/json-schema/cashfree-payouts-schemas.json