Skip to main content

Dataspike API (v3)

Download OpenAPI specification:Download

Introduction

Welcome to the Dataspike API! You can use our API to access AML and Docver API endpoints.

Production API endpoint: api.dataspike.io

Sandbox API endpoint: sandboxapi.dataspike.io

All API requests must contain header Content-Type: application/json

For both endpoints API Key is required and can be generated at dash.dataspike.io Developer section

You have to include API Key in each request using ds-api-token Header name

AML Screening

PEP & Sanctions Screening API

Key Features:

  1. Real-time Screening: Perform instant screenings against constantly updated PEP and sanctions databases, ensuring you have the most current information at your fingertips.

  2. Customizable Workflow: Tailor the screening process to your specific needs, setting up thresholds and alerts that suit your risk appetite.

  3. Easy Integration: Our API is designed with simplicity in mind, making integration into your applications a seamless experience.

  4. Data Security: We prioritize data security and compliance, implementing industry-leading measures to protect your sensitive information.

Historical Search Report

This route allows to retrieve the old results of your searches by search_uuid from Search API

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Retrieve search history result by 'search_uuid'

Responses

Response Schema: application/json
requested_name
string
search_uuid
string

Search id, could be use later to fetch the existing search result

max_risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

Array of objects (EntityRecord)
Array
uuid
string
type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

annotation
string or null

Any general information

tags
Array of strings (Tag)
Items Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

object (EntityRecord.EntityFields)
updated_at
integer <int64>

epoch seconds

importance_score
number or null <double>

Relative importance score of entity, use risk_score for a final decision

Response samples

Content type
application/json
{
  • "requested_name": "string",
  • "search_uuid": "string",
  • "max_risk_score": "Low",
  • "data": [
    • {
      • "uuid": "string",
      • "type": "Person",
      • "annotation": "string",
      • "tags": [
        • "Finance"
        ],
      • "risk_score": "Low",
      • "fields": {
        • "names": [
          • {
            • "full_name": "string",
            • "first_name": "string",
            • "last_name": "string",
            • "middle_name": "string",
            • "lang": "string"
            }
          ],
        • "sources": [
          • {
            • "source_id": "string",
            • "name": "string",
            • "reason": "string",
            • "summary": "string",
            • "source_url": "string",
            • "risk_score": "Low",
            • "tags": [
              • "Finance"
              ]
            }
          ],
        • "media": [
          • {
            • "source_name": "string",
            • "source_url": "string",
            • "headline": "string",
            • "summary": "string",
            • "published_at": 0,
            • "risk_score": "Low",
            • "importance_score": 0.1,
            • "sentiment": 0.1,
            • "tags": [
              • "Finance"
              ],
            • "country_codes": [
              • "string"
              ]
            }
          ],
        • "images": [
          • {
            • "description": "string",
            • "url": "string"
            }
          ],
        • "contact_info": [
          • {
            • "emails": [
              • "string"
              ],
            • "phones": [
              • "string"
              ],
            • "websites": [
              • "string"
              ]
            }
          ],
        • "registration_ids": [
          • {
            • "id": "string",
            • "id_type": "string",
            • "date": "2019-08-24",
            • "industry": "string",
            • "country": "string"
            }
          ],
        • "addresses": [
          • {
            • "country": "string",
            • "region": "string",
            • "city": "string",
            • "postal_code": "string",
            • "address": "string"
            }
          ],
        • "genders": [
          • "Male"
          ],
        • "dates_of_birth": [
          • {
            • "gte": "1987-12-24",
            • "lte": "1987-12-24"
            }
          ],
        • "places_of_birth": [
          • {
            • "country": "string",
            • "region": "string",
            • "city": "string",
            • "postal_code": "string",
            • "address": "string"
            }
          ],
        • "dates_of_death": [
          • {
            • "gte": "1987-12-24",
            • "lte": "1987-12-24"
            }
          ],
        • "places_of_death": [
          • {
            • "country": "string",
            • "region": "string",
            • "city": "string",
            • "postal_code": "string",
            • "address": "string"
            }
          ],
        • "citizenships": [
          • "string"
          ],
        • "nationalities": [
          • "string"
          ],
        • "political_roles": [
          • {
            • "role": "string",
            • "country": "string"
            }
          ],
        • "occupations": [
          • {
            • "occupation": "string",
            • "country": "string"
            }
          ],
        • "companies_and_enterprises": [
          • {
            • "name": "string",
            • "reference": "string",
            • "role": "string",
            • "country": "string"
            }
          ],
        • "owners_and_beneficiaries": [
          • {
            • "name": "string",
            • "reference": "string",
            • "role": "string",
            • "country": "string"
            }
          ],
        • "associates": [
          • {
            • "uuid": "string",
            • "name": "string",
            • "start_date": {
              • "gte": "1987-12-24",
              • "lte": "1987-12-24"
              },
            • "end_date": {
              • "gte": "1987-12-24",
              • "lte": "1987-12-24"
              },
            • "relationship": "string",
            • "is_relative": true
            }
          ]
        },
      • "updated_at": 0,
      • "importance_score": 0.1
      }
    ]
}

Applicants

Applicant API

The Applicant API provides a powerful and flexible solution for creating new applicants, conducting AML (Anti-Money Laundering) checks, performing document verifications, and enabling customizable applicant monitoring settings. This API is designed to seamlessly integrate with your existing systems, allowing you to efficiently manage applicant data and compliance processes.

Key Features:

  1. Create New Applicants: The Applicant API enables you to programmatically create new applicant profiles by providing essential details such as name or identification data.
  2. AML Checks: Efficiently conduct Anti-Money Laundering checks on applicants to ensure compliance with regulatory requirements and prevent fraudulent activities. The API leverages industry-leading AML databases to screen applicants against sanctions lists and other watchlists.
  3. Customizable Monitoring Settings: With the Applicant API, you have the freedom to tailor applicant monitoring settings according to your specific compliance needs. You can configure the frequency of screening applicants against sanctions lists, enabling you to stay up-to-date with any changes in their status.

Create New Applicant

Submit applicant details, such as name, contact information or identification data, in JSON format to create a new applicant profile. The API will respond with a unique applicant ID for further interactions.

Authorizations:
ApiKeyAuth
Request Body schema: application/json

Create Applicant Request

One of
external_id
string

This is a unique identifier originating from your system, which will be associated and linked to the corresponding Applicant ID in our system.

email
string or null

applicant email

phone
string or null

applicant phone number

object (ApplicantPersonExternalInfo)

This object allows you to include any supplementary information about the applicant, such as their first, last name or citizenship.

full_name
string

Full Person name, if not specified will fallback to first_name and last name

first_name
string

First name

last_name
string

Last name

dob
string <ISO-8601>

Date of birth in ISO-8601 format

gender
string
Enum: "M" "F"

gender that is used in official documents

citizenship
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Currently can be set via manual fields feature via API when creating applicants. (Available in provided_info in applicant)

country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Country extracted from POI document. (Available in system_info in applicant)

address
string

Applicant address, could be used for any type of applicants

object (ApplicantAddresses)

List of applicant addresses, only residence for now.

object (FullAddress)

Detailed address

country
required
string

ISO 3166-1 ALPHA-2 code

city
required
string

City name

postal_code
required
string

postal code (or zip) for the address.

street
required
string

Street adress line

custom_fields
object (CustomFields)

Key - value object, values can be only strings

aml_screening_enabled
boolean or null
Default: false

Enables the option to activate or deactivate daily AML monitoring for applicants. When an applicant is identified in any Sanction List during the monitoring process, a notification will be triggered through the configured Webhooks.

applicant_type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

object or null (ApplicantSearchOptions)

The Search Options functionality is intended for the customization of applicant AML monitoring

risk_scores
Array of strings or null (RiskScore)
Enum: "Low" "Medium" "High"
tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
sources
Array of strings or null (SourceId)
fuzziness
boolean or null
Default: true
phonetics
boolean or null
Default: true
mode
integer or null
Default: 0
Enum: 0 1 2

0 - AUTO(Recommended), Automatically optimize query - full_name serves as the primary search term, unless both the first and last names are provided. In such a scenario, the combination of the first and last names becomes the primary term, and the full_name is employed to enhance the relevance of results.

1 - FULL_NAME_ONLY, ignores first_name and last_name fields, and only use full_name in search requests

2 - FIRST_AND_LAST_NAMES_ONLY, ignores full_name field and uses only combination of first_name and last_name in search requests

Responses

Response Schema: application/json
id
string <uuid>

Id of created applicant

Request samples

Content type
application/json
Example
{
  • "external_id": "external_user_id_123",
  • "email": "[email protected]",
  • "phone": "+1234567890",
  • "info": {
    • "full_name": "John Doe",
    • "first_name": "John",
    • "last_name": "Doe",
    • "dob": "1987-12-24",
    • "gender": "M",
    • "citizenship": "DE",
    • "country": "DE",
    • "address": "Paris, France",
    • "addresses": {
      • "residence": {
        • "country": "DE",
        • "city": "Berlin",
        • "postal_code": "10999",
        • "street": "Wiener Straße 17"
        }
      },
    • "custom_fields": { }
    },
  • "aml_screening_enabled": false,
  • "applicant_type": "Person",
  • "search_options": {
    • "risk_scores": [
      • "Low"
      ],
    • "tags": [
      • "Finance"
      ],
    • "sources": [
      • "string"
      ],
    • "fuzziness": true,
    • "phonetics": true,
    • "mode": 0
    }
}

Response samples

Content type
application/json
{
  • "id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11"
}

List existing applicants

Allows to retrieve a collection of existing applicant profiles within the system.

Authorizations:
ApiKeyAuth
query Parameters
page
integer
Default: 0

Current page

limit
integer
Default: 10

Limit of returned applicants per page

Responses

Response Schema: application/json
required
Array of objects or objects

List of an existing paginated items

Array
One of
applicant_id
string <uuid>

Applicant ID in Dataspike system

external_id
string or null

This is a unique identifier originating from your system, associated and linked to the corresponding Applicant ID in our system.

type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

email
string or null

applicant email

phone
string or null

applicant phone number

ApplicantPersonExternalInfo (object)

Additional info, generated during verification process by system

ApplicantPersonExternalInfo (object)

External data provided during applicant creation

last_verification_id
string or null <uuid>

The id of last document verification

verification_status
string (ApplicantVerificationStatus)
Enum: "initial" "passed" "failed"

Status of applicant's last verification. Initial if applicant doesn't have a completed verification.

aml_screening_enabled
boolean or null
Default: false

Describes whether AML screening option is enabled for specified Applicant or disabled

last_aml_screening_id
string or null <uuid>

Id of the last screening operation

last_screened_at
string or null <ISO-8601>

Timestamp of the last screening operation

last_risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

last_tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"

List of tags of the last screening operation

tg_profile
string or null

Telegram ID linked to Applicant

object or null (ApplicantSearchOptions)

The Search Options functionality is intended for the customization of applicant AML monitoring

has_next
boolean
Default: false

This property serves as an indicator of whether there is a next page available in the paginated result

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "external_id": "external_user_id_123",
      • "type": "Person",
      • "email": "[email protected]",
      • "phone": "+1234567890",
      • "system_info": {
        • "full_name": "John Doe",
        • "first_name": "John",
        • "last_name": "Doe",
        • "dob": "1987-12-24",
        • "gender": "M",
        • "citizenship": "DE",
        • "country": "DE",
        • "address": "Paris, France",
        • "addresses": {
          • "residence": {
            • "country": "DE",
            • "city": "Berlin",
            • "postal_code": "10999",
            • "street": "Wiener Straße 17"
            }
          },
        • "custom_fields": { }
        },
      • "provided_info": {
        • "full_name": "John Doe",
        • "first_name": "John",
        • "last_name": "Doe",
        • "dob": "1987-12-24",
        • "gender": "M",
        • "citizenship": "DE",
        • "country": "DE",
        • "address": "Paris, France",
        • "addresses": {
          • "residence": {
            • "country": "DE",
            • "city": "Berlin",
            • "postal_code": "10999",
            • "street": "Wiener Straße 17"
            }
          },
        • "custom_fields": { }
        },
      • "last_verification_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "verification_status": "initial",
      • "aml_screening_enabled": false,
      • "last_aml_screening_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "last_screened_at": "2023-07-18T15:32:13Z",
      • "last_risk_score": "Low",
      • "last_tags": [
        • "Finance"
        ],
      • "tg_profile": "1234567890",
      • "search_options": {
        • "risk_scores": [
          • "Low"
          ],
        • "tags": [
          • "Finance"
          ],
        • "sources": [
          • "string"
          ],
        • "fuzziness": true,
        • "phonetics": true,
        • "mode": 0
        }
      }
    ],
  • "has_next": false
}

Get Existing Applicant

Retrieve detailed information about an existing applicant by providing their unique Applicant ID as a URL parameter.

Authorizations:
ApiKeyAuth
path Parameters
applicant_id
required
string <uuid>
Example: 01827ed5-c228-7a3c-9a31-7ab7cc169d13

Existing aapplicant id

Responses

Response Schema: application/json
One of
applicant_id
string <uuid>

Applicant ID in Dataspike system

external_id
string or null

This is a unique identifier originating from your system, associated and linked to the corresponding Applicant ID in our system.

type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

email
string or null

applicant email

phone
string or null

applicant phone number

ApplicantPersonExternalInfo (object)

Additional info, generated during verification process by system

One of
full_name
string

Full Person name, if not specified will fallback to first_name and last name

first_name
string

First name

last_name
string

Last name

dob
string <ISO-8601>

Date of birth in ISO-8601 format

gender
string
Enum: "M" "F"

gender that is used in official documents

citizenship
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Currently can be set via manual fields feature via API when creating applicants. (Available in provided_info in applicant)

country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Country extracted from POI document. (Available in system_info in applicant)

address
string

Applicant address, could be used for any type of applicants

object (ApplicantAddresses)

List of applicant addresses, only residence for now.

object (FullAddress)

Detailed address

country
required
string

ISO 3166-1 ALPHA-2 code

city
required
string

City name

postal_code
required
string

postal code (or zip) for the address.

street
required
string

Street adress line

custom_fields
object (CustomFields)

Key - value object, values can be only strings

ApplicantPersonExternalInfo (object)

External data provided during applicant creation

One of
full_name
string

Full Person name, if not specified will fallback to first_name and last name

first_name
string

First name

last_name
string

Last name

dob
string <ISO-8601>

Date of birth in ISO-8601 format

gender
string
Enum: "M" "F"

gender that is used in official documents

citizenship
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Currently can be set via manual fields feature via API when creating applicants. (Available in provided_info in applicant)

country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Country extracted from POI document. (Available in system_info in applicant)

address
string

Applicant address, could be used for any type of applicants

object (ApplicantAddresses)

List of applicant addresses, only residence for now.

object (FullAddress)

Detailed address

country
required
string

ISO 3166-1 ALPHA-2 code

city
required
string

City name

postal_code
required
string

postal code (or zip) for the address.

street
required
string

Street adress line

custom_fields
object (CustomFields)

Key - value object, values can be only strings

last_verification_id
string or null <uuid>

The id of last document verification

verification_status
string (ApplicantVerificationStatus)
Enum: "initial" "passed" "failed"

Status of applicant's last verification. Initial if applicant doesn't have a completed verification.

aml_screening_enabled
boolean or null
Default: false

Describes whether AML screening option is enabled for specified Applicant or disabled

last_aml_screening_id
string or null <uuid>

Id of the last screening operation

last_screened_at
string or null <ISO-8601>

Timestamp of the last screening operation

last_risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

last_tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"

List of tags of the last screening operation

tg_profile
string or null

Telegram ID linked to Applicant

object or null (ApplicantSearchOptions)

The Search Options functionality is intended for the customization of applicant AML monitoring

risk_scores
Array of strings or null (RiskScore)
Enum: "Low" "Medium" "High"
tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
sources
Array of strings or null (SourceId)
fuzziness
boolean or null
Default: true
phonetics
boolean or null
Default: true
mode
integer or null
Default: 0
Enum: 0 1 2

0 - AUTO(Recommended), Automatically optimize query - full_name serves as the primary search term, unless both the first and last names are provided. In such a scenario, the combination of the first and last names becomes the primary term, and the full_name is employed to enhance the relevance of results.

1 - FULL_NAME_ONLY, ignores first_name and last_name fields, and only use full_name in search requests

2 - FIRST_AND_LAST_NAMES_ONLY, ignores full_name field and uses only combination of first_name and last_name in search requests

Response samples

Content type
application/json
Example
{
  • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "external_id": "external_user_id_123",
  • "type": "Person",
  • "email": "[email protected]",
  • "phone": "+1234567890",
  • "system_info": {
    • "full_name": "John Doe",
    • "first_name": "John",
    • "last_name": "Doe",
    • "dob": "1987-12-24",
    • "gender": "M",
    • "citizenship": "DE",
    • "country": "DE",
    • "address": "Paris, France",
    • "addresses": {
      • "residence": {
        • "country": "DE",
        • "city": "Berlin",
        • "postal_code": "10999",
        • "street": "Wiener Straße 17"
        }
      },
    • "custom_fields": { }
    },
  • "provided_info": {
    • "full_name": "John Doe",
    • "first_name": "John",
    • "last_name": "Doe",
    • "dob": "1987-12-24",
    • "gender": "M",
    • "citizenship": "DE",
    • "country": "DE",
    • "address": "Paris, France",
    • "addresses": {
      • "residence": {
        • "country": "DE",
        • "city": "Berlin",
        • "postal_code": "10999",
        • "street": "Wiener Straße 17"
        }
      },
    • "custom_fields": { }
    },
  • "last_verification_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "verification_status": "initial",
  • "aml_screening_enabled": false,
  • "last_aml_screening_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "last_screened_at": "2023-07-18T15:32:13Z",
  • "last_risk_score": "Low",
  • "last_tags": [
    • "Finance"
    ],
  • "tg_profile": "1234567890",
  • "search_options": {
    • "risk_scores": [
      • "Low"
      ],
    • "tags": [
      • "Finance"
      ],
    • "sources": [
      • "string"
      ],
    • "fuzziness": true,
    • "phonetics": true,
    • "mode": 0
    }
}

Update applicant info

Update provided information of applicant.

Send explicit null to remove the field value. For example: {"country": null}

Beta

Authorizations:
ApiKeyAuth
path Parameters
applicant_id
required
string <uuid>
Example: 01827ed5-c228-7a3c-9a31-7ab7cc169d13

Existing aapplicant id

Request Body schema: application/json

Applicant info

One of
full_name
string

Full Person name, if not specified will fallback to first_name and last name

first_name
string

First name

last_name
string

Last name

dob
string <ISO-8601>

Date of birth in ISO-8601 format

gender
string
Enum: "M" "F"

gender that is used in official documents

citizenship
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Currently can be set via manual fields feature via API when creating applicants. (Available in provided_info in applicant)

country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Country extracted from POI document. (Available in system_info in applicant)

address
string

Applicant address, could be used for any type of applicants

object (ApplicantAddresses)

List of applicant addresses, only residence for now.

object (FullAddress)

Detailed address

country
required
string

ISO 3166-1 ALPHA-2 code

city
required
string

City name

postal_code
required
string

postal code (or zip) for the address.

street
required
string

Street adress line

custom_fields
object (CustomFields)

Key - value object, values can be only strings

Responses

Request samples

Content type
application/json
Example
{
  • "full_name": "John Doe",
  • "first_name": "John",
  • "last_name": "Doe",
  • "dob": "1987-12-24",
  • "gender": "M",
  • "citizenship": "DE",
  • "country": "DE",
  • "address": "Paris, France",
  • "addresses": {
    • "residence": {
      • "country": "DE",
      • "city": "Berlin",
      • "postal_code": "10999",
      • "street": "Wiener Straße 17"
      }
    },
  • "custom_fields": { }
}

Delete Existing Applicant

The API enables the deletion of an applicant from the applicants list while ensuring the preservation of all data through archiving.

Authorizations:
ApiKeyAuth
path Parameters
applicant_id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Delete Applicant by ID

Responses

Get Applicant by External id

Retrieve detailed information about an existing applicant by providing their unique External ID as a URL parameter.

Authorizations:
ApiKeyAuth
path Parameters
external_id
required
string

External id of applicant

Responses

Response Schema: application/json
One of
applicant_id
string <uuid>

Applicant ID in Dataspike system

external_id
string or null

This is a unique identifier originating from your system, associated and linked to the corresponding Applicant ID in our system.

type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

email
string or null

applicant email

phone
string or null

applicant phone number

ApplicantPersonExternalInfo (object)

Additional info, generated during verification process by system

One of
full_name
string

Full Person name, if not specified will fallback to first_name and last name

first_name
string

First name

last_name
string

Last name

dob
string <ISO-8601>

Date of birth in ISO-8601 format

gender
string
Enum: "M" "F"

gender that is used in official documents

citizenship
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Currently can be set via manual fields feature via API when creating applicants. (Available in provided_info in applicant)

country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Country extracted from POI document. (Available in system_info in applicant)

address
string

Applicant address, could be used for any type of applicants

object (ApplicantAddresses)

List of applicant addresses, only residence for now.

object (FullAddress)

Detailed address

country
required
string

ISO 3166-1 ALPHA-2 code

city
required
string

City name

postal_code
required
string

postal code (or zip) for the address.

street
required
string

Street adress line

custom_fields
object (CustomFields)

Key - value object, values can be only strings

ApplicantPersonExternalInfo (object)

External data provided during applicant creation

One of
full_name
string

Full Person name, if not specified will fallback to first_name and last name

first_name
string

First name

last_name
string

Last name

dob
string <ISO-8601>

Date of birth in ISO-8601 format

gender
string
Enum: "M" "F"

gender that is used in official documents

citizenship
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Currently can be set via manual fields feature via API when creating applicants. (Available in provided_info in applicant)

country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Country extracted from POI document. (Available in system_info in applicant)

address
string

Applicant address, could be used for any type of applicants

object (ApplicantAddresses)

List of applicant addresses, only residence for now.

object (FullAddress)

Detailed address

country
required
string

ISO 3166-1 ALPHA-2 code

city
required
string

City name

postal_code
required
string

postal code (or zip) for the address.

street
required
string

Street adress line

custom_fields
object (CustomFields)

Key - value object, values can be only strings

last_verification_id
string or null <uuid>

The id of last document verification

verification_status
string (ApplicantVerificationStatus)
Enum: "initial" "passed" "failed"

Status of applicant's last verification. Initial if applicant doesn't have a completed verification.

aml_screening_enabled
boolean or null
Default: false

Describes whether AML screening option is enabled for specified Applicant or disabled

last_aml_screening_id
string or null <uuid>

Id of the last screening operation

last_screened_at
string or null <ISO-8601>

Timestamp of the last screening operation

last_risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

last_tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"

List of tags of the last screening operation

tg_profile
string or null

Telegram ID linked to Applicant

object or null (ApplicantSearchOptions)

The Search Options functionality is intended for the customization of applicant AML monitoring

risk_scores
Array of strings or null (RiskScore)
Enum: "Low" "Medium" "High"
tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
sources
Array of strings or null (SourceId)
fuzziness
boolean or null
Default: true
phonetics
boolean or null
Default: true
mode
integer or null
Default: 0
Enum: 0 1 2

0 - AUTO(Recommended), Automatically optimize query - full_name serves as the primary search term, unless both the first and last names are provided. In such a scenario, the combination of the first and last names becomes the primary term, and the full_name is employed to enhance the relevance of results.

1 - FULL_NAME_ONLY, ignores first_name and last_name fields, and only use full_name in search requests

2 - FIRST_AND_LAST_NAMES_ONLY, ignores full_name field and uses only combination of first_name and last_name in search requests

Response samples

Content type
application/json
Example
{
  • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "external_id": "external_user_id_123",
  • "type": "Person",
  • "email": "[email protected]",
  • "phone": "+1234567890",
  • "system_info": {
    • "full_name": "John Doe",
    • "first_name": "John",
    • "last_name": "Doe",
    • "dob": "1987-12-24",
    • "gender": "M",
    • "citizenship": "DE",
    • "country": "DE",
    • "address": "Paris, France",
    • "addresses": {
      • "residence": {
        • "country": "DE",
        • "city": "Berlin",
        • "postal_code": "10999",
        • "street": "Wiener Straße 17"
        }
      },
    • "custom_fields": { }
    },
  • "provided_info": {
    • "full_name": "John Doe",
    • "first_name": "John",
    • "last_name": "Doe",
    • "dob": "1987-12-24",
    • "gender": "M",
    • "citizenship": "DE",
    • "country": "DE",
    • "address": "Paris, France",
    • "addresses": {
      • "residence": {
        • "country": "DE",
        • "city": "Berlin",
        • "postal_code": "10999",
        • "street": "Wiener Straße 17"
        }
      },
    • "custom_fields": { }
    },
  • "last_verification_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "verification_status": "initial",
  • "aml_screening_enabled": false,
  • "last_aml_screening_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "last_screened_at": "2023-07-18T15:32:13Z",
  • "last_risk_score": "Low",
  • "last_tags": [
    • "Finance"
    ],
  • "tg_profile": "1234567890",
  • "search_options": {
    • "risk_scores": [
      • "Low"
      ],
    • "tags": [
      • "Finance"
      ],
    • "sources": [
      • "string"
      ],
    • "fuzziness": true,
    • "phonetics": true,
    • "mode": 0
    }
}

Change Applicant Search Options

Allow to customize search options for each applicant

Authorizations:
ApiKeyAuth
path Parameters
applicant_id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Search Options Applicant ID

Request Body schema: application/json

Search Options Applicant Request

One of
risk_scores
Array of strings or null (RiskScore)
Enum: "Low" "Medium" "High"
tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
sources
Array of strings or null (SourceId)
fuzziness
boolean or null
Default: true
phonetics
boolean or null
Default: true
mode
integer or null
Default: 0
Enum: 0 1 2

0 - AUTO(Recommended), Automatically optimize query - full_name serves as the primary search term, unless both the first and last names are provided. In such a scenario, the combination of the first and last names becomes the primary term, and the full_name is employed to enhance the relevance of results.

1 - FULL_NAME_ONLY, ignores first_name and last_name fields, and only use full_name in search requests

2 - FIRST_AND_LAST_NAMES_ONLY, ignores full_name field and uses only combination of first_name and last_name in search requests

Responses

Request samples

Content type
application/json
{
  • "risk_scores": [
    • "Low"
    ],
  • "tags": [
    • "Finance"
    ],
  • "sources": [
    • "string"
    ],
  • "fuzziness": true,
  • "phonetics": true,
  • "mode": 0
}

Latest AML Report

Fetch latest AML Report for an applicant

Authorizations:
ApiKeyAuth
path Parameters
applicant_id
required
string <uuid>
Example: f81d4fae-7dec-11d0-a765-00a0c91e6bf6

Applicant ID

Responses

Response Schema: application/json
requested_name
string
search_uuid
string

Search id, could be use later to fetch the existing search result

max_risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

Array of objects (EntityRecord)
Array
uuid
string
type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

annotation
string or null

Any general information

tags
Array of strings (Tag)
Items Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

object (EntityRecord.EntityFields)
updated_at
integer <int64>

epoch seconds

importance_score
number or null <double>

Relative importance score of entity, use risk_score for a final decision

Response samples

Content type
application/json
{
  • "requested_name": "string",
  • "search_uuid": "string",
  • "max_risk_score": "Low",
  • "data": [
    • {
      • "uuid": "string",
      • "type": "Person",
      • "annotation": "string",
      • "tags": [
        • "Finance"
        ],
      • "risk_score": "Low",
      • "fields": {
        • "names": [
          • {
            • "full_name": "string",
            • "first_name": "string",
            • "last_name": "string",
            • "middle_name": "string",
            • "lang": "string"
            }
          ],
        • "sources": [
          • {
            • "source_id": "string",
            • "name": "string",
            • "reason": "string",
            • "summary": "string",
            • "source_url": "string",
            • "risk_score": "Low",
            • "tags": [
              • "Finance"
              ]
            }
          ],
        • "media": [
          • {
            • "source_name": "string",
            • "source_url": "string",
            • "headline": "string",
            • "summary": "string",
            • "published_at": 0,
            • "risk_score": "Low",
            • "importance_score": 0.1,
            • "sentiment": 0.1,
            • "tags": [
              • "Finance"
              ],
            • "country_codes": [
              • "string"
              ]
            }
          ],
        • "images": [
          • {
            • "description": "string",
            • "url": "string"
            }
          ],
        • "contact_info": [
          • {
            • "emails": [
              • "string"
              ],
            • "phones": [
              • "string"
              ],
            • "websites": [
              • "string"
              ]
            }
          ],
        • "registration_ids": [
          • {
            • "id": "string",
            • "id_type": "string",
            • "date": "2019-08-24",
            • "industry": "string",
            • "country": "string"
            }
          ],
        • "addresses": [
          • {
            • "country": "string",
            • "region": "string",
            • "city": "string",
            • "postal_code": "string",
            • "address": "string"
            }
          ],
        • "genders": [
          • "Male"
          ],
        • "dates_of_birth": [
          • {
            • "gte": "1987-12-24",
            • "lte": "1987-12-24"
            }
          ],
        • "places_of_birth": [
          • {
            • "country": "string",
            • "region": "string",
            • "city": "string",
            • "postal_code": "string",
            • "address": "string"
            }
          ],
        • "dates_of_death": [
          • {
            • "gte": "1987-12-24",
            • "lte": "1987-12-24"
            }
          ],
        • "places_of_death": [
          • {
            • "country": "string",
            • "region": "string",
            • "city": "string",
            • "postal_code": "string",
            • "address": "string"
            }
          ],
        • "citizenships": [
          • "string"
          ],
        • "nationalities": [
          • "string"
          ],
        • "political_roles": [
          • {
            • "role": "string",
            • "country": "string"
            }
          ],
        • "occupations": [
          • {
            • "occupation": "string",
            • "country": "string"
            }
          ],
        • "companies_and_enterprises": [
          • {
            • "name": "string",
            • "reference": "string",
            • "role": "string",
            • "country": "string"
            }
          ],
        • "owners_and_beneficiaries": [
          • {
            • "name": "string",
            • "reference": "string",
            • "role": "string",
            • "country": "string"
            }
          ],
        • "associates": [
          • {
            • "uuid": "string",
            • "name": "string",
            • "start_date": {
              • "gte": "1987-12-24",
              • "lte": "1987-12-24"
              },
            • "end_date": {
              • "gte": "1987-12-24",
              • "lte": "1987-12-24"
              },
            • "relationship": "string",
            • "is_relative": true
            }
          ]
        },
      • "updated_at": 0,
      • "importance_score": 0.1
      }
    ]
}

Enable monitoring

Enable monitoring for applicant

Authorizations:
ApiKeyAuth
path Parameters
applicant_id
required
string <uuid>
Example: f81d4fae-7dec-11d0-a765-00a0c91e6bf6

Applicant ID

Responses

Response Schema: application/json
string

Response samples

Content type
application/json
"enabled successfully"

Verifications

Verification API

The Document Verification API offers a cutting-edge and secure solution for verifying the authenticity and validity of identity documents submitted by applicants within application or platform. This powerful API leverages advanced document recognition and verification technologies to streamline the verification process and improve overall user onboarding experience.

Key Features:

  1. Identity Document Validation: The API supports various types of identity documents, such as passports, driver's licenses and more. It automatically extracts relevant information from these documents, ensuring seamless and reliable validation.
  2. Biometric Verification: For added security and fraud prevention, the API can perform biometric verification by comparing the photo on the identity document with a selfie or live photo provided by the applicant.
  3. Real-Time Verification Results: Verification results are provided in real-time, enabling swift decision-making in onboarding processes and other critical operations.

Create New Verification

Use this endpoint to request a new verification process for an applicant. Developers must provide the applicant's unique identifier and specify the type of verification required.

Authorizations:
ApiKeyAuth
Request Body schema: application/json

Create Verification Request

applicant_id
string <uuid>

Applicant ID, for which the verification will be linked to, if omitted then new random Applicant will be created automatically

checks_required
Array of strings (DocumentType)
Deprecated
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Deprecated, please use verification profiles instead. List of verification checkes, that will be performed for the end-user. In case of empty required checks will be gathered from profile.

profile_id
string <uuid>

Verification profile id, if ommited default will be used. Verification profile defines allowed document types, countries and other verification settings.

applicant_country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

expiration_minutes
integer
Default: 240

The expiration_minutes field is an optional integer value representing the duration after the verification creation when verifications are still valid. The default value is 240 minutes, and the allowed range for this field is from 1 to 10080 minutes.

object (VerificationSandboxResult)

Predefined result of verification. Only valid for sandbox environment.

status
string
Enum: "initial" "pending" "in_progress" "verified" "failed" "canceled" "expired"

Predefined status

object
document_mrz
Array of integers (VerificationErrorCode)

MRZ check errors

face_comparison
Array of integers (VerificationErrorCode)

Face comparison check, can be within selfie or liveness_photo documents

poa
Array of integers (VerificationErrorCode)

Proof of Address check

liveness
Array of integers (VerificationErrorCode)

Liveness check, verify that provided image is not spoofed

Responses

Response Schema: application/json
id
required
string <uuid>

Id of created verification

applicant_id
required
string <uuid>

Id of applicant verification is linked to

status
required
string (VerificationStatus)
Enum: "initial" "pending" "in_progress" "verified" "failed" "canceled" "expired"

The First verification status is initial.

Second one is pending, when some documents are uploaded to verification or applicant of verification, but not all required documents are uploaded.

When all documents are uploaded and verification has been proceeded by api (https://docs.dataspike.io/api#tag/Verifications/operation/proceed-verification) or web sdk status becomes to in_progress.

After in_progress status can be both verified or failed depending on the verification result.

Transition to canceled status can be from any status if verification was canceled, except verified and failed.

Transition to expired status can be from any status if verification has expired, except verified, in_progress and failed.

Flow of status

Array of objects

List of prodived documents

Array
document_id
string <uuid>

Document id in the system

document_type
string (DocumentType)
Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Possible document type

required
object (CheckObject)

Object describes required checks and it`s current status

object or null

MRZ check

object or null
status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Face comparison check, can be within selfie or liveness_photo documents

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Proof of Address check

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Liveness check, verify that provided image is not spoofed

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
created_at
required
string <ISO-8601>

Verification creation timestamp

completed_at
string <ISO-8601>

Time of completion

verification_url
required
string

Verification url that can be provided to the end user to perform online verification

verification_url_id
required
string

Verification short id

country_code
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

expires_at
required
string <ISO-8601>

Verification expiration timestamp

object (PoiData)
parsed_type
string (DocumentType)
Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Possible document type

has_mrz
boolean

Indicate document has mrz or not

raw_mrz_type
string

mrz type of document

country
string <ISO 3166-1 ALPHA-3 code>

Country of the document, reference https://www.iban.com/country-codes

full_name
string

If present name and surname will be empty strings

name
string

Extracted name

surname
string

Extracted surname

document_number
string

Document number

nationality
string <ISO 3166-1 ALPHA-3 code>

Extracted nationality

birth_date
string <ISO-8601 date>

Extracted birth date

sex
string

Extracted sex, M or F

expiry_date
string <ISO-8601 date>

Extracted birth date

issue_date
string <ISO-8601 date>

Extracted birth date

pin
string

Pin of document.

card_number
string

Number of card.

license_number
string
license_type
string
license_class
string
cpf_number
string
vin
string
nin
string
occupation
string
polling_unit
string
region
string
restrictions
string
height
string
registration_date
string
parents_names
string
endorsements
string
is_sandbox
required
boolean
Default: false

Flag indicates that verification is created in sandbox env

profile_id
required
string <uuid>

Verification profile id

required
object (VerificationProfileSettings)

Verification profile settings

poi_required
required
boolean
Default: true

POI (proof of identity) check is required.

poi_allowed_documents
required
Array of strings
Items Enum: "passport" "driver_license" "id_card" "residence_permit"
face_comparison_required
required
boolean
Default: true

Face comparison check is required

face_comparison_allowed_documents
required
Array of strings
Items Enum: "selfie" "liveness_photo"
poa_required
required
boolean
Default: false

POA (proof of address) check is required

disable_cross_check_by_bio
boolean
Default: false

Don't do cross check by name and birth date in POI document across organization.

disable_cross_check_by_photo
boolean
Default: false

Don't do cross check by photo of applicant across organization.

disable_verify_poa_country_match_with_poi
boolean
Default: false

Disable requirement that country in POA document should be match within country in POI document

countries
Array of strings <ISO 3166-1 ALPHA-2 code> [ items <ISO 3166-1 ALPHA-2 code > ]

List of allowed countries

allow_poi_manual_uploads
required
boolean
Default: false

Allow manual upload POI documents from files (now live photo)

allow_desktop
required
boolean
Default: false

Allow uploads throught desktop. False means only mobile allowed

ui_settings
object (UISettings)

ui settigns to customize SDK

object (ManualFieldsSettings)

Manual field settings

enabled
required
boolean
description
string
object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

Array of objects
object (LinkFinishScreenSettings)

Verification finish screen settings

enabled
required
boolean
object
aml_search_id
string <uuid>

AML search id operation

object (ManualFieldsValues)

Custom fields values

full_name
string
email
string
phone
string
country
string
dob
string

Date of birth.

gender
string
Enum: "M" "F"
citizenship
string
address
string
custom_fields
object (CustomFields)

Key - value object, values can be only strings

object (CustomFiles)

Mapping of custom field labels to uploaded document info

additional property
object

Custom file properties

document_id
required
string <UUID>
content_type
required
string

mime type

Request samples

Content type
application/json
{
  • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "checks_required": [
    • "passport"
    ],
  • "profile_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "applicant_country": "BR-12458344",
  • "expiration_minutes": 240,
  • "sandbox_result": {
    • "status": "verified",
    • "errors": {
      • "document_mrz": [
        • 1001
        ],
      • "face_comparison": [
        • 1001
        ],
      • "poa": [
        • 1001
        ],
      • "liveness": [
        • 1001
        ]
      }
    }
}

Response samples

Content type
application/json
{
  • "id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "status": "initial",
  • "documents": [
    • {
      • "document_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "document_type": "passport"
      }
    ],
  • "checks": {
    • "document_mrz": {
      • "data": {
        • "document_type": "Passport",
        • "country": "DE",
        • "name": "John",
        • "surname": "Doe",
        • "doc_number": "P-1234567890",
        • "nationality": "British",
        • "birth_date": "871224",
        • "sex": "M",
        • "expiry_date": "201224"
        },
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "face_comparison": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "poa": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "liveness": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      }
    },
  • "created_at": "2023-07-18T15:32:13Z",
  • "completed_at": "2023-07-18T15:32:13Z",
  • "verification_url_id": "VDBA1B2EA6A28A7D2",
  • "country_code": "DE",
  • "expires_at": "2023-07-18T15:32:13Z",
  • "poi_data": {
    • "parsed_type": "passport",
    • "has_mrz": true,
    • "raw_mrz_type": "P",
    • "country": "DEU",
    • "full_name": "John Doe",
    • "name": "John",
    • "surname": "Doe",
    • "document_number": "P-1234567890",
    • "nationality": "DEU",
    • "birth_date": "1983-03-21",
    • "sex": "M",
    • "expiry_date": "2021-02-24",
    • "issue_date": "2021-02-24",
    • "pin": "string",
    • "card_number": "string",
    • "license_number": "string",
    • "license_type": "string",
    • "license_class": "string",
    • "cpf_number": "string",
    • "vin": "string",
    • "nin": "string",
    • "occupation": "string",
    • "polling_unit": "string",
    • "region": "string",
    • "restrictions": "string",
    • "height": "string",
    • "registration_date": "string",
    • "parents_names": "string",
    • "endorsements": "string"
    },
  • "is_sandbox": false,
  • "profile_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "settings": {
    • "poi_required": true,
    • "poi_allowed_documents": [
      • "passport"
      ],
    • "face_comparison_required": true,
    • "face_comparison_allowed_documents": [
      • "selfie"
      ],
    • "poa_required": false,
    • "disable_cross_check_by_bio": false,
    • "disable_cross_check_by_photo": false,
    • "disable_verify_poa_country_match_with_poi": false,
    • "countries": [
      • "FR"
      ],
    • "allow_poi_manual_uploads": false,
    • "allow_desktop": false,
    • "ui_settings": { },
    • "manual_field_settings": {
      • "enabled": true,
      • "description": "string",
      • "full_name": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "email": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "phone": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "country": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "dob": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "gender": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "citizenship": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "address": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "custom_fields": [
        • {
          • "label": "string",
          • "caption": "string",
          • "order": 0,
          • "options": {
            • "choices": [
              • "string"
              ],
            • "type": "select"
            }
          }
        ]
      },
    • "finish_screen_settings": {
      • "enabled": true,
      • "settings": {
        • "title": "string",
        • "main_text": "string",
        • "redirect_warning": "string",
        • "cta": "string",
        • "redirect_link": "string"
        }
      }
    },
  • "aml_search_id": "d358ace9-9e35-42cd-b8b7-837c1005d2f5",
  • "manual_fields": {
    • "full_name": "string",
    • "email": "string",
    • "phone": "string",
    • "country": "string",
    • "dob": "string",
    • "gender": "M",
    • "citizenship": "string",
    • "address": "string",
    • "custom_fields": { }
    },
  • "custom_files": {
    • "property1": {
      • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
      • "content_type": "image/jpeg"
      },
    • "property2": {
      • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
      • "content_type": "image/jpeg"
      }
    }
}

List existing verifications

Allows to retrieve a collection of existing verifications within the system.

Authorizations:
ApiKeyAuth
query Parameters
page
integer
Default: 0

Current page

limit
integer
Default: 10

Limit of returned applicants per page

dob
string <ISO-8601 or short format. For example only year 1984, or year with month 1984-03>
Example: dob=1984-03-21

Date of birth.

from
string <ISO-8601>
Example: from=2023-06-21

Filter by creation time since this date

to
string <ISO-8601>
Example: to=203-07-27

Filter by creation time upon this date

status
Array of strings (VerificationStatus)
Items Enum: "initial" "pending" "in_progress" "verified" "failed" "canceled" "expired"

Filter by verification status

profile
Array of strings <UUID> [ items <UUID > ]

Filter by verification profiles

document_type
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Filter by document types used in verification

name
string
Example: name=John Doe

Filter by name in parsed documents

country
string <ISO 31661-1 alpha-2>

Filter by country in parsed documents

Responses

Response Schema: application/json
required
Array of objects

List of an existing paginated items

Array
id
required
string <uuid>

Id of created verification

applicant_id
required
string <uuid>

Id of applicant verification is linked to

status
required
string (VerificationStatus)
Enum: "initial" "pending" "in_progress" "verified" "failed" "canceled" "expired"

The First verification status is initial.

Second one is pending, when some documents are uploaded to verification or applicant of verification, but not all required documents are uploaded.

When all documents are uploaded and verification has been proceeded by api (https://docs.dataspike.io/api#tag/Verifications/operation/proceed-verification) or web sdk status becomes to in_progress.

After in_progress status can be both verified or failed depending on the verification result.

Transition to canceled status can be from any status if verification was canceled, except verified and failed.

Transition to expired status can be from any status if verification has expired, except verified, in_progress and failed.

Flow of status

Array of objects

List of prodived documents

required
object (CheckObject)

Object describes required checks and it`s current status

created_at
required
string <ISO-8601>

Verification creation timestamp

completed_at
string <ISO-8601>

Time of completion

verification_url
required
string

Verification url that can be provided to the end user to perform online verification

verification_url_id
required
string

Verification short id

country_code
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

expires_at
required
string <ISO-8601>

Verification expiration timestamp

object (PoiData)
is_sandbox
required
boolean
Default: false

Flag indicates that verification is created in sandbox env

profile_id
required
string <uuid>

Verification profile id

required
object (VerificationProfileSettings)

Verification profile settings

aml_search_id
string <uuid>

AML search id operation

object (ManualFieldsValues)

Custom fields values

object (CustomFiles)

Mapping of custom field labels to uploaded document info

has_next
boolean
Default: false

This property serves as an indicator of whether there is a next page available in the paginated result

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "status": "initial",
      • "documents": [
        • {
          • "document_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
          • "document_type": "passport"
          }
        ],
      • "checks": {
        • "document_mrz": {
          • "data": {
            • "document_type": "Passport",
            • "country": "DE",
            • "name": "John",
            • "surname": "Doe",
            • "doc_number": "P-1234567890",
            • "nationality": "British",
            • "birth_date": "871224",
            • "sex": "M",
            • "expiry_date": "201224"
            },
          • "status": "pending",
          • "pending_documents": [
            • "passport"
            ],
          • "errors": [
            • {
              • "code": 1001,
              • "message": "document parsing failed"
              }
            ]
          },
        • "face_comparison": {
          • "status": "pending",
          • "pending_documents": [
            • "passport"
            ],
          • "errors": [
            • {
              • "code": 1001,
              • "message": "document parsing failed"
              }
            ]
          },
        • "poa": {
          • "status": "pending",
          • "pending_documents": [
            • "passport"
            ],
          • "errors": [
            • {
              • "code": 1001,
              • "message": "document parsing failed"
              }
            ]
          },
        • "liveness": {
          • "status": "pending",
          • "pending_documents": [
            • "passport"
            ],
          • "errors": [
            • {
              • "code": 1001,
              • "message": "document parsing failed"
              }
            ]
          }
        },
      • "created_at": "2023-07-18T15:32:13Z",
      • "completed_at": "2023-07-18T15:32:13Z",
      • "verification_url_id": "VDBA1B2EA6A28A7D2",
      • "country_code": "DE",
      • "expires_at": "2023-07-18T15:32:13Z",
      • "poi_data": {
        • "parsed_type": "passport",
        • "has_mrz": true,
        • "raw_mrz_type": "P",
        • "country": "DEU",
        • "full_name": "John Doe",
        • "name": "John",
        • "surname": "Doe",
        • "document_number": "P-1234567890",
        • "nationality": "DEU",
        • "birth_date": "1983-03-21",
        • "sex": "M",
        • "expiry_date": "2021-02-24",
        • "issue_date": "2021-02-24",
        • "pin": "string",
        • "card_number": "string",
        • "license_number": "string",
        • "license_type": "string",
        • "license_class": "string",
        • "cpf_number": "string",
        • "vin": "string",
        • "nin": "string",
        • "occupation": "string",
        • "polling_unit": "string",
        • "region": "string",
        • "restrictions": "string",
        • "height": "string",
        • "registration_date": "string",
        • "parents_names": "string",
        • "endorsements": "string"
        },
      • "is_sandbox": false,
      • "profile_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "settings": {
        • "poi_required": true,
        • "poi_allowed_documents": [
          • "passport"
          ],
        • "face_comparison_required": true,
        • "face_comparison_allowed_documents": [
          • "selfie"
          ],
        • "poa_required": false,
        • "disable_cross_check_by_bio": false,
        • "disable_cross_check_by_photo": false,
        • "disable_verify_poa_country_match_with_poi": false,
        • "countries": [
          • "FR"
          ],
        • "allow_poi_manual_uploads": false,
        • "allow_desktop": false,
        • "ui_settings": { },
        • "manual_field_settings": {
          • "enabled": true,
          • "description": "string",
          • "full_name": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "email": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "phone": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "country": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "dob": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "gender": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "citizenship": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "address": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "custom_fields": [
            • {
              • "label": "string",
              • "caption": "string",
              • "order": 0,
              • "options": {
                • "choices": [
                  • "string"
                  ],
                • "type": "select"
                }
              }
            ]
          },
        • "finish_screen_settings": {
          • "enabled": true,
          • "settings": {
            • "title": "string",
            • "main_text": "string",
            • "redirect_warning": "string",
            • "cta": "string",
            • "redirect_link": "string"
            }
          }
        },
      • "aml_search_id": "d358ace9-9e35-42cd-b8b7-837c1005d2f5",
      • "manual_fields": {
        • "full_name": "string",
        • "email": "string",
        • "phone": "string",
        • "country": "string",
        • "dob": "string",
        • "gender": "M",
        • "citizenship": "string",
        • "address": "string",
        • "custom_fields": { }
        },
      • "custom_files": {
        • "property1": {
          • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
          • "content_type": "image/jpeg"
          },
        • "property2": {
          • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
          • "content_type": "image/jpeg"
          }
        }
      }
    ],
  • "has_next": false
}

Proceed with an existing Verification

To proceed verification further call this method. Should be used after all the required documents has been uploaded.

Authorizations:
ApiKeyAuth
path Parameters
verification_id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Existing Verification Id

Responses

Cancel existing Verification

Only not started(proceed action was not performed yet) verification are allowed to be canceled.

Authorizations:
ApiKeyAuth
path Parameters
verification_id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Existing Verification Id

Responses

Get Existing Verification

Retrieve detailed information about an existing verification by providing their unique Verification ID as a URL parameter.

Authorizations:
ApiKeyAuth
path Parameters
verification_id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Fetch Verification by ID

Responses

Response Schema: application/json
id
required
string <uuid>

Id of created verification

applicant_id
required
string <uuid>

Id of applicant verification is linked to

status
required
string (VerificationStatus)
Enum: "initial" "pending" "in_progress" "verified" "failed" "canceled" "expired"

The First verification status is initial.

Second one is pending, when some documents are uploaded to verification or applicant of verification, but not all required documents are uploaded.

When all documents are uploaded and verification has been proceeded by api (https://docs.dataspike.io/api#tag/Verifications/operation/proceed-verification) or web sdk status becomes to in_progress.

After in_progress status can be both verified or failed depending on the verification result.

Transition to canceled status can be from any status if verification was canceled, except verified and failed.

Transition to expired status can be from any status if verification has expired, except verified, in_progress and failed.

Flow of status

Array of objects

List of prodived documents

Array
document_id
string <uuid>

Document id in the system

document_type
string (DocumentType)
Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Possible document type

required
object (CheckObject)

Object describes required checks and it`s current status

object or null

MRZ check

object or null
status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Face comparison check, can be within selfie or liveness_photo documents

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Proof of Address check

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Liveness check, verify that provided image is not spoofed

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
created_at
required
string <ISO-8601>

Verification creation timestamp

completed_at
string <ISO-8601>

Time of completion

verification_url
required
string

Verification url that can be provided to the end user to perform online verification

verification_url_id
required
string

Verification short id

country_code
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

expires_at
required
string <ISO-8601>

Verification expiration timestamp

object (PoiData)
parsed_type
string (DocumentType)
Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Possible document type

has_mrz
boolean

Indicate document has mrz or not

raw_mrz_type
string

mrz type of document

country
string <ISO 3166-1 ALPHA-3 code>

Country of the document, reference https://www.iban.com/country-codes

full_name
string

If present name and surname will be empty strings

name
string

Extracted name

surname
string

Extracted surname

document_number
string

Document number

nationality
string <ISO 3166-1 ALPHA-3 code>

Extracted nationality

birth_date
string <ISO-8601 date>

Extracted birth date

sex
string

Extracted sex, M or F

expiry_date
string <ISO-8601 date>

Extracted birth date

issue_date
string <ISO-8601 date>

Extracted birth date

pin
string

Pin of document.

card_number
string

Number of card.

license_number
string
license_type
string
license_class
string
cpf_number
string
vin
string
nin
string
occupation
string
polling_unit
string
region
string
restrictions
string
height
string
registration_date
string
parents_names
string
endorsements
string
is_sandbox
required
boolean
Default: false

Flag indicates that verification is created in sandbox env

profile_id
required
string <uuid>

Verification profile id

required
object (VerificationProfileSettings)

Verification profile settings

poi_required
required
boolean
Default: true

POI (proof of identity) check is required.

poi_allowed_documents
required
Array of strings
Items Enum: "passport" "driver_license" "id_card" "residence_permit"
face_comparison_required
required
boolean
Default: true

Face comparison check is required

face_comparison_allowed_documents
required
Array of strings
Items Enum: "selfie" "liveness_photo"
poa_required
required
boolean
Default: false

POA (proof of address) check is required

disable_cross_check_by_bio
boolean
Default: false

Don't do cross check by name and birth date in POI document across organization.

disable_cross_check_by_photo
boolean
Default: false

Don't do cross check by photo of applicant across organization.

disable_verify_poa_country_match_with_poi
boolean
Default: false

Disable requirement that country in POA document should be match within country in POI document

countries
Array of strings <ISO 3166-1 ALPHA-2 code> [ items <ISO 3166-1 ALPHA-2 code > ]

List of allowed countries

allow_poi_manual_uploads
required
boolean
Default: false

Allow manual upload POI documents from files (now live photo)

allow_desktop
required
boolean
Default: false

Allow uploads throught desktop. False means only mobile allowed

ui_settings
object (UISettings)

ui settigns to customize SDK

object (ManualFieldsSettings)

Manual field settings

enabled
required
boolean
description
string
object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

Array of objects
object (LinkFinishScreenSettings)

Verification finish screen settings

enabled
required
boolean
object
aml_search_id
string <uuid>

AML search id operation

object (ManualFieldsValues)

Custom fields values

full_name
string
email
string
phone
string
country
string
dob
string

Date of birth.

gender
string
Enum: "M" "F"
citizenship
string
address
string
custom_fields
object (CustomFields)

Key - value object, values can be only strings

object (CustomFiles)

Mapping of custom field labels to uploaded document info

additional property
object

Custom file properties

document_id
required
string <UUID>
content_type
required
string

mime type

Response samples

Content type
application/json
{
  • "id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "status": "initial",
  • "documents": [
    • {
      • "document_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "document_type": "passport"
      }
    ],
  • "checks": {
    • "document_mrz": {
      • "data": {
        • "document_type": "Passport",
        • "country": "DE",
        • "name": "John",
        • "surname": "Doe",
        • "doc_number": "P-1234567890",
        • "nationality": "British",
        • "birth_date": "871224",
        • "sex": "M",
        • "expiry_date": "201224"
        },
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "face_comparison": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "poa": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "liveness": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      }
    },
  • "created_at": "2023-07-18T15:32:13Z",
  • "completed_at": "2023-07-18T15:32:13Z",
  • "verification_url_id": "VDBA1B2EA6A28A7D2",
  • "country_code": "DE",
  • "expires_at": "2023-07-18T15:32:13Z",
  • "poi_data": {
    • "parsed_type": "passport",
    • "has_mrz": true,
    • "raw_mrz_type": "P",
    • "country": "DEU",
    • "full_name": "John Doe",
    • "name": "John",
    • "surname": "Doe",
    • "document_number": "P-1234567890",
    • "nationality": "DEU",
    • "birth_date": "1983-03-21",
    • "sex": "M",
    • "expiry_date": "2021-02-24",
    • "issue_date": "2021-02-24",
    • "pin": "string",
    • "card_number": "string",
    • "license_number": "string",
    • "license_type": "string",
    • "license_class": "string",
    • "cpf_number": "string",
    • "vin": "string",
    • "nin": "string",
    • "occupation": "string",
    • "polling_unit": "string",
    • "region": "string",
    • "restrictions": "string",
    • "height": "string",
    • "registration_date": "string",
    • "parents_names": "string",
    • "endorsements": "string"
    },
  • "is_sandbox": false,
  • "profile_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "settings": {
    • "poi_required": true,
    • "poi_allowed_documents": [
      • "passport"
      ],
    • "face_comparison_required": true,
    • "face_comparison_allowed_documents": [
      • "selfie"
      ],
    • "poa_required": false,
    • "disable_cross_check_by_bio": false,
    • "disable_cross_check_by_photo": false,
    • "disable_verify_poa_country_match_with_poi": false,
    • "countries": [
      • "FR"
      ],
    • "allow_poi_manual_uploads": false,
    • "allow_desktop": false,
    • "ui_settings": { },
    • "manual_field_settings": {
      • "enabled": true,
      • "description": "string",
      • "full_name": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "email": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "phone": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "country": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "dob": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "gender": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "citizenship": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "address": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "custom_fields": [
        • {
          • "label": "string",
          • "caption": "string",
          • "order": 0,
          • "options": {
            • "choices": [
              • "string"
              ],
            • "type": "select"
            }
          }
        ]
      },
    • "finish_screen_settings": {
      • "enabled": true,
      • "settings": {
        • "title": "string",
        • "main_text": "string",
        • "redirect_warning": "string",
        • "cta": "string",
        • "redirect_link": "string"
        }
      }
    },
  • "aml_search_id": "d358ace9-9e35-42cd-b8b7-837c1005d2f5",
  • "manual_fields": {
    • "full_name": "string",
    • "email": "string",
    • "phone": "string",
    • "country": "string",
    • "dob": "string",
    • "gender": "M",
    • "citizenship": "string",
    • "address": "string",
    • "custom_fields": { }
    },
  • "custom_files": {
    • "property1": {
      • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
      • "content_type": "image/jpeg"
      },
    • "property2": {
      • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
      • "content_type": "image/jpeg"
      }
    }
}

Get Existing Verification by Short Id

Retrieve detailed information about an existing verification by providing their unique Verification Short ID as a URL parameter.

Authorizations:
ApiKeyAuth
path Parameters
short_id
required
string
Example: VADBF34JDRYIWHW

Fetch Verification by Short ID

Responses

Response Schema: application/json
id
required
string <uuid>

Id of created verification

applicant_id
required
string <uuid>

Id of applicant verification is linked to

status
required
string (VerificationStatus)
Enum: "initial" "pending" "in_progress" "verified" "failed" "canceled" "expired"

The First verification status is initial.

Second one is pending, when some documents are uploaded to verification or applicant of verification, but not all required documents are uploaded.

When all documents are uploaded and verification has been proceeded by api (https://docs.dataspike.io/api#tag/Verifications/operation/proceed-verification) or web sdk status becomes to in_progress.

After in_progress status can be both verified or failed depending on the verification result.

Transition to canceled status can be from any status if verification was canceled, except verified and failed.

Transition to expired status can be from any status if verification has expired, except verified, in_progress and failed.

Flow of status

Array of objects

List of prodived documents

Array
document_id
string <uuid>

Document id in the system

document_type
string (DocumentType)
Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Possible document type

required
object (CheckObject)

Object describes required checks and it`s current status

object or null

MRZ check

object or null
status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Face comparison check, can be within selfie or liveness_photo documents

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Proof of Address check

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Liveness check, verify that provided image is not spoofed

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
created_at
required
string <ISO-8601>

Verification creation timestamp

completed_at
string <ISO-8601>

Time of completion

verification_url
required
string

Verification url that can be provided to the end user to perform online verification

verification_url_id
required
string

Verification short id

country_code
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

expires_at
required
string <ISO-8601>

Verification expiration timestamp

object (PoiData)
parsed_type
string (DocumentType)
Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Possible document type

has_mrz
boolean

Indicate document has mrz or not

raw_mrz_type
string

mrz type of document

country
string <ISO 3166-1 ALPHA-3 code>

Country of the document, reference https://www.iban.com/country-codes

full_name
string

If present name and surname will be empty strings

name
string

Extracted name

surname
string

Extracted surname

document_number
string

Document number

nationality
string <ISO 3166-1 ALPHA-3 code>

Extracted nationality

birth_date
string <ISO-8601 date>

Extracted birth date

sex
string

Extracted sex, M or F

expiry_date
string <ISO-8601 date>

Extracted birth date

issue_date
string <ISO-8601 date>

Extracted birth date

pin
string

Pin of document.

card_number
string

Number of card.

license_number
string
license_type
string
license_class
string
cpf_number
string
vin
string
nin
string
occupation
string
polling_unit
string
region
string
restrictions
string
height
string
registration_date
string
parents_names
string
endorsements
string
is_sandbox
required
boolean
Default: false

Flag indicates that verification is created in sandbox env

profile_id
required
string <uuid>

Verification profile id

required
object (VerificationProfileSettings)

Verification profile settings

poi_required
required
boolean
Default: true

POI (proof of identity) check is required.

poi_allowed_documents
required
Array of strings
Items Enum: "passport" "driver_license" "id_card" "residence_permit"
face_comparison_required
required
boolean
Default: true

Face comparison check is required

face_comparison_allowed_documents
required
Array of strings
Items Enum: "selfie" "liveness_photo"
poa_required
required
boolean
Default: false

POA (proof of address) check is required

disable_cross_check_by_bio
boolean
Default: false

Don't do cross check by name and birth date in POI document across organization.

disable_cross_check_by_photo
boolean
Default: false

Don't do cross check by photo of applicant across organization.

disable_verify_poa_country_match_with_poi
boolean
Default: false

Disable requirement that country in POA document should be match within country in POI document

countries
Array of strings <ISO 3166-1 ALPHA-2 code> [ items <ISO 3166-1 ALPHA-2 code > ]

List of allowed countries

allow_poi_manual_uploads
required
boolean
Default: false

Allow manual upload POI documents from files (now live photo)

allow_desktop
required
boolean
Default: false

Allow uploads throught desktop. False means only mobile allowed

ui_settings
object (UISettings)

ui settigns to customize SDK

object (ManualFieldsSettings)

Manual field settings

enabled
required
boolean
description
string
object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

Array of objects
object (LinkFinishScreenSettings)

Verification finish screen settings

enabled
required
boolean
object
aml_search_id
string <uuid>

AML search id operation

object (ManualFieldsValues)

Custom fields values

full_name
string
email
string
phone
string
country
string
dob
string

Date of birth.

gender
string
Enum: "M" "F"
citizenship
string
address
string
custom_fields
object (CustomFields)

Key - value object, values can be only strings

object (CustomFiles)

Mapping of custom field labels to uploaded document info

additional property
object

Custom file properties

document_id
required
string <UUID>
content_type
required
string

mime type

Response samples

Content type
application/json
{
  • "id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "status": "initial",
  • "documents": [
    • {
      • "document_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "document_type": "passport"
      }
    ],
  • "checks": {
    • "document_mrz": {
      • "data": {
        • "document_type": "Passport",
        • "country": "DE",
        • "name": "John",
        • "surname": "Doe",
        • "doc_number": "P-1234567890",
        • "nationality": "British",
        • "birth_date": "871224",
        • "sex": "M",
        • "expiry_date": "201224"
        },
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "face_comparison": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "poa": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "liveness": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      }
    },
  • "created_at": "2023-07-18T15:32:13Z",
  • "completed_at": "2023-07-18T15:32:13Z",
  • "verification_url_id": "VDBA1B2EA6A28A7D2",
  • "country_code": "DE",
  • "expires_at": "2023-07-18T15:32:13Z",
  • "poi_data": {
    • "parsed_type": "passport",
    • "has_mrz": true,
    • "raw_mrz_type": "P",
    • "country": "DEU",
    • "full_name": "John Doe",
    • "name": "John",
    • "surname": "Doe",
    • "document_number": "P-1234567890",
    • "nationality": "DEU",
    • "birth_date": "1983-03-21",
    • "sex": "M",
    • "expiry_date": "2021-02-24",
    • "issue_date": "2021-02-24",
    • "pin": "string",
    • "card_number": "string",
    • "license_number": "string",
    • "license_type": "string",
    • "license_class": "string",
    • "cpf_number": "string",
    • "vin": "string",
    • "nin": "string",
    • "occupation": "string",
    • "polling_unit": "string",
    • "region": "string",
    • "restrictions": "string",
    • "height": "string",
    • "registration_date": "string",
    • "parents_names": "string",
    • "endorsements": "string"
    },
  • "is_sandbox": false,
  • "profile_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "settings": {
    • "poi_required": true,
    • "poi_allowed_documents": [
      • "passport"
      ],
    • "face_comparison_required": true,
    • "face_comparison_allowed_documents": [
      • "selfie"
      ],
    • "poa_required": false,
    • "disable_cross_check_by_bio": false,
    • "disable_cross_check_by_photo": false,
    • "disable_verify_poa_country_match_with_poi": false,
    • "countries": [
      • "FR"
      ],
    • "allow_poi_manual_uploads": false,
    • "allow_desktop": false,
    • "ui_settings": { },
    • "manual_field_settings": {
      • "enabled": true,
      • "description": "string",
      • "full_name": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "email": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "phone": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "country": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "dob": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "gender": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "citizenship": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "address": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "custom_fields": [
        • {
          • "label": "string",
          • "caption": "string",
          • "order": 0,
          • "options": {
            • "choices": [
              • "string"
              ],
            • "type": "select"
            }
          }
        ]
      },
    • "finish_screen_settings": {
      • "enabled": true,
      • "settings": {
        • "title": "string",
        • "main_text": "string",
        • "redirect_warning": "string",
        • "cta": "string",
        • "redirect_link": "string"
        }
      }
    },
  • "aml_search_id": "d358ace9-9e35-42cd-b8b7-837c1005d2f5",
  • "manual_fields": {
    • "full_name": "string",
    • "email": "string",
    • "phone": "string",
    • "country": "string",
    • "dob": "string",
    • "gender": "M",
    • "citizenship": "string",
    • "address": "string",
    • "custom_fields": { }
    },
  • "custom_files": {
    • "property1": {
      • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
      • "content_type": "image/jpeg"
      },
    • "property2": {
      • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
      • "content_type": "image/jpeg"
      }
    }
}

Get Verifications for an existing Applicant

Retrieve detailed information about an existing verification by providing existing Applicant ID as a URL parameter.

Authorizations:
ApiKeyAuth
path Parameters
applicant_id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Fetch Verifications by Applicant ID

query Parameters
page
integer
Default: 0

Current page

limit
integer
Default: 0

Limit of returned items per page

Responses

Response Schema: application/json
Array of objects (VerificationInfo)

Object contains a list of an existing verifications

Array
id
required
string <uuid>

Id of created verification

applicant_id
required
string <uuid>

Id of applicant verification is linked to

status
required
string (VerificationStatus)
Enum: "initial" "pending" "in_progress" "verified" "failed" "canceled" "expired"

The First verification status is initial.

Second one is pending, when some documents are uploaded to verification or applicant of verification, but not all required documents are uploaded.

When all documents are uploaded and verification has been proceeded by api (https://docs.dataspike.io/api#tag/Verifications/operation/proceed-verification) or web sdk status becomes to in_progress.

After in_progress status can be both verified or failed depending on the verification result.

Transition to canceled status can be from any status if verification was canceled, except verified and failed.

Transition to expired status can be from any status if verification has expired, except verified, in_progress and failed.

Flow of status

Array of objects

List of prodived documents

required
object (CheckObject)

Object describes required checks and it`s current status

created_at
required
string <ISO-8601>

Verification creation timestamp

completed_at
string <ISO-8601>

Time of completion

verification_url
required
string

Verification url that can be provided to the end user to perform online verification

verification_url_id
required
string

Verification short id

country_code
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

expires_at
required
string <ISO-8601>

Verification expiration timestamp

object (PoiData)
is_sandbox
required
boolean
Default: false

Flag indicates that verification is created in sandbox env

profile_id
required
string <uuid>

Verification profile id

required
object (VerificationProfileSettings)

Verification profile settings

aml_search_id
string <uuid>

AML search id operation

object (ManualFieldsValues)

Custom fields values

object (CustomFiles)

Mapping of custom field labels to uploaded document info

has_next
boolean
Default: false

This property serves as an indicator of whether there is a next page available in the paginated results.

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "status": "initial",
      • "documents": [
        • {
          • "document_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
          • "document_type": "passport"
          }
        ],
      • "checks": {
        • "document_mrz": {
          • "data": {
            • "document_type": "Passport",
            • "country": "DE",
            • "name": "John",
            • "surname": "Doe",
            • "doc_number": "P-1234567890",
            • "nationality": "British",
            • "birth_date": "871224",
            • "sex": "M",
            • "expiry_date": "201224"
            },
          • "status": "pending",
          • "pending_documents": [
            • "passport"
            ],
          • "errors": [
            • {
              • "code": 1001,
              • "message": "document parsing failed"
              }
            ]
          },
        • "face_comparison": {
          • "status": "pending",
          • "pending_documents": [
            • "passport"
            ],
          • "errors": [
            • {
              • "code": 1001,
              • "message": "document parsing failed"
              }
            ]
          },
        • "poa": {
          • "status": "pending",
          • "pending_documents": [
            • "passport"
            ],
          • "errors": [
            • {
              • "code": 1001,
              • "message": "document parsing failed"
              }
            ]
          },
        • "liveness": {
          • "status": "pending",
          • "pending_documents": [
            • "passport"
            ],
          • "errors": [
            • {
              • "code": 1001,
              • "message": "document parsing failed"
              }
            ]
          }
        },
      • "created_at": "2023-07-18T15:32:13Z",
      • "completed_at": "2023-07-18T15:32:13Z",
      • "verification_url_id": "VDBA1B2EA6A28A7D2",
      • "country_code": "DE",
      • "expires_at": "2023-07-18T15:32:13Z",
      • "poi_data": {
        • "parsed_type": "passport",
        • "has_mrz": true,
        • "raw_mrz_type": "P",
        • "country": "DEU",
        • "full_name": "John Doe",
        • "name": "John",
        • "surname": "Doe",
        • "document_number": "P-1234567890",
        • "nationality": "DEU",
        • "birth_date": "1983-03-21",
        • "sex": "M",
        • "expiry_date": "2021-02-24",
        • "issue_date": "2021-02-24",
        • "pin": "string",
        • "card_number": "string",
        • "license_number": "string",
        • "license_type": "string",
        • "license_class": "string",
        • "cpf_number": "string",
        • "vin": "string",
        • "nin": "string",
        • "occupation": "string",
        • "polling_unit": "string",
        • "region": "string",
        • "restrictions": "string",
        • "height": "string",
        • "registration_date": "string",
        • "parents_names": "string",
        • "endorsements": "string"
        },
      • "is_sandbox": false,
      • "profile_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "settings": {
        • "poi_required": true,
        • "poi_allowed_documents": [
          • "passport"
          ],
        • "face_comparison_required": true,
        • "face_comparison_allowed_documents": [
          • "selfie"
          ],
        • "poa_required": false,
        • "disable_cross_check_by_bio": false,
        • "disable_cross_check_by_photo": false,
        • "disable_verify_poa_country_match_with_poi": false,
        • "countries": [
          • "FR"
          ],
        • "allow_poi_manual_uploads": false,
        • "allow_desktop": false,
        • "ui_settings": { },
        • "manual_field_settings": {
          • "enabled": true,
          • "description": "string",
          • "full_name": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "email": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "phone": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "country": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "dob": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "gender": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "citizenship": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "address": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "custom_fields": [
            • {
              • "label": "string",
              • "caption": "string",
              • "order": 0,
              • "options": {
                • "choices": [
                  • "string"
                  ],
                • "type": "select"
                }
              }
            ]
          },
        • "finish_screen_settings": {
          • "enabled": true,
          • "settings": {
            • "title": "string",
            • "main_text": "string",
            • "redirect_warning": "string",
            • "cta": "string",
            • "redirect_link": "string"
            }
          }
        },
      • "aml_search_id": "d358ace9-9e35-42cd-b8b7-837c1005d2f5",
      • "manual_fields": {
        • "full_name": "string",
        • "email": "string",
        • "phone": "string",
        • "country": "string",
        • "dob": "string",
        • "gender": "M",
        • "citizenship": "string",
        • "address": "string",
        • "custom_fields": { }
        },
      • "custom_files": {
        • "property1": {
          • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
          • "content_type": "image/jpeg"
          },
        • "property2": {
          • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
          • "content_type": "image/jpeg"
          }
        }
      }
    ],
  • "has_next": false
}

SDK

SDK API

By leveraging the SDK API, developers can accelerate development, simplify integration, and enhance the overall user experience.

Get verification

Get verification status and required checks

Authorizations:
ApiKeyAuth
path Parameters
short_id
required
string
Example: VDBA1B2EA6A28A7D2

From what event id start fetch history

Responses

Response Schema: application/json
id
required
string

Short verification id

status
required
string
Enum: "active" "expired" "completed"
required
object (CheckObject)

Object describes required checks and it`s current status

object or null

MRZ check

object or null
status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Face comparison check, can be within selfie or liveness_photo documents

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Proof of Address check

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Liveness check, verify that provided image is not spoofed

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
redirect_url
string

merchant's website reidrect url on completion

expires_at
required
string <ISO-8601>

Verification expiration timestamp

country_code
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

required
object or null (VerificationProfileSettings)

Verification profile settings

poi_required
required
boolean
Default: true

POI (proof of identity) check is required.

poi_allowed_documents
required
Array of strings
Items Enum: "passport" "driver_license" "id_card" "residence_permit"
face_comparison_required
required
boolean
Default: true

Face comparison check is required

face_comparison_allowed_documents
required
Array of strings
Items Enum: "selfie" "liveness_photo"
poa_required
required
boolean
Default: false

POA (proof of address) check is required

disable_cross_check_by_bio
boolean
Default: false

Don't do cross check by name and birth date in POI document across organization.

disable_cross_check_by_photo
boolean
Default: false

Don't do cross check by photo of applicant across organization.

disable_verify_poa_country_match_with_poi
boolean
Default: false

Disable requirement that country in POA document should be match within country in POI document

countries
Array of strings <ISO 3166-1 ALPHA-2 code> [ items <ISO 3166-1 ALPHA-2 code > ]

List of allowed countries

allow_poi_manual_uploads
required
boolean
Default: false

Allow manual upload POI documents from files (now live photo)

allow_desktop
required
boolean
Default: false

Allow uploads throught desktop. False means only mobile allowed

ui_settings
object (UISettings)

ui settigns to customize SDK

object (ManualFieldsSettings)

Manual field settings

enabled
required
boolean
description
string
object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

Array of objects
object (LinkFinishScreenSettings)

Verification finish screen settings

enabled
required
boolean
object

Response samples

Content type
application/json
{
  • "id": "VDBA1B2EA6A28A7D2",
  • "status": "active",
  • "checks": {
    • "document_mrz": {
      • "data": {
        • "document_type": "Passport",
        • "country": "DE",
        • "name": "John",
        • "surname": "Doe",
        • "doc_number": "P-1234567890",
        • "nationality": "British",
        • "birth_date": "871224",
        • "sex": "M",
        • "expiry_date": "201224"
        },
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "face_comparison": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "poa": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "liveness": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      }
    },
  • "redirect_url": "https://example.org/redirect",
  • "expires_at": "2023-07-18T15:32:13Z",
  • "country_code": "DE",
  • "settings": {
    • "poi_required": true,
    • "poi_allowed_documents": [
      • "passport"
      ],
    • "face_comparison_required": true,
    • "face_comparison_allowed_documents": [
      • "selfie"
      ],
    • "poa_required": false,
    • "disable_cross_check_by_bio": false,
    • "disable_cross_check_by_photo": false,
    • "disable_verify_poa_country_match_with_poi": false,
    • "countries": [
      • "FR"
      ],
    • "allow_poi_manual_uploads": false,
    • "allow_desktop": false,
    • "ui_settings": { },
    • "manual_field_settings": {
      • "enabled": true,
      • "description": "string",
      • "full_name": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "email": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "phone": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "country": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "dob": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "gender": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "citizenship": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "address": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "custom_fields": [
        • {
          • "label": "string",
          • "caption": "string",
          • "order": 0,
          • "options": {
            • "choices": [
              • "string"
              ],
            • "type": "select"
            }
          }
        ]
      },
    • "finish_screen_settings": {
      • "enabled": true,
      • "settings": {
        • "title": "string",
        • "main_text": "string",
        • "redirect_warning": "string",
        • "cta": "string",
        • "redirect_link": "string"
        }
      }
    }
}

Upload document

Allow to upload documents for specified applicant id

Authorizations:
ApiKeyAuth
path Parameters
short_id
required
string
Example: VDBA1B2EA6A28A7D2

Existing Short Veririfcation Id

Request Body schema: multipart/form-data
required
file
required
string <binary>
document_type
required
string
Enum: "poi" "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Document type of uploaded file. Can be just poi to turn on auto detection algorithm. In that case we return detected_document_type in response.

side
string (DocumentSide)
Enum: "front" "back"

Possible document side

issued_country
string <ISO 3166-1 alpha-3>

Country issued document in ISO 3166-1 alpha-3 format.

Responses

Response Schema: application/json
document_id
string <uuid>
detected_document_type
string or null (DocumentType)
Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Possible document type

detected_document_side
string or null (DocumentSide)
Enum: "front" "back"

Possible document side

detected_two_side_document
boolean
detected_country
string

Country in ISO 31661-1 alpha-2 code

Response Schema: application/json
One of
Array of objects
Array
code
integer (VerificationErrorCode)

General parsing and detection

Code Message Description
1001 "document parsing failed" Processing of document fails due to any reason. Most common cases - image doesn't have any document, corrupted file, etc.
1103 "expiry date not recognized" Expiry date on document not parsed or detected

Document MRZ errors

Code Message Description
2001 "document mrz detection failed" MRZ Zone not detected at document
2002 "document number" Document number not detected on document or invalid
2003 "birth date" Birth date not detected or invalid
2004 "expiry date" Expiry date not detected or invalid
2005 "final" Checksum of fields is invalid
2006 "country code" Country code not detected or invalid
2010 "document validation failed" General error of mrz validation

Expiration

Code Message Description
3001 "document expired" Document expired

Document mismatch

Code Message Description
3100 "document mismatch" The uploaded document does not match the stated

Face comparison

Code Message Description
4001 "no face were found on image" Face not found in image
4002 "face comparison failed" Face doesn't match with document
4003 "images are identical" Face image and document image are identical

Proof of address

Code Message Description
4500 "Name in PoA document not verified" -
4501 "Surname in PoA document not verified" -
4502 "Country in PoA document not verified" -
4503 "PoA document is not applicable" -
4504 "PoA Document is too old" -
4505 "Can't process poa document" -

Liveness

Code Message Description
5000 "Liveness check not passed" -
5001 "deepfake" Photo is deepfake
5002 "spoof" Photo is spoofed
5003 "move closer" Photo spoofed or disputed. hint for user: move closer
5004 "check lighting" Photo spoofed or disputed. hint for user: check lighting
5005 "disputed" Photo liveness is disputed
5006 "small resolution" Photo spoofed or disputed. hint for user: image resolution too small. Check camera settings
5007 "3d depth of face" Photo spoofed or disputed. hint for user: It can be lighting or angle of face.

Verification

Code Message Description
8000 "verification expired" Verification expired
8001 "verification canceled" Verification canceled
message
string

Descriptive error for a corresponding error code

Response Schema: application/json
message
string

Response samples

Content type
application/json
{
  • "document_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "detected_document_type": "passport",
  • "detected_document_side": "front",
  • "detected_two_side_document": true,
  • "detected_country": "FI"
}

Proceed with an existing Verification

To proceed verification further call this method. Should be used after all the required documents has been uploaded.

Recovering from errors:

pending_documents - need to upload missed docs. pending_documents field indicates which documents are missed.

country_unknown - we can't detect country in POI document. Please specify country by set_country API request or use another document.

Authorizations:
ApiKeyAuth
path Parameters
short_id
required
string
Example: VDBA1B2EA6A28A7D2

Existing Verification Short Id

Responses

Response Schema: application/json
id
required
string

Short verification id

status
required
string
Enum: "active" "expired" "completed"
required
object (CheckObject)

Object describes required checks and it`s current status

object or null

MRZ check

object or null
status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Face comparison check, can be within selfie or liveness_photo documents

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Proof of Address check

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Liveness check, verify that provided image is not spoofed

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
redirect_url
string

merchant's website reidrect url on completion

expires_at
required
string <ISO-8601>

Verification expiration timestamp

country_code
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

required
object or null (VerificationProfileSettings)

Verification profile settings

poi_required
required
boolean
Default: true

POI (proof of identity) check is required.

poi_allowed_documents
required
Array of strings
Items Enum: "passport" "driver_license" "id_card" "residence_permit"
face_comparison_required
required
boolean
Default: true

Face comparison check is required

face_comparison_allowed_documents
required
Array of strings
Items Enum: "selfie" "liveness_photo"
poa_required
required
boolean
Default: false

POA (proof of address) check is required

disable_cross_check_by_bio
boolean
Default: false

Don't do cross check by name and birth date in POI document across organization.

disable_cross_check_by_photo
boolean
Default: false

Don't do cross check by photo of applicant across organization.

disable_verify_poa_country_match_with_poi
boolean
Default: false

Disable requirement that country in POA document should be match within country in POI document

countries
Array of strings <ISO 3166-1 ALPHA-2 code> [ items <ISO 3166-1 ALPHA-2 code > ]

List of allowed countries

allow_poi_manual_uploads
required
boolean
Default: false

Allow manual upload POI documents from files (now live photo)

allow_desktop
required
boolean
Default: false

Allow uploads throught desktop. False means only mobile allowed

ui_settings
object (UISettings)

ui settigns to customize SDK

object (ManualFieldsSettings)

Manual field settings

enabled
required
boolean
description
string
object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

Array of objects
object (LinkFinishScreenSettings)

Verification finish screen settings

enabled
required
boolean
object
Response Schema: application/json
error
required
string
Enum: "pending_documents" "country_unknown"
pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"
message
string

Response samples

Content type
application/json
{
  • "id": "VDBA1B2EA6A28A7D2",
  • "status": "active",
  • "checks": {
    • "document_mrz": {
      • "data": {
        • "document_type": "Passport",
        • "country": "DE",
        • "name": "John",
        • "surname": "Doe",
        • "doc_number": "P-1234567890",
        • "nationality": "British",
        • "birth_date": "871224",
        • "sex": "M",
        • "expiry_date": "201224"
        },
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "face_comparison": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "poa": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "liveness": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      }
    },
  • "redirect_url": "https://example.org/redirect",
  • "expires_at": "2023-07-18T15:32:13Z",
  • "country_code": "DE",
  • "settings": {
    • "poi_required": true,
    • "poi_allowed_documents": [
      • "passport"
      ],
    • "face_comparison_required": true,
    • "face_comparison_allowed_documents": [
      • "selfie"
      ],
    • "poa_required": false,
    • "disable_cross_check_by_bio": false,
    • "disable_cross_check_by_photo": false,
    • "disable_verify_poa_country_match_with_poi": false,
    • "countries": [
      • "FR"
      ],
    • "allow_poi_manual_uploads": false,
    • "allow_desktop": false,
    • "ui_settings": { },
    • "manual_field_settings": {
      • "enabled": true,
      • "description": "string",
      • "full_name": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "email": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "phone": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "country": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "dob": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "gender": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "citizenship": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "address": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "custom_fields": [
        • {
          • "label": "string",
          • "caption": "string",
          • "order": 0,
          • "options": {
            • "choices": [
              • "string"
              ],
            • "type": "select"
            }
          }
        ]
      },
    • "finish_screen_settings": {
      • "enabled": true,
      • "settings": {
        • "title": "string",
        • "main_text": "string",
        • "redirect_warning": "string",
        • "cta": "string",
        • "redirect_link": "string"
        }
      }
    }
}

Set custom fields for applicant by short verification id

This endpoint should be use for setup custom fields for applicant from SDK.

Authorizations:
ApiKeyAuth
path Parameters
short_id
required
string
Example: VDBA1B2EA6A28A7D2

Existing Verification Short Id

Request Body schema: application/json
required
full_name
string
email
string
phone
string
country
string
dob
string

Date of birth.

gender
string
Enum: "M" "F"
citizenship
string
address
string
custom_fields
object (CustomFields)

Key - value object, values can be only strings

Responses

Response Schema: application/json
message
required
string

Request samples

Content type
application/json
{
  • "full_name": "string",
  • "email": "string",
  • "phone": "string",
  • "country": "string",
  • "dob": "string",
  • "gender": "M",
  • "citizenship": "string",
  • "address": "string",
  • "custom_fields": { }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Upload custom files to verification

Allow uploading custom files to verification if any are enabled in verification profile

Authorizations:
ApiKeyAuth
path Parameters
short_id
required
string
Example: VDBA1B2EA6A28A7D2

Existing Verification Short Id

Request Body schema: multipart/form-data
required
object (UploadCustomFileBody)

name of field should match with the label of custom field for file

Responses

Response Schema: application/json
message
required
string
Response Schema: application/json
One of
message
string

Response samples

Content type
application/json
{
  • "message": "string"
}

Verification profiles

Verification profiles API

Verification profiles is designed to configure verification flow.

Key Features:

  1. Setup which documents, countries are valid for verification.
  2. Enable or disable required checks for verification. For example disable/enable cross check verification.
  3. Any other custom settings. Please contact us to negotiate required custom behaviour.

List profiles

List all current verification profiles

Authorizations:
ApiKeyAuth
query Parameters
page
integer
Default: 0

Current page

limit
integer
Default: 0

Limit of returned items per page

Responses

Response Schema: application/json
required
Array of objects

List of an existing paginated items

Array
profile_id
required
string <uuid>

Id of profile

name
required
string

Name of verification profile. Should be unique

required
object (VerificationProfileSettings)

Verification profile settings

organization_id
required
string
is_default
required
boolean
description
string
updated_at
string <ISO-8601>
created_at
required
string <ISO-8601>
created_by
string
is_archived
boolean

Profile is archived. Can't be use with verifications.

object (LinkDetails)

Verification link

has_next
boolean
Default: false

This property serves as an indicator of whether there is a next page available in the paginated result

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "profile_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "name": "default",
      • "settings": {
        • "poi_required": true,
        • "poi_allowed_documents": [
          • "passport"
          ],
        • "face_comparison_required": true,
        • "face_comparison_allowed_documents": [
          • "selfie"
          ],
        • "poa_required": false,
        • "disable_cross_check_by_bio": false,
        • "disable_cross_check_by_photo": false,
        • "disable_verify_poa_country_match_with_poi": false,
        • "countries": [
          • "FR"
          ],
        • "allow_poi_manual_uploads": false,
        • "allow_desktop": false,
        • "ui_settings": { },
        • "manual_field_settings": {
          • "enabled": true,
          • "description": "string",
          • "full_name": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "email": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "phone": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "country": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "dob": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "gender": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "citizenship": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "address": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "custom_fields": [
            • {
              • "label": "string",
              • "caption": "string",
              • "order": 0,
              • "options": {
                • "choices": [
                  • "string"
                  ],
                • "type": "select"
                }
              }
            ]
          },
        • "finish_screen_settings": {
          • "enabled": true,
          • "settings": {
            • "title": "string",
            • "main_text": "string",
            • "redirect_warning": "string",
            • "cta": "string",
            • "redirect_link": "string"
            }
          }
        },
      • "organization_id": "string",
      • "is_default": true,
      • "description": "string",
      • "updated_at": "2023-07-18T15:32:13Z",
      • "created_at": "2023-07-18T15:32:13Z",
      • "created_by": "string",
      • "is_archived": true,
      • "link": {
        • "link_id": "LUH9NRBCLISYA492Y",
        • "expiration_minutes": 240,
        • "created_at": "2023-07-18T15:32:13Z",
        • "archived_at": "2023-07-18T15:32:13Z",
        • "telegram_link": "string",
        • "web_link": "string",
        • "manual_field_settings": {
          • "enabled": true,
          • "description": "string",
          • "full_name": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "email": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "phone": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "country": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "dob": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "gender": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "citizenship": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "address": {
            • "enabled": true,
            • "caption": "string",
            • "order": 0
            },
          • "custom_fields": [
            • {
              • "label": "string",
              • "caption": "string",
              • "order": 0,
              • "options": {
                • "choices": [
                  • "string"
                  ],
                • "type": "select"
                }
              }
            ]
          },
        • "finish_screen_settings": {
          • "enabled": true,
          • "settings": {
            • "title": "string",
            • "main_text": "string",
            • "redirect_warning": "string",
            • "cta": "string",
            • "redirect_link": "string"
            }
          }
        }
      }
    ],
  • "has_next": false
}

Create profile

Create verification profile

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
name
required
string
description
string
required
object (VerificationProfileSettings)

Verification profile settings

poi_required
required
boolean
Default: true

POI (proof of identity) check is required.

poi_allowed_documents
required
Array of strings
Items Enum: "passport" "driver_license" "id_card" "residence_permit"
face_comparison_required
required
boolean
Default: true

Face comparison check is required

face_comparison_allowed_documents
required
Array of strings
Items Enum: "selfie" "liveness_photo"
poa_required
required
boolean
Default: false

POA (proof of address) check is required

disable_cross_check_by_bio
boolean
Default: false

Don't do cross check by name and birth date in POI document across organization.

disable_cross_check_by_photo
boolean
Default: false

Don't do cross check by photo of applicant across organization.

disable_verify_poa_country_match_with_poi
boolean
Default: false

Disable requirement that country in POA document should be match within country in POI document

countries
Array of strings <ISO 3166-1 ALPHA-2 code> [ items <ISO 3166-1 ALPHA-2 code > ]

List of allowed countries

allow_poi_manual_uploads
required
boolean
Default: false

Allow manual upload POI documents from files (now live photo)

allow_desktop
required
boolean
Default: false

Allow uploads throught desktop. False means only mobile allowed

ui_settings
object (UISettings)

ui settigns to customize SDK

object (ManualFieldsSettings)

Manual field settings

enabled
required
boolean
description
string
object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

Array of objects
object (LinkFinishScreenSettings)

Verification finish screen settings

enabled
required
boolean
object

Responses

Response Schema: application/json
id
string <uuid>

Id of entity

Request samples

Content type
application/json
{
  • "name": "name for profile",
  • "description": "description of profile.",
  • "settings": {
    • "poi_required": true,
    • "poi_allowed_documents": [
      • "passport"
      ],
    • "face_comparison_required": true,
    • "face_comparison_allowed_documents": [
      • "selfie"
      ],
    • "poa_required": false,
    • "disable_cross_check_by_bio": false,
    • "disable_cross_check_by_photo": false,
    • "disable_verify_poa_country_match_with_poi": false,
    • "countries": [
      • "FR"
      ],
    • "allow_poi_manual_uploads": false,
    • "allow_desktop": false,
    • "ui_settings": { },
    • "manual_field_settings": {
      • "enabled": true,
      • "description": "string",
      • "full_name": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "email": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "phone": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "country": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "dob": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "gender": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "citizenship": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "address": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "custom_fields": [
        • {
          • "label": "string",
          • "caption": "string",
          • "order": 0,
          • "options": {
            • "choices": [
              • "string"
              ],
            • "type": "select"
            }
          }
        ]
      },
    • "finish_screen_settings": {
      • "enabled": true,
      • "settings": {
        • "title": "string",
        • "main_text": "string",
        • "redirect_warning": "string",
        • "cta": "string",
        • "redirect_link": "string"
        }
      }
    }
}

Response samples

Content type
application/json
{
  • "id": "01827ed5-c228-7a3c-9a31-7ab7cc169d13"
}

Get profile

Get verification profile by id

Authorizations:
ApiKeyAuth
path Parameters
profile_id
required
string <uuid>
Example: 01827ed5-c228-7a3c-9a31-7ab7cc169d13

Existing profile id

Responses

Response Schema: application/json
profile_id
required
string <uuid>

Id of profile

name
required
string

Name of verification profile. Should be unique

required
object (VerificationProfileSettings)

Verification profile settings

poi_required
required
boolean
Default: true

POI (proof of identity) check is required.

poi_allowed_documents
required
Array of strings
Items Enum: "passport" "driver_license" "id_card" "residence_permit"
face_comparison_required
required
boolean
Default: true

Face comparison check is required

face_comparison_allowed_documents
required
Array of strings
Items Enum: "selfie" "liveness_photo"
poa_required
required
boolean
Default: false

POA (proof of address) check is required

disable_cross_check_by_bio
boolean
Default: false

Don't do cross check by name and birth date in POI document across organization.

disable_cross_check_by_photo
boolean
Default: false

Don't do cross check by photo of applicant across organization.

disable_verify_poa_country_match_with_poi
boolean
Default: false

Disable requirement that country in POA document should be match within country in POI document

countries
Array of strings <ISO 3166-1 ALPHA-2 code> [ items <ISO 3166-1 ALPHA-2 code > ]

List of allowed countries

allow_poi_manual_uploads
required
boolean
Default: false

Allow manual upload POI documents from files (now live photo)

allow_desktop
required
boolean
Default: false

Allow uploads throught desktop. False means only mobile allowed

ui_settings
object (UISettings)

ui settigns to customize SDK

object (ManualFieldsSettings)

Manual field settings

enabled
required
boolean
description
string
object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

Array of objects
object (LinkFinishScreenSettings)

Verification finish screen settings

enabled
required
boolean
object
organization_id
required
string
is_default
required
boolean
description
string
updated_at
string <ISO-8601>
created_at
required
string <ISO-8601>
created_by
string
is_archived
boolean

Profile is archived. Can't be use with verifications.

object (LinkDetails)

Verification link

link_id
required
string
expiration_minutes
required
integer
Default: 240
created_at
required
string <ISO-8601>
archived_at
string <ISO-8601>
telegram_link
required
string

Public link to start verification process via telegram using this profile

web_link
required
string

Public link to start verification process via web using this profile

object (ManualFieldsSettings)
Deprecated

This settings has migrated to VerificationProfileSettings

enabled
required
boolean
description
string
object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

Array of objects
object (LinkFinishScreenSettings)
Deprecated

This settings has migrated to VerificationProfileSettings

enabled
required
boolean
object

Response samples

Content type
application/json
{
  • "profile_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "name": "default",
  • "settings": {
    • "poi_required": true,
    • "poi_allowed_documents": [
      • "passport"
      ],
    • "face_comparison_required": true,
    • "face_comparison_allowed_documents": [
      • "selfie"
      ],
    • "poa_required": false,
    • "disable_cross_check_by_bio": false,
    • "disable_cross_check_by_photo": false,
    • "disable_verify_poa_country_match_with_poi": false,
    • "countries": [
      • "FR"
      ],
    • "allow_poi_manual_uploads": false,
    • "allow_desktop": false,
    • "ui_settings": { },
    • "manual_field_settings": {
      • "enabled": true,
      • "description": "string",
      • "full_name": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "email": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "phone": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "country": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "dob": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "gender": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "citizenship": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "address": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "custom_fields": [
        • {
          • "label": "string",
          • "caption": "string",
          • "order": 0,
          • "options": {
            • "choices": [
              • "string"
              ],
            • "type": "select"
            }
          }
        ]
      },
    • "finish_screen_settings": {
      • "enabled": true,
      • "settings": {
        • "title": "string",
        • "main_text": "string",
        • "redirect_warning": "string",
        • "cta": "string",
        • "redirect_link": "string"
        }
      }
    },
  • "organization_id": "string",
  • "is_default": true,
  • "description": "string",
  • "updated_at": "2023-07-18T15:32:13Z",
  • "created_at": "2023-07-18T15:32:13Z",
  • "created_by": "string",
  • "is_archived": true,
  • "link": {
    • "link_id": "LUH9NRBCLISYA492Y",
    • "expiration_minutes": 240,
    • "created_at": "2023-07-18T15:32:13Z",
    • "archived_at": "2023-07-18T15:32:13Z",
    • "telegram_link": "string",
    • "web_link": "string",
    • "manual_field_settings": {
      • "enabled": true,
      • "description": "string",
      • "full_name": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "email": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "phone": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "country": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "dob": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "gender": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "citizenship": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "address": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "custom_fields": [
        • {
          • "label": "string",
          • "caption": "string",
          • "order": 0,
          • "options": {
            • "choices": [
              • "string"
              ],
            • "type": "select"
            }
          }
        ]
      },
    • "finish_screen_settings": {
      • "enabled": true,
      • "settings": {
        • "title": "string",
        • "main_text": "string",
        • "redirect_warning": "string",
        • "cta": "string",
        • "redirect_link": "string"
        }
      }
    }
}

Update profile

Update verification profile

Authorizations:
ApiKeyAuth
path Parameters
profile_id
required
string <uuid>
Example: 01827ed5-c228-7a3c-9a31-7ab7cc169d13

Existing profile id

Request Body schema: application/json
required
name
string
description
string
object or null (ChangeVerificationProfileSettings)

Change verification profile settings

poi_allowed_documents
Array of strings
Items Enum: "passport" "driver_license" "id_card" "residence_permit"
face_comparison_allowed_documents
Array of strings
Items Enum: "selfie" "liveness_photo"
poa_required
boolean
Default: false

POA (proof of address) check is required

disable_cross_check_by_bio
boolean
Default: false

Don't do cross check by name and birth date in POI document across organization.

disable_cross_check_by_photo
boolean
Default: false

Don't do cross check by photo of applicant across organization.

disable_verify_poa_country_match_with_poi
boolean
Default: false

Disable requirement that country in POA document should be match within country in POI document

countries
Array of strings <ISO 3166-1 ALPHA-2 code> [ items <ISO 3166-1 ALPHA-2 code > ]

List of allowed countries

allow_poi_manual_uploads
boolean
Default: false

Allow manual upload POI documents from files (now live photo)

allow_desktop
boolean
Default: false

Allow uploads throught desktop. False means only mobile allowed

ui_settings
object (UISettings)

ui settigns to customize SDK

object (ManualFieldsSettings)

Manual field settings

enabled
required
boolean
description
string
object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

Array of objects

Responses

Response Schema: application/json
message
string

Request samples

Content type
application/json
{
  • "name": "new name for profile",
  • "description": "description of profile.",
  • "settings": {
    • "poi_allowed_documents": [
      • "passport"
      ],
    • "face_comparison_allowed_documents": [
      • "selfie"
      ],
    • "poa_required": false,
    • "disable_cross_check_by_bio": false,
    • "disable_cross_check_by_photo": false,
    • "disable_verify_poa_country_match_with_poi": false,
    • "countries": [
      • "FR"
      ],
    • "allow_poi_manual_uploads": false,
    • "allow_desktop": false,
    • "ui_settings": { },
    • "manual_field_settings": {
      • "enabled": true,
      • "description": "string",
      • "full_name": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "email": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "phone": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "country": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "dob": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "gender": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "citizenship": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "address": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "custom_fields": [
        • {
          • "label": "string",
          • "caption": "string",
          • "order": 0,
          • "options": {
            • "choices": [
              • "string"
              ],
            • "type": "select"
            }
          }
        ]
      }
    }
}

Response samples

Content type
application/json
{
  • "message": "Bad request"
}

Archive profile

Archive verification profile by id

Authorizations:
ApiKeyAuth
path Parameters
profile_id
required
string <uuid>
Example: 01827ed5-c228-7a3c-9a31-7ab7cc169d13

Existing profile id

Responses

Response Schema: application/json
message
required
string
Response Schema: application/json
message
string
error
any

Response samples

Content type
application/json
{
  • "message": "profile deleted"
}

Set default profile

Set profile default by id

Authorizations:
ApiKeyAuth
path Parameters
profile_id
required
string <uuid>
Example: 01827ed5-c228-7a3c-9a31-7ab7cc169d13

Existing profile id

Responses

File management

File Management API

File Management API combines essential file management functionalities, including file upload, preview, and download, to facilitate efficient and secure handling of documents submitted for verification purposes.

Key Features:

  1. File Upload: The API enables seamless file upload, allowing end-users to submit various types of documents, such as passports, driver's licenses, identity cards, and other relevant identification papers.
  2. File Preview: This functionality assists users in verifying the accuracy of the uploaded documents before proceeding with the verification process.
  3. File Download: Upon successful verification or when needed this feature allows to retain a copy of submitted verified documents for future use.

Upload document

Allow to upload documents for specified applicant id

Authorizations:
ApiKeyAuth
path Parameters
applicant_id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Existing Applicant Id

Request Body schema: multipart/form-data
required
file
required
string <binary>
document_type
required
string
Enum: "poi" "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Document type of uploaded file. Can be just poi to turn on auto detection algorithm. In that case we return detected_document_type in response.

side
string (DocumentSide)
Enum: "front" "back"

Possible document side

issued_country
string <ISO 3166-1 alpha-3>

Country issued document in ISO 3166-1 alpha-3 format.

Responses

Response Schema: application/json
document_id
string <uuid>
detected_document_type
string or null (DocumentType)
Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Possible document type

detected_document_side
string or null (DocumentSide)
Enum: "front" "back"

Possible document side

detected_two_side_document
boolean
detected_country
string

Country in ISO 31661-1 alpha-2 code

Response Schema: application/json
One of
Array of objects
Array
code
integer (VerificationErrorCode)

General parsing and detection

Code Message Description
1001 "document parsing failed" Processing of document fails due to any reason. Most common cases - image doesn't have any document, corrupted file, etc.
1103 "expiry date not recognized" Expiry date on document not parsed or detected

Document MRZ errors

Code Message Description
2001 "document mrz detection failed" MRZ Zone not detected at document
2002 "document number" Document number not detected on document or invalid
2003 "birth date" Birth date not detected or invalid
2004 "expiry date" Expiry date not detected or invalid
2005 "final" Checksum of fields is invalid
2006 "country code" Country code not detected or invalid
2010 "document validation failed" General error of mrz validation

Expiration

Code Message Description
3001 "document expired" Document expired

Document mismatch

Code Message Description
3100 "document mismatch" The uploaded document does not match the stated

Face comparison

Code Message Description
4001 "no face were found on image" Face not found in image
4002 "face comparison failed" Face doesn't match with document
4003 "images are identical" Face image and document image are identical

Proof of address

Code Message Description
4500 "Name in PoA document not verified" -
4501 "Surname in PoA document not verified" -
4502 "Country in PoA document not verified" -
4503 "PoA document is not applicable" -
4504 "PoA Document is too old" -
4505 "Can't process poa document" -

Liveness

Code Message Description
5000 "Liveness check not passed" -
5001 "deepfake" Photo is deepfake
5002 "spoof" Photo is spoofed
5003 "move closer" Photo spoofed or disputed. hint for user: move closer
5004 "check lighting" Photo spoofed or disputed. hint for user: check lighting
5005 "disputed" Photo liveness is disputed
5006 "small resolution" Photo spoofed or disputed. hint for user: image resolution too small. Check camera settings
5007 "3d depth of face" Photo spoofed or disputed. hint for user: It can be lighting or angle of face.

Verification

Code Message Description
8000 "verification expired" Verification expired
8001 "verification canceled" Verification canceled
message
string

Descriptive error for a corresponding error code

Response Schema: application/json
message
string

Response samples

Content type
application/json
{
  • "document_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "detected_document_type": "passport",
  • "detected_document_side": "front",
  • "detected_two_side_document": true,
  • "detected_country": "FI"
}

Preview Document

Preview uploaded document, the compressed version of the original image

Authorizations:
ApiKeyAuth
path Parameters
document_id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Fetch Document by ID

Responses

Get Document

Retrieve original document

Authorizations:
ApiKeyAuth
path Parameters
document_id
required
string <uuid>

Fetch Document by ID

Responses

Webhooks

Webhooks API

The AML and Document Verification Webhooks API provide essential event-driven notifications to developers, enabling seamless integration with Dataspike system application's AML checks and document verification processes. By leveraging these Webhooks, developers can receive real-time updates about AML hits, document verification results, and other activities related to applicant screening.

Example of Possible Webhook Events

Fake path to describe webhook format. Click Callbacks bellow to see possible Webhook Object options. More information about webhooks can be found in the documentation.

Authorizations:
ApiKeyAuth

Responses

Callbacks

Create Webhook

Allow to create new webhook with specified parameters

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
is_sandbox
boolean
Default: false

For what environment new Webhook should be created

webhook_url
string <url>

Your server endpoint where Dataspike service will send AML and Document Verification events

event_types
Array of strings
Items Enum: "AML_SCREENING" "DOCVER" "TRANSACTION_MONITORING"
enabled
boolean
Default: true

Set to false if you want temporarily deactivate webhook

Responses

Request samples

Content type
application/json
{
  • "is_sandbox": false,
  • "webhook_url": "https://dataspike.io",
  • "event_types": [
    • "AML_SCREENING"
    ],
  • "enabled": true
}

List Webhooks

Allow to retrieve configuration of existing webhooks

Authorizations:
ApiKeyAuth

Responses

Response Schema: application/json
Array of objects (WebhookSettings)
Array
webhook_id
string <uuid>

Webhook ID registered within the system

is_sandbox
boolean
Default: false

For what environment new Webhook should be created

webhook_url
string <url>

Your server endpoint where Dataspike service will send AML and Document Verification events

event_types
Array of strings
Items Enum: "AML_SCREENING" "DOCVER" "TRANSACTION_MONITORING"
enabled
boolean
Default: true

Set to false if you want temporarily deactivate webhook

Response samples

Content type
application/json
{
  • "webhooks": [
    • {
      • "webhook_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "is_sandbox": false,
      • "webhook_url": "https://dataspike.io",
      • "event_types": [
        • "AML_SCREENING"
        ],
      • "enabled": true
      }
    ]
}

Update Webhook

Allow to update existing webhook with specified parameters

Authorizations:
ApiKeyAuth
path Parameters
webhook_id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Webhook ID

Request Body schema: application/json
required
is_sandbox
boolean
Default: false

For what environment new Webhook should be created

webhook_url
string <url>

Your server endpoint where Dataspike service will send AML and Document Verification events

event_types
Array of strings
Items Enum: "AML_SCREENING" "DOCVER" "TRANSACTION_MONITORING"
enabled
boolean
Default: true

Set to false if you want temporarily deactivate webhook

Responses

Request samples

Content type
application/json
{
  • "is_sandbox": false,
  • "webhook_url": "https://dataspike.io",
  • "event_types": [
    • "AML_SCREENING"
    ],
  • "enabled": true
}

Delete Webhooks

Allow to delete existing webhooks

Authorizations:
ApiKeyAuth
path Parameters
webhook_id
required
string <uuid>
Example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11

Webhook ID

Responses

View Webhook Hisotry

View history of the latest webhook notification events

Authorizations:
ApiKeyAuth
query Parameters
after
string <uuid>
Example: after=01827ed4-c928-7a3c-9a30-7ab7cc169d11

From what event id start fetch history

webhook_id
string <uuid>
Example: webhook_id=01827ed4-c928-7a3c-9a30-7ab7cc169d11

Filter by Webhook Configuration ID

Responses

Response Schema: application/json
required
Array of objects

List of an existing paginated items

Array
id
string

Unique webhook event id

webhook_id
string

Triggered webhook Id configuration. the configuration itself could be found in your Dataspike account

event_type
string
Enum: "AML_SCREENING" "DOCVER" "TRANSACTION_MONITORING"
timestamp
string <ISO-8601>

Timestamp of the webhook event

AmlWebhookObject (object) or DocverWebhookObject (object) or TransmonWebhookObject (object)
has_next
boolean
Default: false

This property serves as an indicator of whether there is a next page available in the paginated result

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "webhook_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "event_type": "AML_SCREENING",
      • "timestamp": "2023-07-18T15:32:13Z",
      • "payload": {
        • "risk_score": {
          • "type": "Low"
          },
        • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
        • "external_id": "external_id_123",
        • "screening_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
        • "search_request": {
          • "full_name": "Grace MUGABE",
          • "first_name": "Grace",
          • "last_name": "MUGABE",
          • "countries": [
            • "ZW"
            ],
          • "cities": [ ],
          • "postal_codes": [ ],
          • "date_of_birth": {
            • "gte": "1987-12-24",
            • "lte": "1987-12-24"
            },
          • "risk_scores": [
            • "High"
            ],
          • "tags": [
            • "Sanctions"
            ],
          • "entity_types": [
            • "Person"
            ],
          • "sources": [ ],
          • "fuzziness": true,
          • "phonetics": true,
          • "registration_ids": [ ]
          },
        • "search_response": {
          • "requested_name": "string",
          • "search_uuid": "string",
          • "max_risk_score": "Low",
          • "data": [
            • {
              • "uuid": "string",
              • "type": "Person",
              • "annotation": "string",
              • "tags": [
                • "Finance"
                ],
              • "risk_score": "Low",
              • "fields": {
                • "names": [
                  • {
                    • "full_name": null,
                    • "first_name": null,
                    • "last_name": null,
                    • "middle_name": null,
                    • "lang": null
                    }
                  ],
                • "sources": [
                  • {
                    • "source_id": null,
                    • "name": null,
                    • "reason": null,
                    • "summary": null,
                    • "source_url": null,
                    • "risk_score": null,
                    • "tags": [ ]
                    }
                  ],
                • "media": [
                  • {
                    • "source_name": null,
                    • "source_url": null,
                    • "headline": null,
                    • "summary": null,
                    • "published_at": null,
                    • "risk_score": null,
                    • "importance_score": null,
                    • "sentiment": null,
                    • "tags": [ ],
                    • "country_codes": [ ]
                    }
                  ],
                • "images": [
                  • {
                    • "description": null,
                    • "url": null
                    }
                  ],
                • "contact_info": [
                  • {
                    • "emails": [ ],
                    • "phones": [ ],
                    • "websites": [ ]
                    }
                  ],
                • "registration_ids": [
                  • {
                    • "id": null,
                    • "id_type": null,
                    • "date": null,
                    • "industry": null,
                    • "country": null
                    }
                  ],
                • "addresses": [
                  • {
                    • "country": null,
                    • "region": null,
                    • "city": null,
                    • "postal_code": null,
                    • "address": null
                    }
                  ],
                • "genders": [
                  • "Male"
                  ],
                • "dates_of_birth": [
                  • {
                    • "gte": null,
                    • "lte": null
                    }
                  ],
                • "places_of_birth": [
                  • {
                    • "country": null,
                    • "region": null,
                    • "city": null,
                    • "postal_code": null,
                    • "address": null
                    }
                  ],
                • "dates_of_death": [
                  • {
                    • "gte": null,
                    • "lte": null
                    }
                  ],
                • "places_of_death": [
                  • {
                    • "country": null,
                    • "region": null,
                    • "city": null,
                    • "postal_code": null,
                    • "address": null
                    }
                  ],
                • "citizenships": [
                  • "string"
                  ],
                • "nationalities": [
                  • "string"
                  ],
                • "political_roles": [
                  • {
                    • "role": null,
                    • "country": null
                    }
                  ],
                • "occupations": [
                  • {
                    • "occupation": null,
                    • "country": null
                    }
                  ],
                • "companies_and_enterprises": [
                  • {
                    • "name": null,
                    • "reference": null,
                    • "role": null,
                    • "country": null
                    }
                  ],
                • "owners_and_beneficiaries": [
                  • {
                    • "name": null,
                    • "reference": null,
                    • "role": null,
                    • "country": null
                    }
                  ],
                • "associates": [
                  • {
                    • "uuid": null,
                    • "name": null,
                    • "start_date": null,
                    • "end_date": null,
                    • "relationship": null,
                    • "is_relative": null
                    }
                  ]
                },
              • "updated_at": 0,
              • "importance_score": 0.1
              }
            ]
          },
        • "completed_at": "2023-07-18T15:32:13Z"
        }
      }
    ],
  • "has_next": false
}

Bankbooks

Bankbooks API

The Bankbooks API is a tool designed to streamline the extraction process of account names and numbers from bankbook images, catering to specific countries. With this API, developers and financial institutions can effortlessly retrieve essential financial information from scanned or photographed bankbooks.

Recommendations

  1. Filter Out-of-Domain (OOD) Images by Similarity Score The API returns a maximum similarity score between the bankbook found in the uploaded image and the bankbook images in the database. A recommended threshold to filter out-of-domain (OOD) images, such as credit cards or unrelated documents, is 0.75-0.8. We recommend to only consider images with a similarity score equal to or higher than this threshold as valid bankbook images.
  2. Consider Manual Checks When Detected a Scanned Document The API provides a boolean flag where the True value indicates that the uploaded image is a scanned document or a screenshot. While this flag works well for distinguishing photos of physical bankbooks from the scanned documents, you should be aware that it may give false negatives for screenshots made not in the bank's mobile app. Therefore, it's recommended to exercise caution when interpreting this flag and consider additional validation steps if necessary.
  3. Consider Approximate String Matching for Names in Thai Language In Thai language some letters can be extremely similar to each other. For example, the letters "ข" (kho khai) and "ฃ" (kho khuat) may appear visually similar, so the OCR (optical character recognition) model can confuse them sometimes. To address this issue, it's recommended to use approximate string matching techniques when comparing the extracted account name and number from the bankbook with the reference data. This can help account for minor discrepancies or variations in the OCR output due to visual similarities in Thai characters.

Requirements:

  • The bankbook in the uploaded image must occupy more than 40% of the total area
  • The text information on the bankbook must be clearly visible to accurately extract information from it

Additional comments:

Handling of Rare Bankbook Designs Some bankbook designs, such as those from TMB or UOB, were rare in our training dataset. Additionally, screenshots from mobile apps may change quite often. If we encounter any issues with detecting or extracting information from these rare designs, we will retrain our models. Our alerting system ensures that we are promptly notified of any issues that require attention.

Extract Data

Allow to extract account name and number from uploaded bankbook

Authorizations:
ApiKeyAuth
Request Body schema: multipart/form-data
required
file
required
string <binary>

The image of bankbook

issued_country
required
string <ISO 3166-1 alpha-2>

Country issued document in ISO 3166-1 alpha-2 format.

Responses

Response Schema: application/json
id
required
string <uuid>

The id of uploaded bankbook in the system

account_name
required
string

The account name extracted from document

account_name_en
string or null

[Optional] The account name in English extracted from document

account_number
required
string

The account number extracted from document

confidence_score
number

Confidence score of extracted fields [0..1]. The higher the score, the more accurate the fields are.

similarity_score
number

Similarity score of the document [0..1]. The higher the score, the more likely the document is a bankbook.

is_scan
boolean

Whether the document is a scanned version or a screenshot of the bankbook

Response Schema: application/json
One of
message
string
Response Schema: application/json
One of
message
string

Response samples

Content type
application/json
{
  • "id": "01827ed5-c228-7a3c-9a31-7ab7cc169d13",
  • "account_name": "สมชาย แสนลี",
  • "account_name_en": "Samchai Leelie",
  • "account_number": "123-4567-890",
  • "confidence_score": 0.985,
  • "similarity_score": 0.985,
  • "is_scan": true
}

Transaction monitoring API

What is Transaction Monitoring

Transaction monitoring is a flexible and highly customizable system designed to check financial transactions (both payor to payee transfers and payments during checkout).

The system based on rules, which you can set through API.

Flexible custom rules can be used to:

  • Reject ineligible transactions, optionally causes can be provided
  • Flag suspicious transactions for further analysis

For example, you can add rule for rejecting transaction if its sum three times more than average for last 30 days for this user. See examples with details below.

How it works

  1. Desired rules must be set through API
  2. Each received transaction or payment processed by Transaction Monitoring, your rules executed
  3. Result for each transaction/payment sent via Webhooks (see TransmonWebhookObject in Webhooks schema)

In custom rules you can access:

  • all the data provided in transaction/payment (amount, currency_code, checkout_price and so on)
  • some aggregated statistics (min/max/average and total sum, transactions count) for every applicant for last 1, 7 and 30 days

Transaction Monitoring API

Transaction Monitoring API combines:

  • essential rules management functionalities to create/edit/(de)activate/remove rules
  • endpoints for sending transaction/payment data to Transaction Monitoring

Which data can be used

Fields from original event data (transaction/payment) can be accessed by event.<field_name>, for example - event.currency_code.

Aggregated statistics for applicant can be accessed in form stats.<period>.<indicator>. Allowed periods are:

  • last1d - last 1 day*
  • last7d - last 7 days*
  • last30d - last 30 days*.

*"day" means calendar day from 00:00 UTC.

So, last1d means aggregated statistic since today 00:00 UTC. last7d - includes today + additional 6 full calendar days before.

Allowed indicators:

  • sum - total sum of all transactions and payments for period
  • avg - average sum of transaction/payment for period
  • min - minimal sum for period
  • max - maximal sum for period
  • transactions_count - count of all transactions (and payments) for period.

For example, stats.last30d.avg - average amount of transaction/payment for last 30 days for current applicant.

Rules expressions syntax and fields

Arithmetic operators

Operator Description Example
+ sum event.amount + 100
- difference event.amount - 100
* product 2 * event.amount
/ quotient event.amount / 3

Comparison operators

Operator Description Example
== equal event.amount == 100.45
!= not equal event.amount != 0
< less event.amount < 0
<= less or equal event.amount <= 0
> greater event.amount > 0
>= greater or equal event.amount >= 0

Logical operators

Operator Description Example
&& conditional AND event.amount > 100 && event.amount < 200
|| conditional OR event.amount <= 0 || event.amount > 10000
! NOT !(event.amount == 0)

Membership operators

Operator Description Example
in checks that left operand exists in right operand array event.payee_country_cd in ["US", "UK"]

Examples

  1. Check sum of transaction above 10000 or below or equal to zero
event.amount > 10000 || event.amount <= 0
  1. Check currency is USD or EUR
event.currency_code in ["USD", "EUR"]
  1. Check payee country is not US and not UK
!(event.payee_country_cd in ["US", "UK"])
  1. Check if transactions sum 2.5 times more than average for last 30 days for this user.
event.amount > 2.5 * stats.last30d.avg 

Send transaction event

Send event of type "transaction"

Authorizations:
ApiKeyAuth
Request Body schema: application/json

Transaction data

applicant_id
required
string <uuid>

Applicant ID (user that sends transaction to other user)

user_ip_address
string

The IP address of the user's current session

user_agent
string

The full OS and browser type and version collected during the session

user_device_id
string

The unique identifier of the user's device

session_id
string

The identifier for an authentication session

channel
string

The channel in which transaction was originated. Allowed - "web", "mobile"

session_duration
integer >= 0

The number of seconds since the user started the session

session_login_name
string

The user name utilized by the online user to login to the online session

session_step_up_auth_ind
boolean

Indicates whether the client passed a step up authentication during the session

user_email_address
string

The primary e-mail address associated with the user

user_phone_number
string

The phone number associated with the user

user_ds_registration
integer >= 0

The number of days since the user's online registration

user_initial_risk_score
integer [ 0 .. 100 ]

The original risk score that a customer was assigned during account registration. In range 0 <= ... <= 100

user_current_risk_score
integer [ 0 .. 100 ]

The most current risk score that a customer has been assigned based on ongoing activity monitoring. In range 0 <= ... <= 100

transaction_type
string

The payment method used. Examples - "CNP", "ACH", etc.

routing_type
string

The format of the routing number supplied in the payee routing number field. Example - "ABA", "CHIPS", "BIC", "IBAN", "SIC"

routing_number
string

The routing number for the financial institution, which holds the payee account

currency_code
string

The currency associated with the amount. supply the currency code using ISO 4217 alphabetic currency codes, for example "USD", "EUR", "JPY"

amount
string

The transaction amount

account_available_balance
string

The account's current available balance (before the current transaction)

ds_payee_first_transaction
integer >= 0

Days since payee was added to payee list or since first transaction to payee

payor_account_id
required
string

A unique identifier for the account that the transaction is performed on

payor_country_cd
required
string

The country of the payor. ISO 3166-1 Alpha-2

payor_zip
string

The zip or postal code of the payor

payor_state
string

The state or province of the payor

payor_city
string

The city of the payor

payor_address_line_1
string

The address of the payor

ds_account_open_date
integer >= 0

The number of days since account open date

ds_payor_info_updated
integer >= 0

The number of days since payor information last update

payee_entity_id
required
string

A unique identifier for the payee

payee_account_id
required
string

A unique identifier for the account that the transaction is performed on

payee_country_cd
required
string

The country of the payee. ISO 3166-1 Alpha-2

payee_zip
string

The zip or postal code of the payee

payee_state
string

The state or province of the payee

payee_city
string

The city of the payee

payee_address_line_1
string

The address of the payee

payee_bank
string

The name / alias of the payee's bank

ds_payee_info_updated
integer >= 0

The number of days since payee information last update

payee_alias
string

The alias, such as email address or phone number, as entered to identify the payee.

Responses

Response Schema: application/json
event_id
required
string <uuid>

UUID of created event (you can use it for track result on WebHooks callback)

Response Schema: text/plain
string

Request samples

Content type
application/json
{
  • "applicant_id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
  • "user_ip_address": "27.134.25.17",
  • "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0",
  • "user_device_id": "nmljasfdKsed8keM#@2k",
  • "session_id": "nsd,fhj734Mdksllew898233hhssa",
  • "channel": "web",
  • "session_duration": 86400,
  • "session_login_name": "myverynicelogin",
  • "session_step_up_auth_ind": false,
  • "user_email_address": "[email protected]",
  • "user_phone_number": "+1 123 456-898-87",
  • "user_ds_registration": 3,
  • "user_initial_risk_score": 15,
  • "user_current_risk_score": 27,
  • "transaction_type": "CNP",
  • "routing_type": "IBAN",
  • "routing_number": "a1209234883452370937",
  • "currency_code": "EUR",
  • "amount": "560.00",
  • "account_available_balance": "1122.86",
  • "ds_payee_first_transaction": 15,
  • "payor_account_id": "b902387378291k22",
  • "payor_country_cd": "US",
  • "payor_zip": "27315",
  • "payor_state": "NC",
  • "payor_city": "Anytown",
  • "payor_address_line_1": "8247 Christopher Mountains Apt. 462",
  • "ds_account_open_date": 7,
  • "ds_payor_info_updated": 10,
  • "payee_entity_id": "xf9-8209-dt7",
  • "payee_account_id": "z8739nm992002653721234",
  • "payee_country_cd": "US",
  • "payee_zip": "27315",
  • "payee_state": "NC",
  • "payee_city": "Anytown",
  • "payee_address_line_1": "8247 Christopher Mountains Apt. 462",
  • "payee_bank": "Citibank",
  • "ds_payee_info_updated": 8,
  • "payee_alias": "John Doe"
}

Response samples

Content type
application/json
{
  • "event_id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
}

Send payment event

Send event of type "payment"

Authorizations:
ApiKeyAuth
Request Body schema: application/json

Payment data

applicant_id
required
string <uuid>

Applicant ID (user that sends payment)

user_ip_address
string

The IP address of the user's current session

user_agent
string

The full OS and browser type and version collected during the session

user_device_id
string

The unique identifier of the user's device

session_duration
integer >= 0

The number of seconds since the user started the session

user_email_address
string

The primary e-mail address associated with the user

user_phone_number
string

The phone number associated with the user

user_ds_registration
integer >= 0

The number of days since the user's online registration

user_initial_risk_score
integer [ 0 .. 100 ]

The original risk score that a customer was assigned during account registration. In range 0 <= ... <= 100

user_current_risk_score
integer [ 0 .. 100 ]

The most current risk score that a customer has been assigned based on ongoing activity monitoring. In range 0 <= ... <= 100

checkout_price
string

The amount the user is charged during checkout

checkout_isguest
boolean

Classify each checkout from a registered user, true/false

checkout_billing_address
string

The complete street address and unit number used for billing

checkout_billing_zip
string

The postal code used for the billing address

checkout_billing_country
required
string

The country used for the billing address. ISO 3166-1 Alpha-2

checkout_card_bin
string

The first six digits of the card used for payment for the product being reviewed

checkout_shipping_address
string

The complete street address and unit number used for shipping

checkout_shipping_zip
string

The postal code used for the shipping address

Responses

Response Schema: application/json
event_id
required
string <uuid>

UUID of created event (you can use it for track result on WebHooks callback)

Response Schema: text/plain
string

Request samples

Content type
application/json
{
  • "applicant_id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
  • "user_ip_address": "27.134.25.17",
  • "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0",
  • "user_device_id": "nmljasfdKsed8keM#@2k",
  • "session_duration": 7200,
  • "user_email_address": "[email protected]",
  • "user_phone_number": "+1 123 456-898-87",
  • "user_ds_registration": 3,
  • "user_initial_risk_score": 15,
  • "user_current_risk_score": 27,
  • "checkout_price": "560.00",
  • "checkout_isguest": true,
  • "checkout_billing_address": "8247 Christopher Mountains Apt. 462",
  • "checkout_billing_zip": "27315",
  • "checkout_billing_country": "US",
  • "checkout_card_bin": "259703",
  • "checkout_shipping_address": "9143 Wendy Park Suite 894",
  • "checkout_shipping_zip": "84639"
}

Response samples

Content type
application/json
{
  • "event_id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
}

Create new rule

Create new rule

Authorizations:
ApiKeyAuth
Request Body schema: application/json

New rule definition

name
required
string

The name for rule

status
required
string
Enum: "inactive" "active"

The status of the rule (active or inactive)

event_type
required
string
Enum: "transaction_pre" "transaction_post" "payment_pre" "payment_post"

The type of event should be processed with (transaction/payment) and when ("pre" - before AML/Anti-fraud checks, "post" - after). For example, "payment_pre" rule will be used for payments only and before AML/Anti-fraud checks

rank
required
integer <int32>

Rules are executed in order of sorting by the "rank" field

expression
required
string

The expression that should be checked by rule. Is the expression is true, than "causes" field will be added to the result and "action" will be performed (if given)

causes
required
Array of strings

The set of short strings that you'll see in result if the expression is true

action
string
Value: "reject"

The action should be performed if the expression is true. "Reject" stops all other rules and checks

Responses

Response Schema: application/json
string <uuid> (CreateRuleResponse)

UUID of created rule

Response Schema: text/plain
string

Request samples

Content type
application/json
{
  • "name": "limit price for new users",
  • "status": "active",
  • "event_type": "payment_pre",
  • "rank": 20,
  • "expression": "event.user_ds_registration == 0 && event.checkout_price > 1000",
  • "causes": [
    • "TST",
    • "HI_PR"
    ],
  • "action": "reject"
}

Response samples

Content type
application/json
"f81d4fae-7dec-11d0-a765-00a0c91e6bf6"

Update existing rule

Update existing rule

Authorizations:
ApiKeyAuth
path Parameters
rule_id
required
string <uuid>
Example: f81d4fae-7dec-11d0-a765-00a0c91e6bf6

rule id

Request Body schema: application/json

New rule data

name
required
string

The name for rule

status
required
string
Enum: "inactive" "active"

The status of the rule (active or inactive)

event_type
required
string
Enum: "transaction_pre" "transaction_post" "payment_pre" "payment_post"

The type of event should be processed with (transaction/payment) and when ("pre" - before AML/Anti-fraud checks, "post" - after). For example, "payment_pre" rule will be used for payments only and before AML/Anti-fraud checks

rank
required
integer <int32>

Rules are executed in order of sorting by the "rank" field

expression
required
string

The expression that should be checked by rule. Is the expression is true, than "causes" field will be added to the result and "action" will be performed (if given)

causes
required
Array of strings

The set of short strings that you'll see in result if the expression is true

action
string
Value: "reject"

The action should be performed if the expression is true. "Reject" stops all other rules and checks

Responses

Request samples

Content type
application/json
{
  • "name": "limit price for new users",
  • "status": "active",
  • "event_type": "payment_pre",
  • "rank": 20,
  • "expression": "event.user_ds_registration == 0 && event.checkout_price > 1000",
  • "causes": [
    • "TST",
    • "HI_PR"
    ],
  • "action": "reject"
}

Delete existing rule

Delete existing rule

Authorizations:
ApiKeyAuth
path Parameters
rule_id
required
string <uuid>
Example: f81d4fae-7dec-11d0-a765-00a0c91e6bf6

rule id

Responses

List existing rules

List all existing rules for given {event_type}

Authorizations:
ApiKeyAuth
path Parameters
event_type
required
string
Enum: "transaction_pre" "transaction_post" "payment_pre" "payment_post"
Example: payment_pre

The type of event should be processed with (transaction/payment) and when ("pre" - before AML/Anti-fraud checks, "post" - after). For example, "payment_pre" rule will be used for payments only and before AML/Anti-fraud checks

Responses

Response Schema: application/json
required
Array of objects (RuleRecordWebview)
Array
id
required
string <uuid>

The rule id

organization_id
string <uuid>

The organization owns the rule of null for shared rule example

name
required
string

The name for rule

status
required
string
Enum: "inactive" "active"

The status of the rule (active or inactive)

event_type
required
string
Enum: "transaction_pre" "transaction_post" "payment_pre" "payment_post"

The type of event should be processed with (transaction/payment) and when ("pre" - before AML/Anti-fraud checks, "post" - after). For example, "payment_pre" rule will be used for payments only and before AML/Anti-fraud checks

rank
required
integer <int32>

Rules are executed in order of sorting by the "rank" field

expression
required
string

The expression that should be checked by rule. Is the expression is true, than "causes" field will be added to the result and "action" will be performed (if given)

causes
required
Array of strings

The set of short strings that you'll see in result if the expression is true

action
string
Value: "reject"

The action should be performed if the expression is true. "Reject" stops all other rules and checks

created_at
required
string <datetime>

When balance has been created

updated_at
required
string <datetime>

When balance has been updated

required
Array of objects (RuleRecordWebview)
Array
id
required
string <uuid>

The rule id

organization_id
string <uuid>

The organization owns the rule of null for shared rule example

name
required
string

The name for rule

status
required
string
Enum: "inactive" "active"

The status of the rule (active or inactive)

event_type
required
string
Enum: "transaction_pre" "transaction_post" "payment_pre" "payment_post"

The type of event should be processed with (transaction/payment) and when ("pre" - before AML/Anti-fraud checks, "post" - after). For example, "payment_pre" rule will be used for payments only and before AML/Anti-fraud checks

rank
required
integer <int32>

Rules are executed in order of sorting by the "rank" field

expression
required
string

The expression that should be checked by rule. Is the expression is true, than "causes" field will be added to the result and "action" will be performed (if given)

causes
required
Array of strings

The set of short strings that you'll see in result if the expression is true

action
string
Value: "reject"

The action should be performed if the expression is true. "Reject" stops all other rules and checks

created_at
required
string <datetime>

When balance has been created

updated_at
required
string <datetime>

When balance has been updated

Response samples

Content type
application/json
{
  • "builtin_rules": [
    • {
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
      • "name": "limit price for new users",
      • "status": "active",
      • "event_type": "payment_pre",
      • "rank": 20,
      • "expression": "event.user_ds_registration == 0 && event.checkout_price > 1000",
      • "causes": [
        • "TST",
        • "HI_PR"
        ],
      • "action": "reject",
      • "created_at": "2023-07-18T15:32:13Z",
      • "updated_at": "2023-07-18T15:32:13Z"
      }
    ],
  • "custom_rules": [
    • {
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
      • "name": "limit price for new users",
      • "status": "active",
      • "event_type": "payment_pre",
      • "rank": 20,
      • "expression": "event.user_ds_registration == 0 && event.checkout_price > 1000",
      • "causes": [
        • "TST",
        • "HI_PR"
        ],
      • "action": "reject",
      • "created_at": "2023-07-18T15:32:13Z",
      • "updated_at": "2023-07-18T15:32:13Z"
      }
    ]
}

AML Search Request

full_name
required
string

The full_name is a mandatory field and serves as the primary search term, unless both the first and last names are provided. In such a scenario, the combination of the first and last names becomes the primary term, and the full_name is employed to enhance the relevance of results.

first_name
string

This optional field serves to optimize the overall search experience when both first_name and last_name are provided.

last_name
string

This optional field serves to optimize the overall search experience when both first_name and last_name are provided.

countries
Array of strings
Default: []

ISO 3166-1 alpha-2 country codes

cities
Array of strings
Default: []
postal_codes
Array of strings
Default: []
object (DateRange)

Date range, represented as a pair of dates in ISO 8601 format

gte
string <date>
lte
string <date>
risk_scores
Array of strings (RiskScore)
Default: []
Items Enum: "Low" "Medium" "High"
tags
Array of strings (Tag)
Default: []
Items Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
entity_types
Array of strings (EntityType)
Default: []
Items Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"
sources
Array of strings (SourceId)
Default: []
fuzziness
boolean
Default: true
phonetics
boolean
Default: true
registration_ids
Array of strings
Default: []
{
  • "full_name": "Grace MUGABE",
  • "first_name": "Grace",
  • "last_name": "MUGABE",
  • "countries": [
    • "ZW"
    ],
  • "cities": [ ],
  • "postal_codes": [ ],
  • "date_of_birth": {
    • "gte": "1987-12-24",
    • "lte": "1987-12-24"
    },
  • "risk_scores": [
    • "High"
    ],
  • "tags": [
    • "Sanctions"
    ],
  • "entity_types": [
    • "Person"
    ],
  • "sources": [ ],
  • "fuzziness": true,
  • "phonetics": true,
  • "registration_ids": [ ]
}

AML Search Response

requested_name
string
search_uuid
string

Search id, could be use later to fetch the existing search result

max_risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

Array of objects (EntityRecord)
Array
uuid
string
type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

annotation
string or null

Any general information

tags
Array of strings (Tag)
Items Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

object (EntityRecord.EntityFields)
updated_at
integer <int64>

epoch seconds

importance_score
number or null <double>

Relative importance score of entity, use risk_score for a final decision

{
  • "requested_name": "string",
  • "search_uuid": "string",
  • "max_risk_score": "Low",
  • "data": [
    • {
      • "uuid": "string",
      • "type": "Person",
      • "annotation": "string",
      • "tags": [
        • "Finance"
        ],
      • "risk_score": "Low",
      • "fields": {
        • "names": [
          • {
            • "full_name": "string",
            • "first_name": "string",
            • "last_name": "string",
            • "middle_name": "string",
            • "lang": "string"
            }
          ],
        • "sources": [
          • {
            • "source_id": "string",
            • "name": "string",
            • "reason": "string",
            • "summary": "string",
            • "source_url": "string",
            • "risk_score": "Low",
            • "tags": [
              • "Finance"
              ]
            }
          ],
        • "media": [
          • {
            • "source_name": "string",
            • "source_url": "string",
            • "headline": "string",
            • "summary": "string",
            • "published_at": 0,
            • "risk_score": "Low",
            • "importance_score": 0.1,
            • "sentiment": 0.1,
            • "tags": [
              • "Finance"
              ],
            • "country_codes": [
              • "string"
              ]
            }
          ],
        • "images": [
          • {
            • "description": "string",
            • "url": "string"
            }
          ],
        • "contact_info": [
          • {
            • "emails": [
              • "string"
              ],
            • "phones": [
              • "string"
              ],
            • "websites": [
              • "string"
              ]
            }
          ],
        • "registration_ids": [
          • {
            • "id": "string",
            • "id_type": "string",
            • "date": "2019-08-24",
            • "industry": "string",
            • "country": "string"
            }
          ],
        • "addresses": [
          • {
            • "country": "string",
            • "region": "string",
            • "city": "string",
            • "postal_code": "string",
            • "address": "string"
            }
          ],
        • "genders": [
          • "Male"
          ],
        • "dates_of_birth": [
          • {
            • "gte": "1987-12-24",
            • "lte": "1987-12-24"
            }
          ],
        • "places_of_birth": [
          • {
            • "country": "string",
            • "region": "string",
            • "city": "string",
            • "postal_code": "string",
            • "address": "string"
            }
          ],
        • "dates_of_death": [
          • {
            • "gte": "1987-12-24",
            • "lte": "1987-12-24"
            }
          ],
        • "places_of_death": [
          • {
            • "country": "string",
            • "region": "string",
            • "city": "string",
            • "postal_code": "string",
            • "address": "string"
            }
          ],
        • "citizenships": [
          • "string"
          ],
        • "nationalities": [
          • "string"
          ],
        • "political_roles": [
          • {
            • "role": "string",
            • "country": "string"
            }
          ],
        • "occupations": [
          • {
            • "occupation": "string",
            • "country": "string"
            }
          ],
        • "companies_and_enterprises": [
          • {
            • "name": "string",
            • "reference": "string",
            • "role": "string",
            • "country": "string"
            }
          ],
        • "owners_and_beneficiaries": [
          • {
            • "name": "string",
            • "reference": "string",
            • "role": "string",
            • "country": "string"
            }
          ],
        • "associates": [
          • {
            • "uuid": "string",
            • "name": "string",
            • "start_date": {
              • "gte": "1987-12-24",
              • "lte": "1987-12-24"
              },
            • "end_date": {
              • "gte": "1987-12-24",
              • "lte": "1987-12-24"
              },
            • "relationship": "string",
            • "is_relative": true
            }
          ]
        },
      • "updated_at": 0,
      • "importance_score": 0.1
      }
    ]
}

AML Entity Record

uuid
string
type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

annotation
string or null

Any general information

tags
Array of strings (Tag)
Items Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

object (EntityRecord.EntityFields)
Array of objects (EntityRecord.EntityFields.Name)

Generic

Array
full_name
string
first_name
string or null
last_name
string or null
middle_name
string or null
lang
string or null

ISO 639-1 language code

Array of objects (Source)
Array
source_id
string (SourceId)

Possible Source IDs, contains all publicly available sources, constantly updated, for the most up to date list please check https://dash.dataspike.io/pep-sanctions/data-sources

name
string
reason
string or null
summary
string or null
source_url
string
risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

tags
Array of strings (Tag)
Items Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
Array of objects (AdverseMedia)
Array
source_name
string
source_url
string
headline
string or null
summary
string or null
published_at
integer <int64>
risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

importance_score
number <double>
sentiment
number <double>
tags
Array of strings (Tag)
Items Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
country_codes
Array of strings

ISO 3166-1 alpha-2 country codes

Array of objects (EntityRecord.EntityFields.GenericData)
Array
description
string or null
url
string or null
Array of objects (EntityRecord.EntityFields.ContactInfo)
Array
emails
Array of strings
phones
Array of strings
websites
Array of strings
Array of objects (EntityRecord.EntityFields.RegistrationId)
Array
id
string
id_type
string or null

Any local document type, e.g. 'Company registration number' or 'Tax ID'

date
string or null <date>

ISO 8601 date

industry
string or null
country
string or null

ISO 3166-1 alpha-2 country code

Array of objects (EntityRecord.EntityFields.LocationData)
Array
country
string

ISO 3166-1 alpha-2 country code

region
string
city
string
postal_code
string
address
string
genders
Array of strings (EntityRecord.EntityFields.Gender)
Items Enum: "Male" "Female" "Other"

Person

Array of objects (DateRange)
Array
gte
string <date>
lte
string <date>
Array of objects (EntityRecord.EntityFields.LocationData)
Array
country
string

ISO 3166-1 alpha-2 country code

region
string
city
string
postal_code
string
address
string
Array of objects (DateRange)
Array
gte
string <date>
lte
string <date>
Array of objects (EntityRecord.EntityFields.LocationData)
Array
country
string

ISO 3166-1 alpha-2 country code

region
string
city
string
postal_code
string
address
string
citizenships
Array of strings
nationalities
Array of strings
Array of objects (EntityRecord.EntityFields.PoliticalRole)
Array
role
string
country
string or null

ISO 3166-1 alpha-2 country code

Array of objects (EntityRecord.EntityFields.Occupation)
Array
occupation
string
country
string or null

ISO 3166-1 alpha-2 country code

Array of objects (EntityRecord.EntityFields.EntityInfo)
Array
name
string
reference
string or null
role
string or null
country
string or null

ISO 3166-1 alpha-2 country code

Array of objects (EntityRecord.EntityFields.EntityInfo)

Organization

Array
name
string
reference
string or null
role
string or null
country
string or null

ISO 3166-1 alpha-2 country code

Array of objects (EntityRecord.EntityFields.Associate)
Array
uuid
required
string
name
required
string
object (DateRange)

Date range, represented as a pair of dates in ISO 8601 format

object (DateRange)

Date range, represented as a pair of dates in ISO 8601 format

relationship
string
is_relative
boolean
updated_at
integer <int64>

epoch seconds

importance_score
number or null <double>

Relative importance score of entity, use risk_score for a final decision

{
  • "uuid": "string",
  • "type": "Person",
  • "annotation": "string",
  • "tags": [
    • "Finance"
    ],
  • "risk_score": "Low",
  • "fields": {
    • "names": [
      • {
        • "full_name": "string",
        • "first_name": "string",
        • "last_name": "string",
        • "middle_name": "string",
        • "lang": "string"
        }
      ],
    • "sources": [
      • {
        • "source_id": "string",
        • "name": "string",
        • "reason": "string",
        • "summary": "string",
        • "source_url": "string",
        • "risk_score": "Low",
        • "tags": [
          • "Finance"
          ]
        }
      ],
    • "media": [
      • {
        • "source_name": "string",
        • "source_url": "string",
        • "headline": "string",
        • "summary": "string",
        • "published_at": 0,
        • "risk_score": "Low",
        • "importance_score": 0.1,
        • "sentiment": 0.1,
        • "tags": [
          • "Finance"
          ],
        • "country_codes": [
          • "string"
          ]
        }
      ],
    • "images": [
      • {
        • "description": "string",
        • "url": "string"
        }
      ],
    • "contact_info": [
      • {
        • "emails": [
          • "string"
          ],
        • "phones": [
          • "string"
          ],
        • "websites": [
          • "string"
          ]
        }
      ],
    • "registration_ids": [
      • {
        • "id": "string",
        • "id_type": "string",
        • "date": "2019-08-24",
        • "industry": "string",
        • "country": "string"
        }
      ],
    • "addresses": [
      • {
        • "country": "string",
        • "region": "string",
        • "city": "string",
        • "postal_code": "string",
        • "address": "string"
        }
      ],
    • "genders": [
      • "Male"
      ],
    • "dates_of_birth": [
      • {
        • "gte": "1987-12-24",
        • "lte": "1987-12-24"
        }
      ],
    • "places_of_birth": [
      • {
        • "country": "string",
        • "region": "string",
        • "city": "string",
        • "postal_code": "string",
        • "address": "string"
        }
      ],
    • "dates_of_death": [
      • {
        • "gte": "1987-12-24",
        • "lte": "1987-12-24"
        }
      ],
    • "places_of_death": [
      • {
        • "country": "string",
        • "region": "string",
        • "city": "string",
        • "postal_code": "string",
        • "address": "string"
        }
      ],
    • "citizenships": [
      • "string"
      ],
    • "nationalities": [
      • "string"
      ],
    • "political_roles": [
      • {
        • "role": "string",
        • "country": "string"
        }
      ],
    • "occupations": [
      • {
        • "occupation": "string",
        • "country": "string"
        }
      ],
    • "companies_and_enterprises": [
      • {
        • "name": "string",
        • "reference": "string",
        • "role": "string",
        • "country": "string"
        }
      ],
    • "owners_and_beneficiaries": [
      • {
        • "name": "string",
        • "reference": "string",
        • "role": "string",
        • "country": "string"
        }
      ],
    • "associates": [
      • {
        • "uuid": "string",
        • "name": "string",
        • "start_date": {
          • "gte": "1987-12-24",
          • "lte": "1987-12-24"
          },
        • "end_date": {
          • "gte": "1987-12-24",
          • "lte": "1987-12-24"
          },
        • "relationship": "string",
        • "is_relative": true
        }
      ]
    },
  • "updated_at": 0,
  • "importance_score": 0.1
}

New Applicant Person Request

external_id
string

This is a unique identifier originating from your system, which will be associated and linked to the corresponding Applicant ID in our system.

email
string or null

applicant email

phone
string or null

applicant phone number

object (ApplicantPersonExternalInfo)

This object allows you to include any supplementary information about the applicant, such as their first, last name or citizenship.

full_name
string

Full Person name, if not specified will fallback to first_name and last name

first_name
string

First name

last_name
string

Last name

dob
string <ISO-8601>

Date of birth in ISO-8601 format

gender
string
Enum: "M" "F"

gender that is used in official documents

citizenship
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Currently can be set via manual fields feature via API when creating applicants. (Available in provided_info in applicant)

country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Country extracted from POI document. (Available in system_info in applicant)

address
string

Applicant address, could be used for any type of applicants

object (ApplicantAddresses)

List of applicant addresses, only residence for now.

object (FullAddress)

Detailed address

country
required
string

ISO 3166-1 ALPHA-2 code

city
required
string

City name

postal_code
required
string

postal code (or zip) for the address.

street
required
string

Street adress line

custom_fields
object (CustomFields)

Key - value object, values can be only strings

aml_screening_enabled
boolean or null
Default: false

Enables the option to activate or deactivate daily AML monitoring for applicants. When an applicant is identified in any Sanction List during the monitoring process, a notification will be triggered through the configured Webhooks.

applicant_type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

object or null (ApplicantSearchOptions)

The Search Options functionality is intended for the customization of applicant AML monitoring

risk_scores
Array of strings or null (RiskScore)
Enum: "Low" "Medium" "High"
tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
sources
Array of strings or null (SourceId)
fuzziness
boolean or null
Default: true
phonetics
boolean or null
Default: true
mode
integer or null
Default: 0
Enum: 0 1 2

0 - AUTO(Recommended), Automatically optimize query - full_name serves as the primary search term, unless both the first and last names are provided. In such a scenario, the combination of the first and last names becomes the primary term, and the full_name is employed to enhance the relevance of results.

1 - FULL_NAME_ONLY, ignores first_name and last_name fields, and only use full_name in search requests

2 - FIRST_AND_LAST_NAMES_ONLY, ignores full_name field and uses only combination of first_name and last_name in search requests

{
  • "external_id": "external_user_id_123",
  • "email": "[email protected]",
  • "phone": "+1234567890",
  • "info": {
    • "full_name": "John Doe",
    • "first_name": "John",
    • "last_name": "Doe",
    • "dob": "1987-12-24",
    • "gender": "M",
    • "citizenship": "DE",
    • "country": "DE",
    • "address": "Paris, France",
    • "addresses": {
      • "residence": {
        • "country": "DE",
        • "city": "Berlin",
        • "postal_code": "10999",
        • "street": "Wiener Straße 17"
        }
      },
    • "custom_fields": { }
    },
  • "aml_screening_enabled": false,
  • "applicant_type": "Person",
  • "search_options": {
    • "risk_scores": [
      • "Low"
      ],
    • "tags": [
      • "Finance"
      ],
    • "sources": [
      • "string"
      ],
    • "fuzziness": true,
    • "phonetics": true,
    • "mode": 0
    }
}

New Applicant Organization Request

external_id
string

This is a unique identifier originating from your system, which will be associated and linked to the corresponding Applicant ID in our system.

object (ApplicantOrganizationExternalInfo)

This object allows you to include any supplementary information about the applicant, such as their first, last name or citizenship.

full_name
string

Full Organization name

country
required
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

address
string

Organization address

registration_id
string

Any Organization registration number

custom_fields
object (CustomFields)

Key - value object, values can be only strings

aml_screening_enabled
boolean or null
Default: false

Enables the option to activate or deactivate daily AML monitoring for applicants. When an applicant is identified in any Sanction List during the monitoring process, a notification will be triggered through the configured Webhooks.

applicant_type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

{
  • "external_id": "external_user_id_123",
  • "info": {
    • "full_name": "John Doe Ltd",
    • "address": "Paris, France",
    • "registration_id": "ID123456789",
    • "country": "FR"
    },
  • "aml_screening_enabled": true,
  • "applicant_type": "Organization",
  • "search_options": {
    • "$ref": "#/components/schemas/ApplicantSearchOptions"
    }
}

Applicant Person Object

applicant_id
string <uuid>

Applicant ID in Dataspike system

external_id
string or null

This is a unique identifier originating from your system, associated and linked to the corresponding Applicant ID in our system.

type
string (EntityType)
Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"

Possible types

email
string or null

applicant email

phone
string or null

applicant phone number

ApplicantPersonExternalInfo (object)

Additional info, generated during verification process by system

One of
full_name
string

Full Person name, if not specified will fallback to first_name and last name

first_name
string

First name

last_name
string

Last name

dob
string <ISO-8601>

Date of birth in ISO-8601 format

gender
string
Enum: "M" "F"

gender that is used in official documents

citizenship
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Currently can be set via manual fields feature via API when creating applicants. (Available in provided_info in applicant)

country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Country extracted from POI document. (Available in system_info in applicant)

address
string

Applicant address, could be used for any type of applicants

object (ApplicantAddresses)

List of applicant addresses, only residence for now.

object (FullAddress)

Detailed address

country
required
string

ISO 3166-1 ALPHA-2 code

city
required
string

City name

postal_code
required
string

postal code (or zip) for the address.

street
required
string

Street adress line

custom_fields
object (CustomFields)

Key - value object, values can be only strings

ApplicantPersonExternalInfo (object)

External data provided during applicant creation

One of
full_name
string

Full Person name, if not specified will fallback to first_name and last name

first_name
string

First name

last_name
string

Last name

dob
string <ISO-8601>

Date of birth in ISO-8601 format

gender
string
Enum: "M" "F"

gender that is used in official documents

citizenship
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Currently can be set via manual fields feature via API when creating applicants. (Available in provided_info in applicant)

country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes. Country extracted from POI document. (Available in system_info in applicant)

address
string

Applicant address, could be used for any type of applicants

object (ApplicantAddresses)

List of applicant addresses, only residence for now.

object (FullAddress)

Detailed address

country
required
string

ISO 3166-1 ALPHA-2 code

city
required
string

City name

postal_code
required
string

postal code (or zip) for the address.

street
required
string

Street adress line

custom_fields
object (CustomFields)

Key - value object, values can be only strings

last_verification_id
string or null <uuid>

The id of last document verification

verification_status
string (ApplicantVerificationStatus)
Enum: "initial" "passed" "failed"

Status of applicant's last verification. Initial if applicant doesn't have a completed verification.

aml_screening_enabled
boolean or null
Default: false

Describes whether AML screening option is enabled for specified Applicant or disabled

last_aml_screening_id
string or null <uuid>

Id of the last screening operation

last_screened_at
string or null <ISO-8601>

Timestamp of the last screening operation

last_risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

last_tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"

List of tags of the last screening operation

tg_profile
string or null

Telegram ID linked to Applicant

object or null (ApplicantSearchOptions)

The Search Options functionality is intended for the customization of applicant AML monitoring

risk_scores
Array of strings or null (RiskScore)
Enum: "Low" "Medium" "High"
tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
sources
Array of strings or null (SourceId)
fuzziness
boolean or null
Default: true
phonetics
boolean or null
Default: true
mode
integer or null
Default: 0
Enum: 0 1 2

0 - AUTO(Recommended), Automatically optimize query - full_name serves as the primary search term, unless both the first and last names are provided. In such a scenario, the combination of the first and last names becomes the primary term, and the full_name is employed to enhance the relevance of results.

1 - FULL_NAME_ONLY, ignores first_name and last_name fields, and only use full_name in search requests

2 - FIRST_AND_LAST_NAMES_ONLY, ignores full_name field and uses only combination of first_name and last_name in search requests

{
  • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "external_id": "external_user_id_123",
  • "type": "Person",
  • "email": "[email protected]",
  • "phone": "+1234567890",
  • "system_info": {
    • "full_name": "John Doe",
    • "first_name": "John",
    • "last_name": "Doe",
    • "dob": "1987-12-24",
    • "gender": "M",
    • "citizenship": "DE",
    • "country": "DE",
    • "address": "Paris, France",
    • "addresses": {
      • "residence": {
        • "country": "DE",
        • "city": "Berlin",
        • "postal_code": "10999",
        • "street": "Wiener Straße 17"
        }
      },
    • "custom_fields": { }
    },
  • "provided_info": {
    • "full_name": "John Doe",
    • "first_name": "John",
    • "last_name": "Doe",
    • "dob": "1987-12-24",
    • "gender": "M",
    • "citizenship": "DE",
    • "country": "DE",
    • "address": "Paris, France",
    • "addresses": {
      • "residence": {
        • "country": "DE",
        • "city": "Berlin",
        • "postal_code": "10999",
        • "street": "Wiener Straße 17"
        }
      },
    • "custom_fields": { }
    },
  • "last_verification_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "verification_status": "initial",
  • "aml_screening_enabled": false,
  • "last_aml_screening_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "last_screened_at": "2023-07-18T15:32:13Z",
  • "last_risk_score": "Low",
  • "last_tags": [
    • "Finance"
    ],
  • "tg_profile": "1234567890",
  • "search_options": {
    • "risk_scores": [
      • "Low"
      ],
    • "tags": [
      • "Finance"
      ],
    • "sources": [
      • "string"
      ],
    • "fuzziness": true,
    • "phonetics": true,
    • "mode": 0
    }
}

Applicant Organization Object

applicant_id
string <uuid>

Applicant ID in Dataspike system

external_id
string or null

This is a unique identifier originating from your system, associated and linked to the corresponding Applicant ID in our system.

type
string
Default: "Organization"

Entity type

ApplicantOrganizationExternalInfo (object)

Additional info, generated during verification process by system

One of
full_name
string

Full Organization name

country
required
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

address
string

Organization address

registration_id
string

Any Organization registration number

custom_fields
object (CustomFields)

Key - value object, values can be only strings

ApplicantOrganizationExternalInfo (object)

External data provided during applicant creation

One of
full_name
string

Full Organization name

country
required
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

address
string

Organization address

registration_id
string

Any Organization registration number

custom_fields
object (CustomFields)

Key - value object, values can be only strings

last_verification_id
string or null <uuid>

The id of last document verification

verification_status
string (VerificationStatus)
Enum: "initial" "pending" "in_progress" "verified" "failed" "canceled" "expired"

The First verification status is initial.

Second one is pending, when some documents are uploaded to verification or applicant of verification, but not all required documents are uploaded.

When all documents are uploaded and verification has been proceeded by api (https://docs.dataspike.io/api#tag/Verifications/operation/proceed-verification) or web sdk status becomes to in_progress.

After in_progress status can be both verified or failed depending on the verification result.

Transition to canceled status can be from any status if verification was canceled, except verified and failed.

Transition to expired status can be from any status if verification has expired, except verified, in_progress and failed.

Flow of status

aml_screening_enabled
boolean or null
Default: false

Describes whether AML screening option is enabled for specified Applicant or disabled

last_aml_screening_id
string or null <uuid>

Id of the last screening operation

last_screened_at
string or null <ISO-8601>

Timestamp of the last screening operation

last_risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

last_tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"

List of tags of the last screening operation

object or null (ApplicantSearchOptions)

The Search Options functionality is intended for the customization of applicant AML monitoring

risk_scores
Array of strings or null (RiskScore)
Enum: "Low" "Medium" "High"
tags
Array of strings or null (Tag)
Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
sources
Array of strings or null (SourceId)
fuzziness
boolean or null
Default: true
phonetics
boolean or null
Default: true
mode
integer or null
Default: 0
Enum: 0 1 2

0 - AUTO(Recommended), Automatically optimize query - full_name serves as the primary search term, unless both the first and last names are provided. In such a scenario, the combination of the first and last names becomes the primary term, and the full_name is employed to enhance the relevance of results.

1 - FULL_NAME_ONLY, ignores first_name and last_name fields, and only use full_name in search requests

2 - FIRST_AND_LAST_NAMES_ONLY, ignores full_name field and uses only combination of first_name and last_name in search requests

{
  • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "external_id": "external_user_id_123",
  • "type": "Organization",
  • "system_info": {
    • "full_name": "John Doe Ltd",
    • "country": "BR-12458344",
    • "address": "Paris, France",
    • "registration_id": "BR-12458344",
    • "custom_fields": { }
    },
  • "provided_info": {
    • "full_name": "John Doe Ltd",
    • "country": "BR-12458344",
    • "address": "Paris, France",
    • "registration_id": "BR-12458344",
    • "custom_fields": { }
    },
  • "last_verification_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "verification_status": "initial",
  • "aml_screening_enabled": false,
  • "last_aml_screening_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "last_screened_at": "2023-07-18T15:32:13Z",
  • "last_risk_score": "Low",
  • "last_tags": [
    • "Finance"
    ],
  • "search_options": {
    • "risk_scores": [
      • "Low"
      ],
    • "tags": [
      • "Finance"
      ],
    • "sources": [
      • "string"
      ],
    • "fuzziness": true,
    • "phonetics": true,
    • "mode": 0
    }
}

New Verification Request

applicant_id
string <uuid>

Applicant ID, for which the verification will be linked to, if omitted then new random Applicant will be created automatically

checks_required
Array of strings (DocumentType)
Deprecated
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Deprecated, please use verification profiles instead. List of verification checkes, that will be performed for the end-user. In case of empty required checks will be gathered from profile.

profile_id
string <uuid>

Verification profile id, if ommited default will be used. Verification profile defines allowed document types, countries and other verification settings.

applicant_country
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

expiration_minutes
integer
Default: 240

The expiration_minutes field is an optional integer value representing the duration after the verification creation when verifications are still valid. The default value is 240 minutes, and the allowed range for this field is from 1 to 10080 minutes.

object (VerificationSandboxResult)

Predefined result of verification. Only valid for sandbox environment.

status
string
Enum: "initial" "pending" "in_progress" "verified" "failed" "canceled" "expired"

Predefined status

object
document_mrz
Array of integers (VerificationErrorCode)

MRZ check errors

face_comparison
Array of integers (VerificationErrorCode)

Face comparison check, can be within selfie or liveness_photo documents

poa
Array of integers (VerificationErrorCode)

Proof of Address check

liveness
Array of integers (VerificationErrorCode)

Liveness check, verify that provided image is not spoofed

{
  • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "checks_required": [
    • "passport"
    ],
  • "profile_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "applicant_country": "BR-12458344",
  • "expiration_minutes": 240,
  • "sandbox_result": {
    • "status": "verified",
    • "errors": {
      • "document_mrz": [
        • 1001
        ],
      • "face_comparison": [
        • 1001
        ],
      • "poa": [
        • 1001
        ],
      • "liveness": [
        • 1001
        ]
      }
    }
}

Verification Object

id
required
string <uuid>

Id of created verification

applicant_id
required
string <uuid>

Id of applicant verification is linked to

status
required
string (VerificationStatus)
Enum: "initial" "pending" "in_progress" "verified" "failed" "canceled" "expired"

The First verification status is initial.

Second one is pending, when some documents are uploaded to verification or applicant of verification, but not all required documents are uploaded.

When all documents are uploaded and verification has been proceeded by api (https://docs.dataspike.io/api#tag/Verifications/operation/proceed-verification) or web sdk status becomes to in_progress.

After in_progress status can be both verified or failed depending on the verification result.

Transition to canceled status can be from any status if verification was canceled, except verified and failed.

Transition to expired status can be from any status if verification has expired, except verified, in_progress and failed.

Flow of status

Array of objects

List of prodived documents

Array
document_id
string <uuid>

Document id in the system

document_type
string (DocumentType)
Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Possible document type

required
object (CheckObject)

Object describes required checks and it`s current status

object or null

MRZ check

object or null
status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Face comparison check, can be within selfie or liveness_photo documents

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Proof of Address check

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
object

Liveness check, verify that provided image is not spoofed

status
string (CheckStatus)
Enum: "pending" "in_progress" "verified" "failed" "canceled" "expired"

Describes possible document check statuses for a specific verification

pending_documents
Array of strings (DocumentType)
Items Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

List of required documents, that were not uploaded yet

Array of objects
created_at
required
string <ISO-8601>

Verification creation timestamp

completed_at
string <ISO-8601>

Time of completion

verification_url
required
string

Verification url that can be provided to the end user to perform online verification

verification_url_id
required
string

Verification short id

country_code
string <ISO 3166-1 ALPHA-2 code>

Two-letter ISO 3166-1 ALPHA-2 code, reference https://www.iban.com/country-codes

expires_at
required
string <ISO-8601>

Verification expiration timestamp

object (PoiData)
parsed_type
string (DocumentType)
Enum: "passport" "id_card" "residence_permit" "driver_license" "poa" "selfie" "liveness_photo"

Possible document type

has_mrz
boolean

Indicate document has mrz or not

raw_mrz_type
string

mrz type of document

country
string <ISO 3166-1 ALPHA-3 code>

Country of the document, reference https://www.iban.com/country-codes

full_name
string

If present name and surname will be empty strings

name
string

Extracted name

surname
string

Extracted surname

document_number
string

Document number

nationality
string <ISO 3166-1 ALPHA-3 code>

Extracted nationality

birth_date
string <ISO-8601 date>

Extracted birth date

sex
string

Extracted sex, M or F

expiry_date
string <ISO-8601 date>

Extracted birth date

issue_date
string <ISO-8601 date>

Extracted birth date

pin
string

Pin of document.

card_number
string

Number of card.

license_number
string
license_type
string
license_class
string
cpf_number
string
vin
string
nin
string
occupation
string
polling_unit
string
region
string
restrictions
string
height
string
registration_date
string
parents_names
string
endorsements
string
is_sandbox
required
boolean
Default: false

Flag indicates that verification is created in sandbox env

profile_id
required
string <uuid>

Verification profile id

required
object (VerificationProfileSettings)

Verification profile settings

poi_required
required
boolean
Default: true

POI (proof of identity) check is required.

poi_allowed_documents
required
Array of strings
Items Enum: "passport" "driver_license" "id_card" "residence_permit"
face_comparison_required
required
boolean
Default: true

Face comparison check is required

face_comparison_allowed_documents
required
Array of strings
Items Enum: "selfie" "liveness_photo"
poa_required
required
boolean
Default: false

POA (proof of address) check is required

disable_cross_check_by_bio
boolean
Default: false

Don't do cross check by name and birth date in POI document across organization.

disable_cross_check_by_photo
boolean
Default: false

Don't do cross check by photo of applicant across organization.

disable_verify_poa_country_match_with_poi
boolean
Default: false

Disable requirement that country in POA document should be match within country in POI document

countries
Array of strings <ISO 3166-1 ALPHA-2 code> [ items <ISO 3166-1 ALPHA-2 code > ]

List of allowed countries

allow_poi_manual_uploads
required
boolean
Default: false

Allow manual upload POI documents from files (now live photo)

allow_desktop
required
boolean
Default: false

Allow uploads throught desktop. False means only mobile allowed

ui_settings
object (UISettings)

ui settigns to customize SDK

object (ManualFieldsSettings)

Manual field settings

enabled
required
boolean
description
string
object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

object (ManualFieldSetting)

Manual field setting

Array of objects
object (LinkFinishScreenSettings)

Verification finish screen settings

enabled
required
boolean
object
aml_search_id
string <uuid>

AML search id operation

object (ManualFieldsValues)

Custom fields values

full_name
string
email
string
phone
string
country
string
dob
string

Date of birth.

gender
string
Enum: "M" "F"
citizenship
string
address
string
custom_fields
object (CustomFields)

Key - value object, values can be only strings

object (CustomFiles)

Mapping of custom field labels to uploaded document info

additional property
object

Custom file properties

document_id
required
string <UUID>
content_type
required
string

mime type

{
  • "id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "status": "initial",
  • "documents": [
    • {
      • "document_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
      • "document_type": "passport"
      }
    ],
  • "checks": {
    • "document_mrz": {
      • "data": {
        • "document_type": "Passport",
        • "country": "DE",
        • "name": "John",
        • "surname": "Doe",
        • "doc_number": "P-1234567890",
        • "nationality": "British",
        • "birth_date": "871224",
        • "sex": "M",
        • "expiry_date": "201224"
        },
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "face_comparison": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "poa": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      },
    • "liveness": {
      • "status": "pending",
      • "pending_documents": [
        • "passport"
        ],
      • "errors": [
        • {
          • "code": 1001,
          • "message": "document parsing failed"
          }
        ]
      }
    },
  • "created_at": "2023-07-18T15:32:13Z",
  • "completed_at": "2023-07-18T15:32:13Z",
  • "verification_url_id": "VDBA1B2EA6A28A7D2",
  • "country_code": "DE",
  • "expires_at": "2023-07-18T15:32:13Z",
  • "poi_data": {
    • "parsed_type": "passport",
    • "has_mrz": true,
    • "raw_mrz_type": "P",
    • "country": "DEU",
    • "full_name": "John Doe",
    • "name": "John",
    • "surname": "Doe",
    • "document_number": "P-1234567890",
    • "nationality": "DEU",
    • "birth_date": "1983-03-21",
    • "sex": "M",
    • "expiry_date": "2021-02-24",
    • "issue_date": "2021-02-24",
    • "pin": "string",
    • "card_number": "string",
    • "license_number": "string",
    • "license_type": "string",
    • "license_class": "string",
    • "cpf_number": "string",
    • "vin": "string",
    • "nin": "string",
    • "occupation": "string",
    • "polling_unit": "string",
    • "region": "string",
    • "restrictions": "string",
    • "height": "string",
    • "registration_date": "string",
    • "parents_names": "string",
    • "endorsements": "string"
    },
  • "is_sandbox": false,
  • "profile_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "settings": {
    • "poi_required": true,
    • "poi_allowed_documents": [
      • "passport"
      ],
    • "face_comparison_required": true,
    • "face_comparison_allowed_documents": [
      • "selfie"
      ],
    • "poa_required": false,
    • "disable_cross_check_by_bio": false,
    • "disable_cross_check_by_photo": false,
    • "disable_verify_poa_country_match_with_poi": false,
    • "countries": [
      • "FR"
      ],
    • "allow_poi_manual_uploads": false,
    • "allow_desktop": false,
    • "ui_settings": { },
    • "manual_field_settings": {
      • "enabled": true,
      • "description": "string",
      • "full_name": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "email": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "phone": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "country": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "dob": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "gender": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "citizenship": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "address": {
        • "enabled": true,
        • "caption": "string",
        • "order": 0
        },
      • "custom_fields": [
        • {
          • "label": "string",
          • "caption": "string",
          • "order": 0,
          • "options": {
            • "choices": [
              • "string"
              ],
            • "type": "select"
            }
          }
        ]
      },
    • "finish_screen_settings": {
      • "enabled": true,
      • "settings": {
        • "title": "string",
        • "main_text": "string",
        • "redirect_warning": "string",
        • "cta": "string",
        • "redirect_link": "string"
        }
      }
    },
  • "aml_search_id": "d358ace9-9e35-42cd-b8b7-837c1005d2f5",
  • "manual_fields": {
    • "full_name": "string",
    • "email": "string",
    • "phone": "string",
    • "country": "string",
    • "dob": "string",
    • "gender": "M",
    • "citizenship": "string",
    • "address": "string",
    • "custom_fields": { }
    },
  • "custom_files": {
    • "property1": {
      • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
      • "content_type": "image/jpeg"
      },
    • "property2": {
      • "document_id": "507a6573-60ca-499e-8950-e2ca435dfe4f",
      • "content_type": "image/jpeg"
      }
    }
}

Verification Error codes

integer (VerificationErrorCode)

General parsing and detection

Code Message Description
1001 "document parsing failed" Processing of document fails due to any reason. Most common cases - image doesn't have any document, corrupted file, etc.
1103 "expiry date not recognized" Expiry date on document not parsed or detected

Document MRZ errors

Code Message Description
2001 "document mrz detection failed" MRZ Zone not detected at document
2002 "document number" Document number not detected on document or invalid
2003 "birth date" Birth date not detected or invalid
2004 "expiry date" Expiry date not detected or invalid
2005 "final" Checksum of fields is invalid
2006 "country code" Country code not detected or invalid
2010 "document validation failed" General error of mrz validation

Expiration

Code Message Description
3001 "document expired" Document expired

Document mismatch

Code Message Description
3100 "document mismatch" The uploaded document does not match the stated

Face comparison

Code Message Description
4001 "no face were found on image" Face not found in image
4002 "face comparison failed" Face doesn't match with document
4003 "images are identical" Face image and document image are identical

Proof of address

Code Message Description
4500 "Name in PoA document not verified" -
4501 "Surname in PoA document not verified" -
4502 "Country in PoA document not verified" -
4503 "PoA document is not applicable" -
4504 "PoA Document is too old" -
4505 "Can't process poa document" -

Liveness

Code Message Description
5000 "Liveness check not passed" -
5001 "deepfake" Photo is deepfake
5002 "spoof" Photo is spoofed
5003 "move closer" Photo spoofed or disputed. hint for user: move closer
5004 "check lighting" Photo spoofed or disputed. hint for user: check lighting
5005 "disputed" Photo liveness is disputed
5006 "small resolution" Photo spoofed or disputed. hint for user: image resolution too small. Check camera settings
5007 "3d depth of face" Photo spoofed or disputed. hint for user: It can be lighting or angle of face.

Verification

Code Message Description
8000 "verification expired" Verification expired
8001 "verification canceled" Verification canceled
1001

AML & Docver & Transmon Webhook Payloads

id
string

Unique webhook event id

webhook_id
string

Triggered webhook Id configuration. the configuration itself could be found in your Dataspike account

event_type
string
Enum: "AML_SCREENING" "DOCVER" "TRANSACTION_MONITORING"
timestamp
string <ISO-8601>

Timestamp of the webhook event

AmlWebhookObject (object) or DocverWebhookObject (object) or TransmonWebhookObject (object)
One of
object or null
type
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

applicant_id
string <uuid>

Id of applicant

external_id
string or null

External applicant Id

screening_id
string <uuid>

Screening identifier for corresponding AML screening operation

object (SearchRequest)

AML Search request

full_name
required
string

The full_name is a mandatory field and serves as the primary search term, unless both the first and last names are provided. In such a scenario, the combination of the first and last names becomes the primary term, and the full_name is employed to enhance the relevance of results.

first_name
string

This optional field serves to optimize the overall search experience when both first_name and last_name are provided.

last_name
string

This optional field serves to optimize the overall search experience when both first_name and last_name are provided.

countries
Array of strings
Default: []

ISO 3166-1 alpha-2 country codes

cities
Array of strings
Default: []
postal_codes
Array of strings
Default: []
object (DateRange)

Date range, represented as a pair of dates in ISO 8601 format

risk_scores
Array of strings (RiskScore)
Default: []
Items Enum: "Low" "Medium" "High"
tags
Array of strings (Tag)
Default: []
Items Enum: "Finance" "Legal" "Terrorism" "Criminal" "PEP" "Media" "Social" "Sanctions" "UnofficialSource" "Leaks" "CompanyRegistry" "Associate" "Debarred"
entity_types
Array of strings (EntityType)
Default: []
Items Enum: "Person" "Organization" "Country" "Vessel" "Aircraft" "CryptoWallet"
sources
Array of strings (SourceId)
Default: []
fuzziness
boolean
Default: true
phonetics
boolean
Default: true
registration_ids
Array of strings
Default: []
object (SearchResponse)
requested_name
string
search_uuid
string

Search id, could be use later to fetch the existing search result

max_risk_score
string (RiskScore)
Enum: "Low" "Medium" "High"

Assigned Risk Score

Array of objects (EntityRecord)
completed_at
string <ISO-8601>

Timestamp of the screening operation

{
  • "id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "webhook_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
  • "event_type": "AML_SCREENING",
  • "timestamp": "2023-07-18T15:32:13Z",
  • "payload": {
    • "risk_score": {
      • "type": "Low"
      },
    • "applicant_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
    • "external_id": "external_id_123",
    • "screening_id": "01827ed4-c928-7a3c-9a30-7ab7cc169d11",
    • "search_request": {
      • "full_name": "Grace MUGABE",
      • "first_name": "Grace",
      • "last_name": "MUGABE",
      • "countries": [
        • "ZW"
        ],
      • "cities": [ ],
      • "postal_codes": [ ],
      • "date_of_birth": {
        • "gte": "1987-12-24",
        • "lte": "1987-12-24"
        },
      • "risk_scores": [
        • "High"
        ],
      • "tags": [
        • "Sanctions"
        ],
      • "entity_types": [
        • "Person"
        ],
      • "sources": [ ],
      • "fuzziness": true,
      • "phonetics": true,
      • "registration_ids": [ ]
      },
    • "search_response": {
      • "requested_name": "string",
      • "search_uuid": "string",
      • "max_risk_score": "Low",
      • "data": [
        • {
          • "uuid": "string",
          • "type": "Person",
          • "annotation": "string",
          • "tags": [
            • "Finance"
            ],
          • "risk_score": "Low",
          • "fields": {
            • "names": [
              • {
                • "full_name": "string",
                • "first_name": "string",
                • "last_name": "string",
                • "middle_name": "string",
                • "lang": "string"
                }
              ],
            • "sources": [
              • {
                • "source_id": "string",
                • "name": "string",
                • "reason": "string",
                • "summary": "string",
                • "source_url": "string",
                • "risk_score": "Low",
                • "tags": [
                  • "Finance"
                  ]
                }
              ],
            • "media": [
              • {
                • "source_name": "string",
                • "source_url": "string",
                • "headline": "string",
                • "summary": "string",
                • "published_at": 0,
                • "risk_score": "Low",
                • "importance_score": 0.1,
                • "sentiment": 0.1,
                • "tags": [
                  • "Finance"
                  ],
                • "country_codes": [
                  • "string"
                  ]
                }
              ],
            • "images": [
              • {
                • "description": "string",
                • "url": "string"
                }
              ],
            • "contact_info": [
              • {
                • "emails": [
                  • "string"
                  ],
                • "phones": [
                  • "string"
                  ],
                • "websites": [
                  • "string"
                  ]
                }
              ],
            • "registration_ids": [
              • {
                • "id": "string",
                • "id_type": "string",
                • "date": "2019-08-24",
                • "industry": "string",
                • "country": "string"
                }
              ],
            • "addresses": [
              • {
                • "country": "string",
                • "region": "string",
                • "city": "string",
                • "postal_code": "string",
                • "address": "string"
                }
              ],
            • "genders": [
              • "Male"
              ],
            • "dates_of_birth": [
              • {
                • "gte": "1987-12-24",
                • "lte": "1987-12-24"
                }
              ],
            • "places_of_birth": [
              • {
                • "country": "string",
                • "region": "string",
                • "city": "string",
                • "postal_code": "string",
                • "address": "string"
                }
              ],
            • "dates_of_death": [
              • {
                • "gte": "1987-12-24",
                • "lte": "1987-12-24"
                }
              ],
            • "places_of_death": [
              • {
                • "country": "string",
                • "region": "string",
                • "city": "string",
                • "postal_code": "string",
                • "address": "string"
                }
              ],
            • "citizenships": [
              • "string"
              ],
            • "nationalities": [
              • "string"
              ],
            • "political_roles": [
              • {
                • "role": "string",
                • "country": "string"
                }
              ],
            • "occupations": [
              • {
                • "occupation": "string",
                • "country": "string"
                }
              ],
            • "companies_and_enterprises": [
              • {
                • "name": "string",
                • "reference": "string",
                • "role": "string",
                • "country": "string"
                }
              ],
            • "owners_and_beneficiaries": [
              • {
                • "name": "string",
                • "reference": "string",
                • "role": "string",
                • "country": "string"
                }
              ],
            • "associates": [
              • {
                • "uuid": "string",
                • "name": "string",
                • "start_date": {
                  • "gte": "1987-12-24",
                  • "lte": "1987-12-24"
                  },
                • "end_date": {
                  • "gte": "1987-12-24",
                  • "lte": "1987-12-24"
                  },
                • "relationship": "string",
                • "is_relative": true
                }
              ]
            },
          • "updated_at": 0,
          • "importance_score": 0.1
          }
        ]
      },
    • "completed_at": "2023-07-18T15:32:13Z"
    }
}