Back to APIs
{{btnTextCKYC}}

Remaining API Counts:

{{(token.limit-token.counter) || '0' }}
Remaining API Count : {{(token.limit-token.counter) || '0' }}

API Overview

Arya’s CKYC module facilitates integration with CERSAI’s CKYC repository for document retrieval using any ID information for both individual and a legal entity. CKYC repository maintains all records with a unique CKYC Number which is associated with Identity proof, address proof, signature specimen, photo. With the use of this repository, any financial institution can complete their customer’s KYC without having to ask them for providing the necessary documents.

try it out

( Click on the image to enlarge )

Understanding CKYC

Need to know more about CKYC? Get to know more about what are the requirements and necessities to make this process simpler and easy for integration. With our document, all your answers are in a single place.

Read More

CKYC - Conquering KYC

Arya’s CKYC module streamlines the complete process of interaction with the central KYC repository. We meticulously parse through the numerous parameters retrieved from the look up and filter and assess only those that will be of actual importance to our clients for the KYC process.

Read More

Demo

Check out the API results using samples provided below.


Please wait!
Processing the document...

Please drag and drop files or click to browse.


Please wait!
Processing the document...

Your document is extracted successfully.

PAN : {{pan}}

DOB : {{dob}}

Images :

Personal Details :

{{k}}

{{v || '-'}}

{{output.ckyc_remarks}}


Documentation

POST

{{url}}/api/v1/ckyc

API Token

  Regenerate

{{tokenDisplay}}  

Usage and Code Samples

curl --location --request POST '{{url}}/api/v1/ckyc' \
--header 'token: < your private token >' \
--header 'content-type: application/json' \
--data-raw '{
	"pan": '< pan string >', 
	"dob": '< dob string >',
	"req_id": '< req id string >'
}'
																						
OkHttpClient client = new OkHttpClient().newBuilder().build();
  MediaType mediaType = MediaType.parse("application/javascript");
  RequestBody body = RequestBody.create(mediaType, "{ 	"pan": '< pan string >', "dob": '< dob string >',"req_id": '< req id string >'  }");
  Request request = new Request.Builder()
	.url("{{url}}/api/v1/ckyc")
	.method("POST", body)
	.addHeader("token", "< your private token >")
	.addHeader("content-type", "application/json")
	.build();
  Response response = client.newCall(request).execute();
require "uri"
require "net/http"
url = URI("{{url}}/api/v1/ckyc")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["token"] = "< your private token >"
request["content-type"] = "application/json"
request.body = "{"pan": '< pan string >', "dob": '< dob string >', "req_id": < req id string >  }"
response = https.request(request)
puts response.read_body
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
  curl_easy_setopt(curl, CURLOPT_URL, "{{url}}/api/v1/ckyc");
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
  struct curl_slist *headers = NULL;
  headers = curl_slist_append(headers, "token: < your private token >");
  headers = curl_slist_append(headers, "content-type: application/json");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  const char *data = "{"pan": '< pan string >', "dob": '< dob string >', "req_id": < req id string >  }";
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
  res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);
																					
var request = require('request');
var options = {
  'method': 'POST',
  'url': '{{url}}/api/v1/ckyc',
  'headers': {
	'token': '< your private token >',
	'content-type':'application/json'
  },
  body: '{ "pan": '< pan string >', "dob": '< dob string >', "req_id": < req id string >  }'
	};
	request(options, function (error, response) {
	if (error) throw new Error(error);
console.log(response.body);
});
var client = new RestClient("{{url}}/api/v1/ckyc");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("token", "< your private token >");
request.AddHeader("content-type", "application/json");
var body = @"{" + "" +
@"    "dob": '< dob string >'," + "" +
@"    "pan": '< pan string >'," + "" +
@"    "req_id": < req id string >" + "" +
@"  }";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{url}}/api/v1/ckyc');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
  'token' => '< your private token >',
  'content-type' => 'application/json'
));
$request->setBody('{"pan": '< pan string >', "dob": '< dob string >', "req_id": < req id string >  }');
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
	echo $response->getBody();
  }
  else {
	echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
	$response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
?>
use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::DefaultApi;
my $api_instance = WWW::SwaggerClient::DefaultApi->new();
my $body = WWW::SwaggerClient::Object::V1_lengthofstayprediction_body->new(); # V1_lengthofstayprediction_body | 
my $token = token_example; # String | 
eval { 
	my $result = $api_instance->apiV1LengthOfStayPredictionPost(body => $body, token => $token, content-type=>'application/json');
	print Dumper($result);
};
if ([email protected]) {
	warn "Exception when calling DefaultApi->apiV1LengthOfStayPredictionPost: [email protected]";
}
																				
import requests
url = "{{url}}/api/v1/ckyc"
payload = {"pan": '< pan string >', "dob": '< dob string >', "req_id": < req id string >  }
headers = {
  'token': '< your private token >',
  'content-type':'application/json'
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
	

Request Parameters

Header parameters

Name Description
token
String

Body parameters

Name Description
body {
  "req_id" : < string >,
  "dob": < string >,
  "pan": < string >,
}

Response Parameters

Status: 200 - API Request Successful

Body parameters

Name Description
body {
  "req_id" : < string >,
  "success" : < flag >,
  "error_message" : < string >,
  "ckyc_remarks" : < string >,
  "result" : < dict >,
}

Field Details

Fields Values/Description
req_id Request ID used for processing requests
dob Date of Birth of PAN Holder (dd-mm-yyyy)
pan PAN ID number to be searched

Response Field Details

Fields Values/Description
req_id Corresponding request id
success Flag if the request is processed successfully
error_message If success is False then: Error message
ckyc_remarks Remarks in case record not found on CKYC
result Dictionary of parameters as retrieved from CKYC search