REST API

Rest API for Backend or custom integrations

Use this documentation to verify your users, detect liveness, and integrate into your UI/UX via a REST API. Although we recommend using the SDKs, we know that some systems may be better suited for the REST API, so we got you covered.

How to use the Rest API

1) Onboarding new customers

Andia stores the Biometrics Vectors from a video selfie (dynamic validation) or a picture selfie (static validation) that is taken during on-boarding process. This method returns a unique user identifier (user_id), with which one-to-one validations will be carried out later.

2) Dynamic Validations (Liveness Detection)

Verify a user is alive by validating that the user has blinked on video against the existing user_id.

3) Static Validations (no Liveness Detection)

Verify if a Selfie taken corresponds to an existing user_id (a user who has previously been onboarded).

Dynamic Validations (Liveness validation) endpoints

Register new customer

POST https://api.andia.io/v1/register_new_customer_video

This endpoint generates the Biometric vectors from new users using a short selfie video (1 to 3 seconds long) and returns a unique user_id.

Headers

NameTypeDescription

Content-Type

string

application/json

Authentication

string

Your API_KEY

Request Body

NameTypeDescription

video64

string

Base64 string (converted from mp4 format to Base64) ***The video must include a user blink.

video

object

Selfie video file (mp4 format) Recommended size less than 2 Mb Important ***The video must include a user blink.

{
    "success": true,
    "error_code": 0,
    "error": "",
    "message": "success",
    "user_id": "fb61986b-8208-4b9b-b4d5-49eb1178cdcd"
}
var request = require('request');

request({
  method: 'POST',
  url: 'https://api.andia.io/v1/register_new_customer_video',
  headers: {
    'Content-Type': 'multipart/form-data;boundary={boundary value}',
    'Authentication': 'Your API_KEY'
  },
  body: "--{boundary value}
Content-Disposition: form-data; name="video"; 
video
--{boundary value}--"
}, function (error, response, body) {
  console.log('Status:', response.statusCode);
  console.log('Headers:', JSON.stringify(response.headers));
  console.log('Response:', body);
});

Validation

POST https://api.andia.io/v1/validate_transaction_video

This endpoint compare an existing user_id against a short selfie video (1 to 3 seconds long).

Headers

NameTypeDescription

Content-Type

string

application/json

Authentication

string

Your API_KEY

Request Body

NameTypeDescription

video64

string

Base64 string (converted from mp4 format to Base64) ***The video must include a user blink

user_id

string

An existing user identifier

video

object

Selfie video file (mp4 format) Recommended size less than 2 Mb. Important ***The video must include a user blink.

{
    "success": true,
    "error_code": 0,
    "error": "",
    "message": "It is a Match"
}
var request = require('request');

request({
  method: 'POST',
  url: 'https://api.andia.io/v1/validate_transaction_video',
  headers: {
    'Content-Type': 'multipart/form-data;boundary={boundary value}',
    'Authentication': 'Your API_KEY',
    'Content-Disposition': 'form-data;''
  },
  body: "--{boundary value}
Content-Disposition: form-data; name="user_id";
user_id

--{boundary value}
Content-Disposition: form-data; name="video"; 
video
--{boundary value}--"
}, function (error, response, body) {
  console.log('Status:', response.statusCode);
  console.log('Headers:', JSON.stringify(response.headers));
  console.log('Response:', body);
});

Static methods (No Liveness detection) in case of existing user images

Register new customer

POST https://api.andia.io/v1/register_new_customer

This endpoint stores the Biometric vectors from new users and generate a unique user_id.

Headers

NameTypeDescription

Content-Type

string

application/json

Authentication

string

Your API_KEY

Request Body

NameTypeDescription

selfie

object

Selfie image file (jpg format) Recommended size less than 512 Kb

selfie64

string

Base 64 jpg Image (Required if selfie file is not provided) Recommended size less than 512 Kb

{
    "success": true,
    "error_code": 0,
    "error": "",
    "message": "success",
    "user_id": "fb61986b-8208-4b9b-b4d5-49eb1178cdcd"
}
var request = require('request');

request({
  method: 'POST',
  url: 'https://api.andia.io/v1/register_new_customer',
  headers: {
    'Content-Type': 'multipart/form-data;boundary={boundary value}',
    'Authentication': 'Your API_KEY',
    'Content-Disposition': 'form-data;''
  },
  body: "--{boundary value}
Content-Disposition: form-data; name="selfie"; 
selfie
--{boundary value}--"
}, function (error, response, body) {
  console.log('Status:', response.statusCode);
  console.log('Headers:', JSON.stringify(response.headers));
  console.log('Response:', body);
});

Validation

POST https://api.andia.io/v1/validate_transaction

This endpoint compare an existing user_id against a Selfie.

Headers

NameTypeDescription

Content-Type

string

application/json

Authentication

string

Your API_KEY

Request Body

NameTypeDescription

selfie64

string

Base 64 JPG Image Required if selfie file is not provided Recommended size less than 512 Kb

user_id

string

An existing user identifier

selfie

object

Selfie image file (jpg format) Recommended size less than 512 Kb

{
    "success": true,
    "error_code": 0,
    "error": "",
    "message": "It is a Match"
}
var request = require('request');

request({
  method: 'POST',
  url: 'https://api.andia.io/v1/validate_transaction',
  headers: {
    'Content-Type': 'multipart/form-data;boundary={boundary value}',
    'Authentication': 'Your API_KEY',
    'Content-Disposition': 'form-data;''
  },
  body: "--{boundary value}
Content-Disposition: form-data; name="user_id";
user_id

--{boundary value}
Content-Disposition: form-data; name="selfie"; 
video
--{boundary value}--"
}, function (error, response, body) {
  console.log('Status:', response.statusCode);
  console.log('Headers:', JSON.stringify(response.headers));
  console.log('Response:', body);
});

Last updated