Know your Customer (KYC)
Unblock API incorporates Know Your Customer (KYC) processes to ensure regulatory compliance and platform security for individual users. This guide details the KYC flows, integration levels, statuses, and API endpoints relevant to individual user verification.
🤔 Why KYC for Individuals?
KYC is a regulatory requirement essential for:
- User Identity Verification: Confirming the identity of individual users.
- Anti-Money Laundering (AML): Preventing illicit activities and ensuring platform security.
- Regulatory Compliance: Adhering to financial regulations in various jurisdictions.
Levels of KYC Abstraction
Unblock offers tiered KYC integration levels, providing flexibility based on your integration needs:
- ☝️ Level 1: SDK Integration and Full Delegation to Unblock
- Description: The fastest integration. Unblock, via Sumsub, handles the entire KYC process from document collection to verification.
- Process:
- Create User: Create a user endpoint
- Create KYC Applicant: Use
/user/kyc/applicant
endpoint. - Retrieve Sumsub SDK Token: Use
/user/kyc/applicant/token
endpoint. - Initiate Sumsub SDK: Embed the Sumsub SDK in your frontend.
- Webhook Notifications: Receive KYC webhooks for status updates.

✌️ Level 2: Merchant Managed KYC
-
Description: Unblock relies on merchant's KYC process, performed outside of the Sumsub SDK flow. This level requires a prior agreement with Unblock.
Detailed Steps for Merchant Managed KYC:
If you are managing KYC outside of the Sumsub SDK, you need to perform the following steps to ensure KYC data is correctly processed by Unblock:
- Three-Party Agreement: Ensure a three-party agreement is in place between Sumsub, your platform (the merchant), and Unblock. This agreement is essential for enabling secure KYC data sharing between the platforms.
- Sumsub Share Token: Obtain a Share Token from Sumsub's API. You will need to use Sumsub's Generate Share Token endpoint to retrieve this token. This Share Token acts as a secure credential to access and export the KYC data.
- Terms and Conditions Hash Generation: You are responsible for compliance with legal documents. Generate and provide the SHA256 hashes of the latest Terms and Conditions, Privacy Policy, and Terms of Service documents. Refer to the Generating Terms and Conditions Hashes for Compliance guide for detailed instructions on generating these hashes. These hashes must be provided when creating or updating users via the
/user
endpoint. - Create User in Unblock: Use the Create a user endpoint in the Unblock API to create a user entity. This step is necessary to link the KYC data to a specific user within the Unblock system.
- Export Applicant to Unblock: Utilize Unblock's
/user/kyc/applicant/share-token
endpoint. In the request body, include the Share Token obtained from Sumsub. This action securely exports the KYC data collected by your platform from Sumsub to Unblock for processing and compliance checks. - Webhook Notifications: Continue to monitor and process KYC webhooks. Unblock will send KYC webhooks to your configured webhook URL to provide real-time updates on the KYC status of users, triggered by the data export process.
KYC Statuses for Individuals
Track user KYC status via KYC webhooks.
Status | Description | Next Steps / Considerations |
---|---|---|
KYC_NEEDED | User must complete KYC to transact. | Prompt user to start KYC. |
PENDING_KYC_DATA | User started KYC, documents are missing. | Remind user to submit documents. Check missing docs via /user/kyc/applicant . |
KYC_PENDING | KYC verification in progress. | Verification is processing. Inform user of pending status. |
SOFT_KYC_FAILED | KYC failed, user may retry after correcting data. | Check webhook data for reasons. Guide user to correct and retry. |
HARD_KYC_FAILED | KYC permanently failed, user cannot be served. Final decision. | Inform user of KYC failure. No retry possible. |
FULL_USER | KYC successful. User fully verified. | User onboarded. Full platform access (within limits). |
KYC in Sandbox
Simulate KYC flows in the Sandbox environment** using the [SANDBOX] Patch the KYC verification status enpoint for testing.
API Endpoints for KYC
Endpoint | Description |
---|---|
POST /user/kyc/applicant | Create a KYC application for a user |
GET /user/kyc/applicant | Get KYC application details |
GET /user/kyc/applicant/token | Get Sumsub SDK token for IDV collection |
POST /user/kyc/applicant/share-token | Export an applicant (advanced) |
PUT /user/kyc/document | Upload a KYC document |
POST /user/kyc/verification | Start KYC verification |
PATCH /user/kyc/verification (Sandbox only) | [SANDBOX] Patch KYC verification status (simulation) |
Webhooks for KYC Updates
Receive real-time updates on KYC status changes via KYC
webhooks.
Integrate Unblock's KYC to ensure compliance and a secure onboarding experience for individual users.
Updated 17 days ago