Prerequisites
- The
VERIFY_KYCscope enabled on your application by Fluz. See Required scope. - A user access token generated for the customer being verified, including
VERIFY_KYCin its scopes. - A registered webhook endpoint. This is required for document verification — the outcome is not available in the API response. See Verify Customers.
How it works
1
You identify the customer and request a link
Call
requestDocumentVerificationLink using a user access token generated for that customer. The token is what tells Fluz which customer the verification belongs to.2
Fluz returns a verification link
The response contains a
verificationUrl and a verificationId. Store the verificationId — it is how you reconcile the eventual webhook with this request.3
You deliver the link to your customer
Send it however suits your product: email, SMS, push notification, or an in-app redirect. The customer can complete verification at any time.
4
Your customer uploads their documents
On the hosted page, the customer captures the front and back of a government-issued ID (driver’s license, passport, state ID, or military ID) and takes a selfie for a biometric match.
5
Fluz notifies you of the outcome
When the customer finishes, Fluz screens the submission and sends an
APPROVED or DECLINED result to your webhook endpoint.Request
You must capture and record the customer’s consent before setting
gaveConsent: true. Anything you pass is used to prefill the form — the customer can review and correct it before submitting, so treat these fields as a convenience, not as the values that will be verified.Example
Response
The
status in this response (OK) confirms only that the link was issued — it is not the verification decision. The decision arrives later, by webhook.Response fields
What the customer sees
The hosted flow prefills known information for the customer to review, then asks them to:- Capture the front and back of a supported government-issued photo ID.
- Take a selfie, which is matched biometrically against the ID photo.
Receiving the outcome
Because the customer may complete verification long after you issue the link, the outcome arrives at your webhook endpoint. Match the incoming event to your storedverificationId, then act on the result:
APPROVED— the customer is verified. Unlock the relevant functionality.DECLINED— the customer is not verified. Document verification is the final step in the escalation path; a decline here generally requires manual review rather than another automated attempt.
ERROR with Exceeded document verification limit.