{{pageDetails.pageDesc}}
Detects signatures across varied types of documents and signature styles, handwritten and digital
Provides a confidence score for each detected signature, indicating the likelihood of authenticity
Uses advanced AI to enhance signature areas, removing noise and improving quality for better readability
Automates cropping of signature cards for accurate matching with reference signatures for verification
Annual API Volume
Accuracy Rate
Daily API Volume
Time to launch
Hassle-Free,
No Code Platform
Easy to adopt
& integrate
99.99%
API Success Rate
Reliable &
Secure
29 Feb 2024
Data is crucial for any organization or business, especially for banks and...
5 April 2024
Financial fraud is a huge risk that can lead to organizations and...
15 April 2023
The importance of identity verification for banks and businesses cannot be...
Check out the API results using samples provided below.
Please wait...
{{output.body.error_message}}
sign: {{k+1}}
Confidence score : {{v.confidence | number : 2}}%
No signature detected
curl --location --request POST '{{url}}/api/{{api_version}}/{{pageDetails.ping_endpoint}}' \
--header 'token: < your private token >' \
--header 'content-type: application/json' \
--data-raw '{
"output_format":'snippets',
"doc_base64": '< base64 string of document >',
"req_id": '< req id string >'
}'
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/javascript");
RequestBody body = RequestBody.create(mediaType, "{ "output_format":'snippets', "doc_base64": '< base64 string of document >',"req_id": '< req id string >' }");
Request request = new Request.Builder()
.url("{{url}}/api/{{api_version}}/{{pageDetails.ping_endpoint}}")
.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/{{api_version}}/{{pageDetails.ping_endpoint}}")
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 = "{"output_format":'snippets', "doc_base64": '< base64 string of document >',"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/{{api_version}}/{{pageDetails.ping_endpoint}}");
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 = "{"output_format":'snippets', "doc_base64": '< base64 string of document >',"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/{{api_version}}/{{pageDetails.ping_endpoint}}',
'headers': {
'token': '< your private token >',
'content-type':'application/json'
},
body: '{"output_format":'snippets', "doc_base64": '< base64 string of document >',"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/{{api_version}}/{{pageDetails.ping_endpoint}}");
ṣclient.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("token", "< your private token >");
request.AddHeader("content-type", "application/json");
var body = @"{" + "" +
@" "output_format": 'snippets'," + "" +
@" "doc_base64": '< base64 string of document >'," + "" +
@" "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/{{api_version}}/{{pageDetails.ping_endpoint}}');
$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('{"output_format":'snippets', "doc_base64": '< base64 string of document >',"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();
}
?>
import requests
url = "{{url}}/api/{{api_version}}/{{pageDetails.ping_endpoint}}"
payload = {"output_format":'snippets', "doc_base64": '< base64 string of document >',"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)
Name | Description |
---|---|
token | String |
Name | Description |
---|---|
body |
{ "output_format" : < string >, "req_id" : < string >, "doc_base64": < base64 encoded string > } |
Name | Description |
---|---|
body |
{ "req_id" : < string >, "success" : < boolean >, "error_message" : < string >, "signs" : < dict >, } |
Fields | Values/Description |
---|---|
req_id | Unique request ID used for processing requests |
output_format | 'coordinates' or 'snippets' for required output format. (Default value is 'snippets') |
doc_base64 | Base64 encoded string of the document |
Fields | Values/Description |
---|---|
req_id | Corresponding request id |
success | Flag if the request is processed successfully |
doc_type | Type of KYC document uploaded |
error_message | If success is False then: Error message |
signs |
|