Skip to main content

The App Registration Object

Overview​

The App Registration object represents user registration processes within your Verifik projects. This object contains all the information needed to track and manage user registration requests and their associated validation processes.

Attributes​

client​

Type: ObjectId
Required: Yes

The client associated with this registration.

project​

Type: ObjectId
Required: Yes

The project this registration belongs to.

projectFlow​

Type: ObjectId
Required: Yes

The specific flow configuration for this registration.

Type: ObjectId
Required: No

A single-use link for this registration.

status​

Type: String
Required: Yes

The current status of the registration process. Can be:

  • STARTED - Registration request created but not yet processed
  • ONGOING - Registration is in progress
  • COMPLETED - Registration completed successfully
  • COMPLETED_WITHOUT_KYC - Registration completed without KYC verification
  • FAILED - Registration failed
  • NEEDS_MANUAL_VERIFICATION - Registration requires manual review
  • EXPIRED - Registration session has expired

email​

Type: String
Required: No

The email address for the user to be registered. Either email or phone is required.

phone​

Type: String
Required: No

The phone number for the user to be registered. Either email or phone is required.

countryCode​

Type: String
Required: No

The country code associated with the phone number. Required if phone is provided. Format: +123

fullName​

Type: String
Required: No

The full name of the person being registered. Can also use firstName and lastName instead.

firstName​

Type: String
Required: No

The first name of the person being registered.

lastName​

Type: String
Required: No

The last name of the person being registered.

language​

Type: String
Required: No

The preferred language for communication during the registration process. Default: "en"

currentStep​

Type: String
Required: Yes

The current step in the registration process.

informationValidation​

Type: ObjectId
Required: No

Reference to the Information Validation object if basic information was collected.

emailValidation​

Type: ObjectId
Required: No

Reference to the Email Validation object if email validation was performed.

phoneValidation​

Type: ObjectId
Required: No

Reference to the Phone Validation object if phone validation was performed.

biometricValidation​

Type: ObjectId
Required: No

Reference to the Biometric Validation object if biometric validation was performed.

documentValidation​

Type: ObjectId
Required: No

Reference to the Document Validation object if document validation was performed.

person​

Type: ObjectId
Required: No

Reference to the Person object created during biometric validation.

assignedCollection​

Type: ObjectId
Required: No

Reference to the Collection assigned for storing biometric data.

createdAt​

Type: Date
Required: Yes

Timestamp when the app registration was created.

updatedAt​

Type: Date
Required: Yes

Timestamp when the app registration was last updated.

Example Object​

{
"_id": "app_registration_123456789",
"client": "client_123456789",
"project": "project_123456789",
"projectFlow": "flow_123456789",
"smartLink": "smart_link_123456789",
"status": "completed",
"email": "user@example.com",
"phone": "1234567890",
"countryCode": "+1",
"fullName": "John Doe",
"language": "en",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"emailValidation": "email_validation_123456789",
"phoneValidation": "phone_validation_123456789",
"biometricValidation": "biometric_validation_123456789",
"documentValidation": "document_validation_123456789",
"ipAddress": "192.168.1.1",
"userAgent": "Mozilla/5.0...",
"expiresAt": "2024-01-15T11:30:00Z",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:32:00Z",
"completedAt": "2024-01-15T10:32:00Z"
}