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: string (reference id)
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: string (reference id)
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"
}