curl --request POST \
--url https://sandbox.cashfree.com/verification/user \
--header 'Content-Type: application/json' \
--header 'x-client-id: <api-key>' \
--header 'x-client-secret: <api-key>' \
--data '
{
"phone": "9988776655",
"user_id": "User0123",
"email": "johndoe@gmail.com",
"name": "John Doe",
"address": "GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE"
}
'import requests
url = "https://sandbox.cashfree.com/verification/user"
payload = {
"phone": "9988776655",
"user_id": "User0123",
"email": "johndoe@gmail.com",
"name": "John Doe",
"address": "GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE"
}
headers = {
"x-client-id": "<api-key>",
"x-client-secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-client-id': '<api-key>',
'x-client-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
phone: '9988776655',
user_id: 'User0123',
email: 'johndoe@gmail.com',
name: 'John Doe',
address: 'GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE'
})
};
fetch('https://sandbox.cashfree.com/verification/user', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.cashfree.com/verification/user",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone' => '9988776655',
'user_id' => 'User0123',
'email' => 'johndoe@gmail.com',
'name' => 'John Doe',
'address' => 'GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-client-id: <api-key>",
"x-client-secret: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.cashfree.com/verification/user"
payload := strings.NewReader("{\n \"phone\": \"9988776655\",\n \"user_id\": \"User0123\",\n \"email\": \"johndoe@gmail.com\",\n \"name\": \"John Doe\",\n \"address\": \"GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-client-id", "<api-key>")
req.Header.Add("x-client-secret", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.cashfree.com/verification/user")
.header("x-client-id", "<api-key>")
.header("x-client-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phone\": \"9988776655\",\n \"user_id\": \"User0123\",\n \"email\": \"johndoe@gmail.com\",\n \"name\": \"John Doe\",\n \"address\": \"GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.cashfree.com/verification/user")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-id"] = '<api-key>'
request["x-client-secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone\": \"9988776655\",\n \"user_id\": \"User0123\",\n \"email\": \"johndoe@gmail.com\",\n \"name\": \"John Doe\",\n \"address\": \"GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE\"\n}"
response = http.request(request)
puts response.read_body{
"user_reference_id": 1358,
"user_id": "User0123",
"phone": "9988776655",
"email": "johndoe@gmail.com",
"name": "John doe",
"address": "GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE"
}Create User for Secure ID Suite
Use this API to create a new user profile for the Secure ID suite, which enables Video KYC (Know Your Customer) verification. The user profile includes basic details such as phone number, name, and address, and is required to initiate the KYC process.
curl --request POST \
--url https://sandbox.cashfree.com/verification/user \
--header 'Content-Type: application/json' \
--header 'x-client-id: <api-key>' \
--header 'x-client-secret: <api-key>' \
--data '
{
"phone": "9988776655",
"user_id": "User0123",
"email": "johndoe@gmail.com",
"name": "John Doe",
"address": "GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE"
}
'import requests
url = "https://sandbox.cashfree.com/verification/user"
payload = {
"phone": "9988776655",
"user_id": "User0123",
"email": "johndoe@gmail.com",
"name": "John Doe",
"address": "GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE"
}
headers = {
"x-client-id": "<api-key>",
"x-client-secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-client-id': '<api-key>',
'x-client-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
phone: '9988776655',
user_id: 'User0123',
email: 'johndoe@gmail.com',
name: 'John Doe',
address: 'GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE'
})
};
fetch('https://sandbox.cashfree.com/verification/user', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.cashfree.com/verification/user",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone' => '9988776655',
'user_id' => 'User0123',
'email' => 'johndoe@gmail.com',
'name' => 'John Doe',
'address' => 'GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-client-id: <api-key>",
"x-client-secret: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.cashfree.com/verification/user"
payload := strings.NewReader("{\n \"phone\": \"9988776655\",\n \"user_id\": \"User0123\",\n \"email\": \"johndoe@gmail.com\",\n \"name\": \"John Doe\",\n \"address\": \"GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-client-id", "<api-key>")
req.Header.Add("x-client-secret", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.cashfree.com/verification/user")
.header("x-client-id", "<api-key>")
.header("x-client-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phone\": \"9988776655\",\n \"user_id\": \"User0123\",\n \"email\": \"johndoe@gmail.com\",\n \"name\": \"John Doe\",\n \"address\": \"GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.cashfree.com/verification/user")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-id"] = '<api-key>'
request["x-client-secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone\": \"9988776655\",\n \"user_id\": \"User0123\",\n \"email\": \"johndoe@gmail.com\",\n \"name\": \"John Doe\",\n \"address\": \"GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE\"\n}"
response = http.request(request)
puts response.read_body{
"user_reference_id": 1358,
"user_id": "User0123",
"phone": "9988776655",
"email": "johndoe@gmail.com",
"name": "John doe",
"address": "GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE"
}Authorizations
Client ID. You can find your ID in the Merchant Dashboard.
Client secret key. You can find your secret key in the Merchant Dashboard.
Headers
Send the signature if IP is not whitelisted.
Body
Request payload for creating a user for Video KYC.
It is the phone number of the user.
"9988776655"
It is the unique ID you create to identify the user. The maximum character limit is 50. Only alphanumeric, period (.), hyphen (-), and underscore ( _ ) are allowed. Auto-generated if not passed.
"User0123"
It displays the email address of the user.
"johndoe@gmail.com"
It is the name of the user.
"John Doe"
It is the address of the user.
"GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE"
Response
Success response for creating a user profile for Video KYC.
It is the unique ID you create to identify the user.
"User0123"
It displays the unique ID created by Cashfree Payments for reference purposes.
1358
It is the phone number of the user.
"9988776655"
It displays the email address of the user.
"johndoe@gmail.com"
It is the name of the user.
"John Doe"
It is the address of the user.
"GROUND FLOOR, 123, ABC CIRCLE, XYZ MAIN ROAD, BANGALORE"
