back  Back to APIs

Virtual 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

Open an account. Register for a service. Buy a product. Any kind of transaction requires user verification. However, the authenticity of these consents is hardly ever verified. Question remains as to how it can be verified that the person agreeing to the terms and conditions online is genuine. With Arya’s virtual verification module, a person takes a live picture with an information placard in their hand. For verification purposes, the information written on the placard is unique and can be generated in real time and the customer writes it in their own handwriting. Our AI module verifies that the information in the picture matches the one generated in real time at the point of upload. It also ascertains that the person in the photo is an adult and can also be verifiable against a photo ID.

try it out

( Click on the image to enlarge )

Case Study

Virtual onboarding of customers is real. And you can ensure that your customers are real too

Read More

Try the API

Enter Verification Code

Drag and Drop

or Click to browse files

Please wait...

Samples to try

Follow the steps below

STEP 1

Select verification code

A 6 3 d     1 3 1 2
STEP 2

Select Sample image

Your document is processed successfully.

Your Verification code

{{consent_text}}

Approved!

{{consentMessage}}


Documentation

POST

{{url}}/api/v1/virtual-verification

API Token

  Regenerate

{{tokenDisplay}}  

Usage and Code Samples

curl --location --request POST '{{url}}/api/v1/virtual-verification' \
--header 'token: < your private token >' \
--header 'content-type: application/json' \
--data-raw '{
	"doc_type":'image',
	"doc_base64": '< base64 string of document >',
	"req_id": '< req id string >',
	"verification_code": '< verification string >'
}'
																						
OkHttpClient client = new OkHttpClient().newBuilder().build();
  MediaType mediaType = MediaType.parse("application/javascript");
  RequestBody body = RequestBody.create(mediaType, "{ "doc_type":'image', "doc_base64": '< base64 string of document >',"req_id": '< req id string , "verification_code": '< verification string >'>'  }");
  Request request = new Request.Builder()
	.url("{{url}}/api/v1/virtual-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/virtual-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_type":'image', "doc_base64": '< base64 string of document >',"req_id": < req id string > , "verification_code": '< verification 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/virtual-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_type":'image', "doc_base64": '< base64 string of document >',"req_id": < req id string > , "verification_code": '< verification 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/virtual-verification',
  'headers': {
	'token': '< your private token >',
	'content-type':'application/json'
  },
  body: '{"doc_type":"image", "doc_base64": "< base64 string of document >","req_id": < req id string > , "verification_code": '< verification string >' }'
	};
	request(options, function (error, response) {
	if (error) throw new Error(error);
console.log(response.body);
});
var client = new RestClient("{{url}}/api/v1/virtual-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_type": 'image'," + "" +
@"    "doc_base64": '< base64 string of document >'," + "" +
@"    "req_id": < req id string >" + "" +
@"    "verification_code": < verification 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/virtual-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_type":"image", "doc_base64": "< base64 string of document >","req_id": < req id string > ,"verification_code": '< verification 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/virtual-verification"
payload = {"doc_type":"image", "doc_base64": "< base64 string of document >", "req_id": < req id string > , "verification_code": '< verification 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 {
  "doc_type" : < string>,
  "verification_code" : < string>,
  "req_id" : < string>,
  "doc_base64": < base64 encoded string>
}

Response Parameters

Status: 200 - API Request Successful

Body parameters

Name Description
body {
  "req_id" : < string>,
  "success" : < boolean>,
  "verified" : < boolean>,
  "doc_type": < string>
  "error_message" : < string>,
  "text" : < string> ,
}

Field Details

Request Field Details

Fields Values/Description
doc_type “image”
req_id Request ID used for processing requests
verification_code Verification string for processing
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
verified Flag if the request is verified successfully
doc_type Type of document uploaded
error_message If success is False then: Error message
text Consent Text