back  Back to APIs

Aadhaar Offline Verification

{{el |capitalize:true}}

{{username ? 'subscribe' : 'start free trial'}}

Remaining API Counts:

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

API Overview

Offline Verification facilitates paperless verification of Aadhaar. Our API verifies and processes Zip file downloaded from UIDAI for offline (paperless) verification of Aadhaar.

try it out

( Click on the image to enlarge )

Try the API

Zip file for offline verification can be downloaded from UIDAI - https://myaadhaar.uidai.gov.in/offline-ekyc

Please drag and drop files or click to browse.

 

Drag and Drop

or Click to browse files

Please wait...

Your document is processed successfully.

{{xml_name}}

Key Value
{{k}} {{v}} Address {{ v.house + ',' + v.street + ',' + v.landmark + ',' + v.loc+ ',' + v.po+ ',' + v.subdist+ ',' + v.dist+ ',' + v.state+ ',' + v.country+ ',' + v.pincode+ ',' + v.vtc }}

Profile Image:


image

{{output.body.message}}


									        	

Documentation

POST

{{url}}/api/v1/aadhaar-offline-verification

API Token

  Regenerate

{{tokenDisplay}}  

Usage and Code Samples

curl --location --request POST '{{url}}/api/v1/aadhaar-offline-verification' \
--header 'token: < your private token >' \
--header 'content-type: application/json' \
--data-raw '{
	"doc_base64": '< base64 string of document >',
	"req_id": '< req id string >'
	"share_code": '< string >'
}'
																						
OkHttpClient client = new OkHttpClient().newBuilder().build();
  MediaType mediaType = MediaType.parse("application/javascript");
  RequestBody body = RequestBody.create(mediaType, "{ "doc_base64": '< base64 string of document >',"req_id": '< req id string >', "share_code": '< string >'  }");
  Request request = new Request.Builder()
	.url("{{url}}/api/v1/aadhaar-offline-verification")
	.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/aadhaar-offline-verification")
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 = "{"doc_base64": '< base64 string of document >',"req_id": < req id string >, "share_code": '< 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/aadhaar-offline-verification");
  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 = "{"doc_base64": '< base64 string of document >',"req_id": < req id string >, "share_code": '< 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/aadhaar-offline-verification',
  'headers': {
	'token': '< your private token >',
	'content-type':'application/json'
  },
  body: '{"doc_base64": "< base64 string of document >","req_id": < req id string >, "share_code": '< string >'  }'
	};
	request(options, function (error, response) {
	if (error) throw new Error(error);
console.log(response.body);
});
var client = new RestClient("{{url}}/api/v1/aadhaar-offline-verification");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("token", "< your private token >");
request.AddHeader("content-type", "application/json");
var body = @"{" + "" +
@"    "doc_base64": '< base64 string of document >'," + "" +
@"    "req_id": < req id string >" + "" +
@"    "share_code": < 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/aadhaar-offline-verification');
$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('{"doc_base64": "< base64 string of document >","req_id": < req id string >, "share_code": '< 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 ($@) {
	warn "Exception when calling DefaultApi->apiV1LengthOfStayPredictionPost: $@";
}
																				
import requests
url = "{{url}}/api/v1/aadhaar-offline-verification"
payload = {"doc_base64": "< base64 string of document >", "req_id": < req id string >, "share_code": '< 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 >,
  "share_code" : < string >,
  "doc_base64": < base64 encoded string >
}

Response Parameters

Status: 200 - API Request Successful

Body parameters

Name Description
body {
  "req_id" : < string >,
  "success" : < boolean >,
  "message" : < string >,
  "result" : < dict >,
}

Field Details

Request Field Details

Fields Values/Description
req_id Unique request ID used for processing requests
share_code Share code for the zip uploaded
doc_base64 Base64 encoded string of the document

Response Field Details

Fields Values/Description
req_id Corresponding request id
success Flag if the request is processed successfully
message If success is null then: Error message
result Dictionary of extracted data