Document Check

Check your clients documents to extracts details and confirm their authenticity.

Run a Document Check

To run a Document Check, you must create a check with the type set to document_check

Also, a valid clientId and documentId are required.

The provided document must have an issuingCountry and associated image attachments that adhere to our image specifications.

The front side of the document will always be required. For certain document types, you should also provide the back side.

If the back side is not provided, our engine will conduct the check based on the front side alone. It is highly recommended to provide both sides of documents for more robust checks to take place.

Learn about Document Checks

Image Specifications

Image attachments must comply with the following:

  • The images must be of good quality, with a minimum of 150 DPI.

  • The images must be either in JPG or PNG format.

  • The images must be provided without blur or glare.

  • You must not take the image at an angle.

  • Each side of the document must be between 34 KB and 4 MB.

Result object

The result object is only returned when the status of the check is complete . It has two components - outcome and breakdown.

Outcome

The outcome attribute represents the overall check result. Returned values include:

  1. clear: Indicates every analysis type conducted returned a successful result, and hence the document is authentic.

  2. attention: Indicates at least one of the analysis results requires attention.

Breakdown

The breakdown comprises the following objects:

extractedData object

The data extracted using Optical Character Recognition (OCR). It has the following constituents:

  • documentDetails: Data relating to the document.

    • documentType: The detected document type. Values include:

      • passport

      • driving_license

      • national_id

      • residence_permit

      • visa

      • unidentified

    • hasTwoSides: A boolean indicating if both sides of the document were used for the analysis.

    • issuingCountry: The issuing country of the document. This will be the two-letter country ISO code.

    • issuingDate: The issuing date of the document. This will be a structured date.

    • expirationDate: The expiry date of the document. This will be a structured date.

    • documentNumber: The document number.

    • additionalDetails: Any additional details extracted from the document. This will be returned as an array of key/value pair objects.

    • mrz : The Machine Readable Zone (MRZ), which is usually at the bottom of the identity page of a passport or the back of an identity card, can be up to 3 lines depending on the document type:

      • line1

      • line2

      • line3

  • holderDetails : Data relating to the document holder.

    • firstName: The list of first/given names as an array.

    • lastName: The list of last names as an array.

    • dob: The date of birth. This will be a structured date.

    • birthPlace: The birthplace.

    • nationality: The nationality. This will be the two-letter country ISO code.

    • gender: The gender. Values include:

      • male

      • female

      • other

extractedImages array

The images extracted from the document. It's an array of type/data objects:

  • type: The extracted image type. Values include:

    • front_side

    • back_side

    • extracted_face

    • extracted_signature

  • data: The BASE64 encoded data content.

Analysis

For each conducted analysis, the returned values include:

  1. clear: Indicates the analysis returned a successful result.

  2. attention: Indicates a potential falsified or fraudulent document.

  3. not_processed: Returned when the analysis does not apply to a document type, e.g. MRZ Analysis on a document without an MRZ. It will also be returned if ComplyCube does not support a given country's particular analysis for a document type.

mrzAnalysis object

The MRZ analysis results. It has the following constituents:

  • mrzChecksum: Indicates whether the MRZ checksum test is valid.

  • mrzFormat: Indicates whether the MRZ format is valid.

consistencyAnalysis object

The consistency analysis results. It has the following constituents:

  • firstName: Indicates whether the first name on the document and MRZ are consistent.

  • lastName: Indicates whether the last name on the document and MRZ are consistent.

  • dob: Indicates whether the birth date on the document and MRZ are consistent.

  • documentNumber: Indicates whether document number on the document and MRZ are consistent.

  • personalNumber: Indicates whether the personal number on the document and MRZ are consistent.

  • issuingDate: Indicates whether issuing date on the document and MRZ are consistent.

  • expirationDate: Indicates whether expiry data on the document and MRZ are consistent.

contentAnalysis object

The content analysis results. It has the following constituents:

  • issuingCountry: Indicates whether the issuing country has valid content.

  • issuingDate: Indicates whether issuing date has valid content.

  • expirationDate: Indicates whether the expiration date has valid content.

  • nationality: Indicates whether nationality has valid content.

  • specimenCheck: Indicates whether the content has been copied from the internet.

  • blackListCheck: Indicates a competent authority blacklisted the ID document.

formatAnalysis object

The format analysis results. It has the following constituents:

  • modelIdentification: Indicates whether the document model has been identified.

  • countryModelValidity: Indicates whether the document model adheres to the issuing country specifications.

  • documentModelValidity: Indicates whether the document model adheres to the document type specifications.

forensicAnalysis object

The forensic analysis results. It has the following constituents:

  • daylightAnalysis: Indicates whether the document daylight colours are valid.

  • mrzVisualPlacement: Indicates whether the MRZ is in the right location and not tampered with.

  • securityElements: Indicates whether the document security elements are valid.

  • photoLocation: Indicates whether the photo is in the correct location for a given document type.

  • mrzClassification: Indicates whether the MRZ is consistent with the document type.

frontAndBackAnalysis object

The front and back of the image analysis results. It has the following constituents:

  • formatAnalysis: Indicates that both sides of the document are following the document type and country specifications.

  • dataConsistency: Indicates whether data on both sides of the document are consistent.

Sample Response

{
	"id": "5eb2b61e02df0a0008f1cf23",
	"clientId": "5eb1276d96be4a0008713af5",
	"entityName": "John Doe",
	"type": "document_check",
	"status": "complete",
	"result": {
		"outcome": "clear",
		"breakdown": {
			"extractedData": {
				"documentDetails": {
					"documentType": "driving_license",
					"hasTwoSides": true,
					"issuingCountry": "GB",
					"issuingDate": {
						"day": 1,
						"month": 1,
						"year": 2015
					},
					"expirationDate": {
						"day": 1,
						"month": 1,
						"year": 2025
					},
					"documentNumber": "123456790"
				},
				"holderDetails": {
					"lastName": [
						"DOE"
					],
					"firstName": [
						"JOHN"
					],
					"dob": {
						"day": 3,
						"month": 9,
						"year": 1995
					}
				}
			},
			"mrzAnalysis": {
				"mrzFormat": "clear",
				"mrzChecksum": "clear"
			},
			"consistencyAnalysis": {
				"lastName": "clear",
				"firstName": "clear",
				"dob": "clear",
				"documentNumber": "clear",
				"personalNumber": "clear",
				"expirationDate": "clear",
				"issuingDate": "clear"
			},
			"contentAnalysis": {
				"issuingCountry": "clear",
				"issuingDate": "clear",
				"expirationDate": "clear",
				"specimenCheck": "clear",
				"nationality": "clear"
			},
			"formatAnalysis": {
				"modelIdentification": "clear",
				"countryModelValidity": "clear",
				"documentModelValidity": "clear"
			},
			"forensicAnalysis": {
				"daylightAnalysis": "clear",
				"mrzVisualPlacement": "clear",
				"securityElements": "clear",
				"photoLocation": "clear",
				"mrzClassification": "clear"
			},
			"frontAndBackAnalysis": {
				"formatAnalysis": "clear",
				"dataConsistency": "clear"
			},
			"extractedImages": [
				{
					"type": "front_side",
					"data": "<BASE64_IMAGE_CONTENT>"
				}
			]
		}
	},
	"createdAt": "2020-01-01T14:06:44.756Z",
	"updatedAt": "2020-01-01T14:06:91.913Z"
}

Last updated