Smart Enroll Project Flow
POST
https://api.verifik.co/v2/project-flows
Headers
Content-Type
application/json
Authorization
Bearer <token>
Body
project
ObjectId
(Required) Reference to the associated Project
type
String
(Required) Flow type must be "onboarding"
redirectUrl
String
URL to redirect users after completion
status
String
Current status: "draft", "active", or "paused"
systemForm
ObjectId
Reference to the Form model for system forms
version
Number
Version number of the project flow
webhook
ObjectId
Reference to the Webhook model
onboardingSettings
Sub-document
onboardingSettings
Sub-documenthiddenLoginOption
Boolean
Whether to hide the login option
requiresSignature
Boolean
Whether signature is required
steps.basicInformation
String
Step requirement: "mandatory", "optional", or "skip"
steps.document
String
Step requirement: "mandatory", "optional", or "skip"
steps.form
String
Step requirement: "mandatory", "optional", or "skip"
steps.liveness
String
Step requirement: "mandatory", "optional", or "skip"
steps.signUpForm
String
Step requirement: "mandatory", "optional", or "skip"
signUpForm
Sub-document
signUpForm
Sub-documentemail
Boolean
Whether email field is enabled
emailGateway
String
Email gateway: "mailgun" or "none"
extraFields
Array
Additional custom fields
firstName
Boolean
Whether first name field is enabled
fullName
Boolean
Whether full name field is enabled
lastName
Boolean
Whether last name field is enabled
phone
Boolean
Whether phone field is enabled
phoneGateway
String
Phone gateway: "sms", "whatsapp", "both", or "none"
showPrivacyNotice
Boolean
Whether to show privacy notice
showTermsAndConditions
Boolean
Whether to show terms and conditions
basicInformation
Sub-document
basicInformation
Sub-documentaddress
Boolean
Whether address field is enabled
age
Boolean
Whether age field is enabled
dateOfBirth
Boolean
Whether date of birth field is enabled
gender
Boolean
Whether gender field is enabled
postalCode
Boolean
Whether postal code field is enabled
document
Sub-document
document
Sub-documentcompareMinScore
Number
Minimum comparison score (0.5-1.0)
fallbackValidationMethod
String
Fallback validation method: "SCAN_ZERO", "SCAN_PROMPT", or "SCAN_STUDIO"
maxAttempts
Number
Maximum attempts allowed (3-10)
scanDocumentAllowed
Boolean
Whether document scanning is allowed
uploadDocumentAllowed
Boolean
Whether document upload is allowed
useGovernmentID
Boolean
Whether government ID is enabled
useLicense
Boolean
Whether license is enabled
usePassport
Boolean
Whether passport is enabled
validationMethod
String
Primary validation method: "SCAN_ZERO", "SCAN_PROMPT", or "SCAN_STUDIO"
verifyCriminalHistory
Boolean
Whether to verify criminal history
verifyNames
Boolean
Whether to verify names
liveness
Sub-document
liveness
Sub-documentlivenessMinScore
Number
Minimum liveness score (0.5-1.0)
maxAttempts
Number
Maximum attempts allowed (3-10)
searchMinScore
Number
Minimum search score (0.3-1.0)
searchMode
String
Search mode: "FAST" or "ACCURATE"
security
Sub-document
security
Sub-documentapiTestType
String
Type of API test: "email" or "phone"
source
String
Security source: "API", "CSV", or "NONE"
strategy
String
Security strategy: "blacklist", or "none"
More information on security
can be found here:
Request
curl --location --request POST 'https://api.verifik.co/v2/project-flows' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsIn...ldKk8Tt5Kh_o' \
--data-raw '{
"project": "507f1f77bcf86cd799439013",
"redirectUrl": "https://google.com",
"status": "active",
"systemForm": "507f1f77bcf86cd799439014",
"type": "onboarding",
"webhook": "507f1f77bcf86cd799439015",
"onboardingSettings": {
"hiddenLoginOption": false,
"requiresSignature": false,
"steps": {
"basicInformation": "optional",
"document": "optional",
"form": "optional",
"liveness": "optional",
"signUpForm": "mandatory"
},
"signUpForm": {
"email": true,
"emailGateway": "mailgun",
"extraFields": [],
"firstName": true,
"fullName": true,
"lastName": true,
"phone": true,
"phoneGateway": "whatsapp",
"showPrivacyNotice": false,
"showTermsAndConditions": false
},
"basicInformation": {
"address": false,
"age": false,
"dateOfBirth": false,
"gender": false,
"postalCode": false
},
"document": {
"compareMinScore": 0.67,
"fallbackValidationMethod": "SCAN_PROMPT",
"maxAttempts": 10,
"scanDocumentAllowed": true,
"uploadDocumentAllowed": true,
"useGovernmentID": true,
"useLicense": true,
"usePassport": true,
"validationMethod": "SCAN_PROMPT",
"verifyCriminalHistory": false,
"verifyNames": false
},
"liveness": {
"livenessMinScore": 0.65,
"maxAttempts": 10,
"searchMinScore": 0.85,
"searchMode": "FAST"
}
},
"security": {
"apiTestType": "email",
"source": "NONE",
"strategy": "blacklist"
}
}'
Response
{
"__v": 0,
"_id": "507f1f77bcf86cd799439011",
"allowedCountries": [],
"client": "507f1f77bcf86cd799439012",
"createdAt": "2024-01-01T00:00:00.000Z",
"linkSettings": null,
"loginSettings": null,
"project": "507f1f77bcf86cd799439013",
"redirectUrl": "",
"status": "active",
"systemForm": "507f1f77bcf86cd799439014",
"type": "onboarding",
"updatedAt": "2025-01-01T00:00:00.000Z",
"version": 1,
"webhook": "507f1f77bcf86cd799439015",
"onboardingSettings": {
"hiddenLoginOption": false,
"requiresSignature": false,
"steps": {
"basicInformation": "optional",
"document": "optional",
"form": "optional",
"liveness": "optional",
"signUpForm": "mandatory"
},
"signUpForm": {
"email": true,
"emailGateway": "mailgun",
"extraFields": [],
"firstName": true,
"fullName": true,
"lastName": true,
"phone": true,
"phoneGateway": "whatsapp",
"showPrivacyNotice": false,
"showTermsAndConditions": false
},
"basicInformation": {
"address": false,
"age": false,
"dateOfBirth": false,
"gender": false,
"postalCode": false
},
"document": {
"compareMinScore": 0.67,
"fallbackValidationMethod": "SCAN_PROMPT",
"idPrompt": "507f1f77bcf86cd799439016",
"licensePrompt": "507f1f77bcf86cd799439017",
"maxAttempts": 10,
"passportPrompt": "507f1f77bcf86cd799439018",
"scanDocumentAllowed": true,
"uploadDocumentAllowed": true,
"useGovernmentID": true,
"useLicense": true,
"usePassport": true,
"validationMethod": "SCAN_PROMPT",
"verifyCriminalHistory": false,
"verifyNames": false
},
"liveness": {
"livenessMinScore": 0.65,
"maxAttempts": 10,
"searchMinScore": 0.85,
"searchMode": "FAST"
}
},
"security": {
"_id": "507f1f77bcf86cd799439019",
"apiTestType": "email",
"source": "NONE",
"strategy": "blacklist"
}
}
Last updated
Was this helpful?