The Project Flow Object
Overviewβ
The Project Flow object represents flow configurations for projects in Verifik. Project Flows define various data points that Verifik will use to perform validations using passwordless and liveness detection technologies.
Attributesβ
projectβ
Type: ObjectId
Required: Yes
The project is the _id generated when creating a project correctly.
typeβ
Type: String
Required: Yes
The type determines what type of service you want to generate in this project flow. Can be:
"login"- For existing users to access your system"onboarding"- For new users to enroll and create accounts
statusβ
Type: String
Required: Yes
The current status of the project flow. Can be:
"draft"- Project flow is in draft mode"active"- Project flow is active and can be used"paused"- Project flow is paused
Only "active" projects can be used.
versionβ
Type: Number
Required: No
Version number of the project flow. Defaults to 1.
nameβ
Type: String
Required: Yes
Name of the project flow for identification purposes.
descriptionβ
Type: String
Required: No
Description of the project flow and its purpose.
configurationβ
Type: Object
Required: Yes
Configuration object containing flow-specific settings:
emailVerification- Email verification settingsphoneVerification- Phone verification settingsbiometricVerification- Biometric verification settingsdocumentVerification- Document verification settingssecurityThresholds- Security threshold settingssearchModes- Search mode configurations
stepsβ
Type: Array
Required: Yes
Array of steps that define the flow sequence:
stepType- Type of step (e.g., "email", "phone", "biometric", "document")order- Order of the step in the flowrequired- Whether the step is requiredconfig- Step-specific configuration
clientβ
Type: ObjectId
Required: Yes
Reference to the client who owns this project flow.
createdAtβ
Type: Date
Required: Yes
Timestamp when the project flow was created.
updatedAtβ
Type: Date
Required: Yes
Timestamp when the project flow was last updated.
Example Objectβ
{
"_id": "project_flow_123456789",
"project": "project_123456789",
"type": "onboarding",
"status": "active",
"version": 1,
"name": "Complete Onboarding Flow",
"description": "Full onboarding flow with email, phone, and biometric verification",
"configuration": {
"emailVerification": {
"enabled": true,
"required": true,
"method": "verificationCode"
},
"phoneVerification": {
"enabled": true,
"required": true,
"method": "sms",
"countryCode": "+1"
},
"biometricVerification": {
"enabled": true,
"required": true,
"livenessDetection": true,
"antiSpoofing": true
},
"documentVerification": {
"enabled": true,
"required": true,
"documentTypes": ["id", "passport", "driver_license"]
},
"securityThresholds": {
"livenessScore": 0.8,
"biometricScore": 0.85,
"documentScore": 0.9
}
},
"steps": [
{
"stepType": "email",
"order": 1,
"required": true,
"config": {
"verificationMethod": "verificationCode"
}
},
{
"stepType": "phone",
"order": 2,
"required": true,
"config": {
"verificationMethod": "sms"
}
},
{
"stepType": "biometric",
"order": 3,
"required": true,
"config": {
"livenessDetection": true
}
},
{
"stepType": "document",
"order": 4,
"required": true,
"config": {
"documentTypes": ["id", "passport"]
}
}
],
"client": "client_123456789",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}