Driver License Verification
A fast and accurate method of verifying the information on your user's driver's license and ID cards, BlockID Driver License Verification can be set up and integrated into your environment with a few simple steps.
Using our helper SDKs, developers can initiate the driver license verification process by sending an SMS containing a URL (and matching session) to our web-based application. Users follow the instructions on the application to take a photo of the front and back of their license, followed by a selfie photo.
Our servers are fully integrated with AAMVA - the American Association of Motor Vehicle Administrators. Using AAMVA, our systems verify the information on your driver's license or identification card with the issuing Department of Motor Vehicles.
Please note that AAMVA verifications are a paid service and have a cost associated with each scan. Please contact developers@1kosmos.com for more information
Please see our Driver License Verification Demo Application in our developer sandbox for a hands on demo of the driver's license verification process. This article is focused on configuring the backend to create the session and URL that users will use to access the driver's license verification scan.
Create a new Driver License Verification Session
Parameters
dns
: tenant domain as shown in the dashboardcommunityName
: tenant community as shown in the dashboardlicenseKey
: tenant license key as shown in the dashboarddvcId
: tenant document verification configuration as shown in the dashboarddocumentType
: set asdl_object
smsTo
: phone number, including area codesmsISDCode
: international subscriber dialing code of the phone numbersmsTemplateB64
: base64-encoded SMS message to send, along with the URL to initiate the web-based driver license scan (see example below)sessionId
: session ID returned by the API server for the driver license scan
Request Format
All requests are plug-and-play, not copy-paste. Please ensure that you are replacing the parameters in the request format below with the actual values
To begin, we first need to create a new session for the driver's license verification. We've outlined the request format.
- NodeJS
- PHP
- Java
- .NET
- Set tenant info and document verification configuration (dvcID)
const BIDVerifyDocument = require('blockid-nodejs-helpers/BIDVerifyDocument');
const BIDMessaging = require('blockid-nodejs-helpers/BIDMessaging');
const dvcId = "<dvcId>";
const documentType = "dl_object";
const tenantInfo = {
dns: "<tenant dns>",
communityName: "<community name>",
licenseKey: "<user license key>"
}
- Define the SMS message to send to users with the URL to initiate the driver's license verification web application
const sample_sms_template = "Hello Developer, Please complete your document verification scan for Company by visiting <link>"
The <link>
parameter is just a placeholder and will be replaced with the actual URL below
- Create a session and generate a URL to initiate the web-based driver's license verification
async function createSessionAndTriggerSMS() {
let createdSessionResponse = await BIDVerifyDocument.createDocumentSession(tenantInfo, dvcId, documentType);
// Replace the URL placeholder in sms template.
console.log('createdSessionResponse:', createdSessionResponse);
const templateText = sample_sms_template
.toString()
.replace(/<link>/, createdSessionResponse.url);
const smsTemplateB64 = Buffer.from(templateText).toString('base64');
// Trigger SMS with DL Scan link to the provided phone number
let smsResponse = await BIDMessaging.sendSMS(tenantInfo, smsTo = "<smsTo>", smsISDCode = "<smsISDCode>", smsTemplateB64);
}
- Start polling session for driver license verification, start face compare when
SUCCESS
is returned
The polling function will run until a SUCCESS
status is returned. See example polling responses
async function pollSession(sessionId) {
// Start poll session for DL scan + Live Id verirfication Response
let pollSessionResponse = await BIDVerifyDocument.pollSessionResult(tenantInfo, dvcId, sessionId);
console.log('pollSessionResponse:', pollSessionResponse);
// After receiving Success Response, start face_compare of dl image and liveid object
if (documentResponse.responseStatus === "SUCCESS") {
let document = {
id: pollSessionResponse.liveid_object.id,
type: "dl",
image1: pollSessionResponse.dl_object.face,
image2: pollSessionResponse.liveid_object.face,
purpose: "dl_verification"
};
const faceCompareResponse = await BIDVerifyDocument.verifyDocument(tenantInfo, dvcId, ["face_compare"], document);
console.log('faceCompareResponse::', faceCompareResponse);
}
}
- Create session and trigger SMS
var sessionResponse = createSessionAndTriggerSMS();
await pollSession(sessionResponse.sessionId)
- Set tenant info and document verification configuration (dvcID)
<?php
require_once("./BIDTenant.php");
require_once("./BIDVerifyDocument.php");
require_once("./BIDMessaging.php");
$tenantInfo = array("dns" => "$dns", "communityName" => "$communityName", "licenseKey" => "$licenseKey");
$dvcId = "<dvcId>";
$documentType = "dl_object";
$createdSessionResponse = BIDVerifyDocument::createDocumentSession($tenantInfo, $dvcId, $documentType);
- Define the SMS message to send to users with the URL to initiate the web-based driver's license verification
$smsTo = "<string with ISD code>"; // 1XXXXXXXXXX
$smsISDCode = $_POST["smsISDCode"];
$sample_sms_template = "Hello Developer, Please complete your document verification scan for Company by visiting <link>";
$smsTemplateText = str_replace("<link>", $createdSessionResponse["url"], $smsTemplateText);
The <link>
parameter is just a placeholder and will be replaced with the actual URL in the message
- Base64 encode the message
$smsTemplateB64 = base64_encode($smsTemplateText);
- Create a session and generate a URL to initiate the web-based driver's license verification
$smsResponse = BIDMessaging::sendSMS($tenantInfo, $smsTo, $smsISDCode, $smsTemplateB64);
?>
- Start polling session for driver license verification
The polling function will run until a SUCCESS
status is returned. See example polling responses
<?php
require_once("./BIDTenant.php");
require_once("./BIDVerifyDocument.php");
$tenantInfo = array("dns" => "$dns", "communityName" => "$communityName", "licenseKey" => "$licenseKey");
$dvcId = "<dvcId>";
$sessionId = "<sessionId>";
$pollSessionResponse = BIDVerifyDocument::pollSessionResult($tenantInfo, $dvcId, $sessionId);
- After receiving
SUCCESS
response, start face compare
if(isset($pollSessionResponse["responseStatus"]) && $pollSessionResponse["responseStatus"] === "SUCCESS" ) {
$document = array(
"id"=> $pollSessionResponse["liveid_object"]["id"],
"type"=> "dl",
"image1"=> $pollSessionResponse["dl_object"]["face"],
"image2"=> $pollSessionResponse["liveid_object"]["face"],
"purpose"=> "dl_verification"
);
$faceCompareResponse = BIDVerifyDocument::verifyDocument($tenantInfo, $dvcId, ["face_compare"], $document);
}
?>
- Set tenant info and document verification configuration (dvcID)
BIDTenantInfo tenantInfo = new BIDTenantInfo("<dns>", "<communityName>", "<licenseKey>");
BIDCreateDocumentSessionResponse createdSessionResponse = BIDVerifyDocument.createDocumentSession(tenantInfo, "<dvcId>", "dl_object");
- Define the SMS message to send to users with the URL to initiate the web-based driver's license verification
String smsTemplateText = "Hello Developer, Please complete your document verification scan for Company by visiting <link>";
The <link>
parameter is just a placeholder and will be replaced with the actual URL below
- Switch URL placeholder with actual verification link and base64 encode
import org.apache.commons.codec.binary.Base64;
String templateText = smsTemplateText.replace("<link>", createdSessionResponse.url);
byte[] byteData = Base64.encodeBase64(smsTemplateText.getBytes());
String smsTemplateB64 = new String(byteData);
- Create a session and generate a URL to initiate the web-based driver's license verification
BIDSendSMSResponse smsResponse = BIDMessaging.sendSMS(tenantInfo, smsTo, smsISDCode, smsTemplateB64);
- Start polling session for driver license verification
The polling function will run until a SUCCESS
status is returned. See example polling responses
BIDPollSessionResponse pollSessionResponse = BIDVerifyDocument.pollSessionResult(tenantInfo, dvcId, sessionId);
- After receiving
SUCCESS
response, start face compare
Map < String, Object > faceCompareDocument = new HashMap < > ();
faceCompareDocument.put("id", pollSessionResponse.liveid_object.id);
faceCompareDocument.put("type", "dl");
faceCompareDocument.put("image1", pollSessionResponse.dl_object.face);
faceCompareDocument.put("image2", pollSessionResponse.liveid_object.face);
faceCompareDocument.put("purpose", "dl_verification");
String[] verifications = { "face_compare" };
BIDVerifyDocumentResponse documentResponse = BIDVerifyDocument.verifyDocument(tenantInfo, dvcId, verifications, faceCompareDocument);
- Set tenant info and document verification configuration (dvcID)
using BIDHelpers.BIDVerifyDocument;
using BIDHelpers.BIDVerifyDocument.Model;
using BIDHelpers.BIDMessaging;
using BIDHelpers.BIDMessaging.Model;
using BIDHelpers.BIDTenant.Model;
BIDTenantInfo bidTenantInfo = new BIDTenantInfo("<dns>", "<communityName>", "<licenseKey>");
BIDCreateDocumentSessionResponse createdSessionResponse = BIDVerifyDocument.CreateDocumentSession(bidTenantInfo, "<dvcId>", "dl_object");
- Define the SMS message to send to users with the URL to initiate the web-based driver's license verification
string smsTemplateText = "Hello Developer, Please complete your document verification scan for Company by visiting <link>";
The <link>
parameter is just a placeholder and will be replaced with the actual URL below
- Switch URL placeholder with actual verification link and base64 encode
string templateText = smsTemplateText.Replace("<link>", createdSessionResponse.url);
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(templateText);
string smsTemplateB64 = Convert.ToBase64String(plainTextBytes);
- Create a session and generate a URL to initiate the web-based driver's license verification
BIDSendSMSResponse smsResponse = BIDMessaging.SendSMS(bidTenantInfo, "<smsTo>", "<smsISDCode>", "<smsTemplateB64>");
- Start polling session for driver license verification
The polling function will run until a SUCCESS
status is returned. See example polling responses
BIDPollSessionResponse pollSessionResponse = BIDVerifyDocument.PollSessionResult(bidTenantInfo, "<dvcId>", "<sessionId>");
- Verify the document
BIDVerifyDocumentResponse documentResponse = BIDVerifyDocument.VerifyDocument(bidTenantInfo, "<dvcId>", "<verifications>", "<faceCompareDocument>");
- After receiving
SUCCESS
response, start face compare
if (pollSessionResponse.responseStatus == "SUCCESS")
{
IDictionary<string, object> faceCompareDocument = new Dictionary<string, object>
{
["id"] = pollSessionResponse.liveid_object.id,
["type"] = "dl",
["image1"] = pollSessionResponse.dl_object.face,
["image2"] = pollSessionResponse.liveid_object.face,
["purpose"] = "dl_verification"
};
string[] verifications = new string[] { "face_compare" };
BIDVerifyDocumentResponse documentResponse = BIDVerifyDocument.VerifyDocument(bidTenantInfo, dvcId, verifications, faceCompareDocument);
}
Example Request
Dummy information is provided in this example
- NodeJS
- PHP
- Java
- .NET
const BIDVerifyDocument = require('blockid-nodejs-helpers/BIDVerifyDocument');
const BIDMessaging = require('blockid-nodejs-helpers/BIDMessaging');
const dvcId = "devx_57010000-ea00-4500-ab00-b86d22000000";
const documentType = "dl_object";
const tenantInfo = {
dns: "blockid-trial.1kosmos.net",
communityName: "default",
licenseKey: "00000000-0000-0000-0000-000000000000"
}
//Define SMS message
const sample_sms_template = "Hello Developer, Please complete your document verification scan for Company by visiting <link>"
// Create verification session and URL
async function createSessionAndTriggerSMS() {
let createdSessionResponse = await BIDVerifyDocument.createDocumentSession(tenantInfo, dvcId, documentType);
// Switch URL placeholder with actual verification link in sms template
console.log('createdSessionResponse:', createdSessionResponse);
const templateText = sample_sms_template
.toString()
.replace(/<link>/, createdSessionResponse.url);
const smsTemplateB64 = Buffer.from(templateText).toString('base64');
// Trigger SMS with verification link to the provided phone number
let smsResponse = await BIDMessaging.sendSMS(tenantInfo, smsTo = "1234567890", smsISDCode = "1", smsTemplateB64);
return createdSessionResponse;
}
// Start poll session for DL scan + Live ID verification response
async function pollSession(sessionId) {
let pollSessionResponse = await BIDVerifyDocument.pollSessionResult(tenantInfo, dvcId, sessionId);
console.log('pollSessionResponse:', pollSessionResponse);
// After receiving Success Response, start face_compare of dl image and liveid object
if (documentResponse.responseStatus === "SUCCESS") {
let document = {
id: pollSessionResponse.liveid_object.id,
type: "dl",
image1: pollSessionResponse.dl_object.face,
image2: pollSessionResponse.liveid_object.face,
purpose: "dl_verification"
};
const faceCompareResponse = await BIDVerifyDocument.verifyDocument(tenantInfo, dvcId, ["face_compare"], document);
console.log('faceCompareResponse::', faceCompareResponse);
}
}
var sessionResponse = createSessionAndTriggerSMS();
await pollSession(sessionResponse.sessionId)
<!-- Create new Driver's License verification session and Trigger SMS -->
<?php
require_once("./BIDTenant.php");
require_once("./BIDVerifyDocument.php");
require_once("./BIDMessaging.php");
$tenantInfo = array("dns" => "blockid-trial.1kosmos.net", "communityName" => "devx", "licenseKey" => "24b4e0df-29ed-488d-bfe1-000000000000");
$dvcId = "devx_57010000-ea00-4500-ab00-b86d22000000";
$documentType = "dl_object";
$createdSessionResponse = BIDVerifyDocument::createDocumentSession($tenantInfo, $dvcId, $documentType);
$smsTo = "15558675309"; // 1XXXXXXXXXX
$smsISDCode = $_POST["smsISDCode"];
$sample_sms_template = "Hello Developer, Please complete your document verification scan for Company by visiting <link>";
$smsTemplateText = str_replace("<link>", $createdSessionResponse["url"], $smsTemplateText);
$smsTemplateB64 = base64_encode($smsTemplateText);
$smsResponse = BIDMessaging::sendSMS($tenantInfo, $smsTo, $smsISDCode, $smsTemplateB64);
?>
<!-- Poll for Driver's License session response -->
<?php
require_once("./BIDTenant.php");
require_once("./BIDVerifyDocument.php");
$tenantInfo = array("dns" => "blockid-trial.1kosmos.net", "communityName" => "devx", "licenseKey" => "24b4e0df-29ed-488d-bfe1-000000000000");
$dvcId = "devx_57010000-ea00-4500-ab00-b86d22000000";
$sessionId = "5386fa9d-2e47-4866-8637-217000000000";
$pollSessionResponse = BIDVerifyDocument::pollSessionResult($tenantInfo, $dvcId, $sessionId);
if(isset($pollSessionResponse["responseStatus"]) && $pollSessionResponse["responseStatus"] === "SUCCESS" ) {
$document = array(
"id"=> $pollSessionResponse["liveid_object"]["id"],
"type"=> "dl",
"image1"=> $pollSessionResponse["dl_object"]["face"],
"image2"=> $pollSessionResponse["liveid_object"]["face"],
"purpose"=> "dl_verification"
);
$faceCompareResponse = BIDVerifyDocument::verifyDocument($tenantInfo, $dvcId, ["face_compare"], $document);
}
?>
// Set tenant info
BIDTenantInfo tenantInfo = new BIDTenantInfo("devblockid-trial.1kosmos.net", "default", "00000000-0000-0000-0000-000000000000");
//Create verification session and URL
BIDCreateDocumentSessionResponse createdSessionResponse = BIDVerifyDocument.createDocumentSession(tenantInfo, "devx_57010000-ea00-4500-ab00-b86d22000000", "dl_object");
//Define SMS message
String smsTemplateText = "Hello Developer, Please complete your document verification scan for Company by visiting <link>";
// Switch URL placeholder with actual verification link in sms template and base64 encode
import org.apache.commons.codec.binary.Base64;
String templateText = smsTemplateText.replace("<link>", createdSessionResponse.url);
byte[] byteData = Base64.encodeBase64(smsTemplateText.getBytes());
String smsTemplateB64 = new String(byteData);
// Trigger SMS with verification link to the provided phone number
BIDSendSMSResponse smsResponse = BIDMessaging.sendSMS(tenantInfo, "1234567890", "1", smsTemplateB64);
// Start poll session for DL scan + Live ID verification response
BIDPollSessionResponse pollSessionResponse = BIDVerifyDocument.pollSessionResult(tenantInfo, "devx_57010000-ea00-4500-ab00-b86d22000000", "5386fa9d-2e47-4866-8637-217000000000");
// After receiving SUCCESS response start face compare of DL image and LiveID selfie
if (pollSessionResponse.responseStatus.equals("SUCCESS")) {
Map < String, Object > faceCompareDocument = new HashMap < > ();
faceCompareDocument.put("id", pollSessionResponse.liveid_object.id);
faceCompareDocument.put("type", "dl");
faceCompareDocument.put("image1", pollSessionResponse.dl_object.face);
faceCompareDocument.put("image2", pollSessionResponse.liveid_object.face);
faceCompareDocument.put("purpose", "dl_verification");
String[] verifications = { "face_compare" };
BIDVerifyDocumentResponse documentResponse = BIDVerifyDocument.verifyDocument(tenantInfo, "devx_57010000-ea00-4500-ab00-b86d22000000", verifications, faceCompareDocument);
}
return pollSessionResponse;
// Import libraries
using BIDHelpers.BIDVerifyDocument;
using BIDHelpers.BIDVerifyDocument.Model;
using BIDHelpers.BIDMessaging;
using BIDHelpers.BIDMessaging.Model;
using BIDHelpers.BIDTenant.Model;
// Set tenant info
BIDTenantInfo bidTenantInfo = new BIDTenantInfo("blockid-trial.1kosmos.net", "devx", "0005c9f8-1918-40be-aa00-e319043f7xxx");
string dvcId = "devx_57010000-ea00-4500-ab00-b86d22000000";
string documentType = "dl_object";
// Create verification session and URL
BIDCreateDocumentSessionResponse createdSessionResponse = BIDVerifyDocument.CreateDocumentSession(bidTenantInfo, dvcId, documentType);
//Define SMS message
string smsTemplateText = "Hello Developer, Please complete your document verification scan for Company by visiting <link>";
// Switch URL placeholder with actual verification link in sms template and base64 encode
string templateText = smsTemplateText.Replace("<link>", createdSessionResponse.url);
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(templateText);
string smsTemplateB64 = Convert.ToBase64String(plainTextBytes);
BIDSendSMSResponse smsResponse = BIDMessaging.SendSMS(bidTenantInfo, "8581234567", "1", smsTemplateB64);\
// Start poll session for DL scan + Live ID verification response
BIDPollSessionResponse pollSessionResponse = BIDVerifyDocument.PollSessionResult(bidTenantInfo, dvcId, createdSessionResponse.sessionId);
// After receiving Success Response, start face_compare of dl image and liveid object
if (pollSessionResponse.responseStatus == "SUCCESS")
{
IDictionary<string, object> faceCompareDocument = new Dictionary<string, object>
{
["id"] = pollSessionResponse.liveid_object.id,
["type"] = "dl",
["image1"] = pollSessionResponse.dl_object.face,
["image2"] = pollSessionResponse.liveid_object.face,
["purpose"] = "dl_verification"
};
string[] verifications = new string[] { "face_compare" };
BIDVerifyDocumentResponse documentResponse = BIDVerifyDocument.VerifyDocument(bidTenantInfo, dvcId, verifications, faceCompareDocument);
}
Server Responses
Responses include dummy data as an example of a typical response
A successful request should return a session ID, along with the URL that users should visit on their mobile device to initiate the driver's license verification scan.
Driver License Verification Responses
- 200
- 401
- 403
- 404
{
"url": "https://multieastt.reauthid.com/MWA/index.html?token=c575f661-905f-49d9-bcf9-261ca0000000",
"sessionId": "c575f661-905f-49d9-bcf9-261ca0000000"
}
The API accepted the request and has returned a session ID and link to initiate the document verification process.
{
"error_code": 401,
"message":"Unauthorized"
}
The request was not authorized.
{
"error_code": 403,
"message":"Forbidden"
}
The user does not have appropriate permission to make this request. Please contact your tenant or community administrator for support.
{
"error_code": 404,
"message":"Unable to load tenant/community"
}
If the user encounters the message "Unable to load tenant/community" during the DL verification process, they can access the tenant and license key information configured on their user dashboard.
Polling Function Responses
- SUCCESS
- INPROGRESS
{
"responseStatus": "SUCCESS",
"sessionId": "0acc3890-7df9-4867-afda-0b5000000000",
"dl_object":
{
"type": "dl",
"documentType": "DL",
"category": "identity_document",
"documentId": "W599Z0673B",
"id": "W599Z0673B",
"firstName": "CAMEMON",
"lastName": "ABBA",
"familyName": "ABBA",
"middleName": "HASSAN",
"givenName": "CAMEMON HASSAN",
"fullName": "CAMEMON HASSAN ABBA",
"doe": "20270620",
"doi": "20210605",
"face": "",
"image": "",
"imageBack": "",
"gender": "1",
"height": "5'9",
"eyeColor": "Brown",
"street": "19821 NE 185TH ST",
"city": "WOODINVILLE",
"restrictionCode": "WOODINVILLE",
"residenceCity": "WOODINVILLE",
"state": "WA",
"country": "USA",
"zipCode": "980779426",
"residenceZipCode": "980779426",
"county": "King",
"classificationCode": "WA",
"complianceType": "1",
"placeOfBirth": null
},
"liveid_object": {
"id": "com.blockid.liveid",
"type": "liveid",
"category": "identity_document",
"face": "fgRuQ1Lqkcn3cni76M77ER9iBfYNQ5vwf0qfPvHyWFiMAAAAASUVORK5CYII="
},
"token": "iVBORw0KGgoAAAAN/SUhEUgAAACAAAAAg="
}
{
"responseStatus": "INPROGRESS",
"sessionId": "0acc3890-7df9-4867-afda-0b5000000000",
"metadata": {
"requestID": "e8a4eba8-89a4-4b63-0000-719000000000",
"requestStatus": "INPROGRESS",
"uid": "2901d7af-e89f-47dc-98fd-fda000000000",
"transactions": [
{
"transactionStatus": "PENDING",
"executedDeletionRule": false,
"sequenceNumber": 0,
"transactionDetails": {
"documentType": "01",
"accountCode": "9999",
"reviewScreenFront": "true",
"reviewScreenBack": "true",
"enableSelfieCapture": "true",
"enableFarSelfie": "false",
"selfieCaptureAttempt": "3",
"transactionAttempts": "3",
"frontCaptureAttempt": "3",
"backCaptureAttempt": "3",
"requestExpiryTimeInMin": "4320",
"transactionExpiryTimeInMin": "60",
"frontCaptureMode": "Auto",
"backCaptureMode": "Auto",
"enableMutualTLS": "false",
"frontSetManualTimeout": "15",
"backSetManualTimeout": "10",
"C_RequestCreationDate": "14/Jul/2022",
"C_RequestCreationTime": "10:06:05"
},
"pii": {}
}
]
}
}
Face Compare Responses
- SUCCESS
- FAIL
{
"docId": "com.blockid.liveid",
"docType": "dl",
"certifications": [
{
"docType": "dl",
"docId": "com.blockid.liveid",
"type": "face_compare",
"ts": 1651751289793,
"verified": true,
"result": {
"id": "com.blockid.liveid",
"type": "dl",
"category": "identity_document",
"confidence": 0.9920617938041687,
"minScore": 0.9
},
"metadata": {
"transactionId": "f4b48944-5476-430e-9487-291c612b990b",
"similarity": 0.9920617938041687
},
"token": "BZevuyUqEN4pUEJWMnhrPWiZyiAI+Il1FsrZNPzUqG5RjAKb5bVRdTGnl2LW/QOKE3YL+Aj4vegHOOQN9hFZssfuWKgNtHIEbST2uH7AqTbuW6CU+Ckli4SZTz75FGbSCDC38VmsdVlhCw+UVMExLq9Hb3J6u8oFyaA/HVuuxj0qo3CABXx/YEPv/8M/r0Ehn4IJuausX+aBap5z0iLCMfGrrphWy55KrbOiJj4bQfcqmtIkq2CqZHWA0l06oN9lw+hVUeyRdYYz0hIrhsazbT4NBQ4lEwXFc8SqrTSOLpQsgn3n3Hx7gbNmG0idD4wp2ZDy5NNoN7LmpahvUeFkYIBNscY5r16XoZmeRjYlwUZpc1cUJdRPQbGnu2f53M+Rhg3y5m4wIXRdMjkn+b6u8/fROp1O52jRRrrm2WNnb4OZhV3lryNPi9H6wc+58qvpfWcKu0BN0qobrAOm1//fp/X98446oSHMnDpXWM6yCGa/4A=="
}
]
}
{
"docId": "com.blockid.liveid",
"docType": "dl",
"certifications": [
{
"docType": "dl",
"docId": "com.blockid.liveid",
"type": "face_compare",
"ts": 1660886975259,
"verified": false,
"result": {
"id": "com.blockid.liveid",
"type": "dl",
"category": "identity_document"
},
"metadata": {
"errorMessage": "RequestId: 2c921179-5152-4bb8-89d5-16557548dd34 Error: Runtime exited with error: signal: aborted",
"errorType": "Runtime.ExitError"
}
}
]
}