Skip to main content

The Document Validation Object

Overview

The Document Validation object represents the process of verifying documents within your Verifik projects. This object contains all the information needed to track and manage document verification requests, including document scanning, OCR processing, and validation results.

Attributes

appRegistration

Type: ObjectId
Required: No

Reference to the AppRegistration object associated with this document validation.

client

Type: ObjectId
Required: No

Reference to the Client object associated with this document validation.

project

Type: ObjectId
Required: No

Reference to the Project object associated with this document validation.

projectFlow

Type: ObjectId
Required: No

Reference to the ProjectFlow object associated with this document validation.

status

Type: String
Required: Yes

The current status of the document validation process. Can be:

  • "new" - Validation request created but not yet processed (default)
  • "pending" - Document is being processed
  • "completed" - Document validation completed successfully
  • "failed" - Document validation failed
  • "expired" - Validation session has expired

documentType

Type: String
Required: Yes

The type of document being validated:

  • "id" - National ID card
  • "passport" - Passport
  • "driver_license" - Driver's license
  • "other" - Other document type

country

Type: String
Required: Yes

The country code where the document was issued (e.g., "US", "CO", "MX").

documentData

Type: Object
Required: No

Contains the extracted document data:

  • firstName - First name from document
  • lastName - Last name from document
  • middleName - Middle name from document
  • documentNumber - Document number
  • birthDate - Birth date
  • expirationDate - Document expiration date
  • issueDate - Document issue date
  • gender - Gender
  • nationality - Nationality

ocrResults

Type: Object
Required: No

Contains OCR processing results:

  • confidence - OCR confidence score
  • rawText - Raw extracted text
  • fields - Structured field extraction results

validationResults

Type: Object
Required: No

Contains validation results:

  • documentAuthenticity - Document authenticity check result
  • dataConsistency - Data consistency check result
  • livenessDetection - Liveness detection result
  • antiSpoofing - Anti-spoofing detection result

images

Type: Object
Required: No

Contains document images:

  • frontImage - Front side image (base64)
  • backImage - Back side image (base64)
  • selfieImage - Selfie image for comparison

riskScore

Type: Number
Required: No

Risk assessment score for the validation.

age

Type: String
Required: No

Calculated age from birth date.

backUrl

Type: String
Required: No

URL to redirect back to after validation.

frontUrl

Type: String
Required: No

URL to redirect to front after validation.

createdAt

Type: Date
Required: Yes

Timestamp when the document validation was created.

updatedAt

Type: Date
Required: Yes

Timestamp when the document validation was last updated.

completedAt

Type: Date
Required: No

Timestamp when the document validation was completed successfully.

Example Object

Example Object

{
"_id": "document_validation_123456789",
"appRegistration": "reg_123456789",
"client": "client_123456789",
"project": "project_123456789",
"projectFlow": "flow_123456789",
"status": "completed",
"documentType": "id",
"country": "US",
"documentData": {
"firstName": "John",
"lastName": "Doe",
"middleName": "Michael",
"documentNumber": "123456789",
"birthDate": "1990-01-15",
"expirationDate": "2030-01-15",
"issueDate": "2020-01-15",
"gender": "M",
"nationality": "US"
},
"ocrResults": {
"confidence": 0.95,
"rawText": "US DRIVER LICENSE...",
"fields": {
"firstName": "John",
"lastName": "Doe"
}
},
"validationResults": {
"documentAuthenticity": "passed",
"dataConsistency": "passed",
"livenessDetection": "passed",
"antiSpoofing": "passed"
},
"images": {
"frontImage": "base64_encoded_front_image",
"backImage": "base64_encoded_back_image",
"selfieImage": "base64_encoded_selfie_image"
},
"riskScore": 0.05,
"age": "34",
"backUrl": "https://example.com/back",
"frontUrl": "https://example.com/front",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:32:00Z",
"completedAt": "2024-01-15T10:32:00Z"
}

}


### Features

- **Unique Identification**: Each validation has a unique ID for reference
- **Multiple States**: Support for different validation process states
- **Document Types**: Support for IDs, passports, driver's licenses, and others
- **Extracted Data**: Complete information extracted from the document
- **OCR Processing**: Optical character recognition results
- **Validation Results**: Authenticity and consistency verification
- **Images**: Front, back, and selfie images in base64
- **Risk Assessment**: Risk score for the validation
- **Complete Timestamps**: Record of creation, update, and completion
- **Context Information**: Client, project, and project flow data