Full API Tutorial
Enroll tutorial via API
Overview
Smart Enroll is our automated user onboarding solution that handles identity verification through a series of configurable steps. This guide explains how to set up and implement a full API Smart Enroll solution for your application.
What You'll Need to Set Up
Before users can enroll, you need to configure two main components:
Project - Basic information about your enrollment system
Project Flow - Rules for how users complete their enrollment
Step-by-Step Setup Process
Step 1: API - Create a Project
Step 2: API - Create a Project Flow
1. Create Your Project
Start by creating a project that will contain all your enrollment configurations.
Create a Project2. Configure Your Project Flow
Set up the rules that determine how users will complete their enrollment process.
Create a Project FlowProject Flow Configuration Options
You can configure your enrollment process with different levels of verification.
{
"project": "your-project-id",
"type": "onboarding",
"status": "active",
"redirectUrl": "https://your-app.com",
"onboardingSettings": {
"steps": {
"signUpForm": "mandatory",
"basicInformation": "skip",
"document": "optional",
"liveness": "optional",
"form": "skip"
}
}
}
You can view all available options and setup information for project flows
How the Enrollment Process Works
General Flow
The recommended flow is made up of the following steps:

Initialize a User Registration Record

One-Time-Password Registrant Verification

Document Validation (If Applicable)

Biometric Validation (If Applicable)

Face Verification (If Applicable)
Additional Services
Verifik Smart Enroll provides two more additional services you can add to the flow at additional cost (Geographical Restrictions apply):
Name Validation
Criminal/Background Checks
1. User Registration
When a user wants to enroll, you create an App Registration record for them.
Create an App RegistrationIMPORTANT: Creating the App Registration record your enrollment will provide you with a token
in the response. This token will be required in the Headers
of all requests pertaining to this registrant.
2. Contact Information Verification
Based on your configuration, users will need to verify their email and/or phone number:
Email Verification
Send a 6-digit code to the user's email
User enters the code to verify their email address
Phone Verification
SMS and WhatsApp OTP's are subject to usage charges
Send a 6-digit code via SMS or WhatsApp
User enters the code to verify their phone number
3. Identity Document Verification (If Required)
If your flow requires document verification:
User uploads a photo of their government ID, passport, or driver's license
Our system extracts information using OCR technology
System determines if additional document sides are needed
4. Biometric Verification (If Required)
If your flow requires biometric verification:
Capture your users face via a webcam or front-facing camera
System performs liveness detection to ensure the person is real
System checks for duplicate enrollments
Compares results against your configured minimum scores
5. Face Verification (If Required)
If your flow contains both Document Validations and Biometric Validations, you can run this additional endpoint to compare the face of the document, to the biometric data. This provides an extra verification layer to ensure the document and biometrics face match.
You must successfully capture the users document with a face
You must successfully capture the biometrics
A score will be provided for you to validate against
What Happens Next?
Once all required verifications are complete:
Verify you are happy with the information collected: Retrieve an App Registration
Call the Sync App Registration Status with
step: end
andstatus: "COMPLETED"
If the sync runs successfully, the response will contain the final
token
This token can now be used to
redirect
to your application to create a session for the userE.g.,
https://verifik.co?token={token}
All verification data is stored securely in your project
You can access the verification results through our API
Getting Help
If you need assistance with any part of the setup process, refer to the detailed technical documentation linked throughout this guide, or contact our support team.
Last updated
Was this helpful?