HomeGuidesRecipesAPI ReferenceChangelog
Log In
Guides

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:
      1. Create User: Create a user endpoint
      2. Create KYC Applicant: Use /user/kyc/applicant endpoint.
      3. Retrieve Sumsub SDK Token: Use /user/kyc/applicant/token endpoint.
      4. Initiate Sumsub SDK: Embed the Sumsub SDK in your frontend.
      5. 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.

StatusDescriptionNext Steps / Considerations
KYC_NEEDEDUser must complete KYC to transact.Prompt user to start KYC.
PENDING_KYC_DATAUser started KYC, documents are missing.Remind user to submit documents. Check missing docs via /user/kyc/applicant .
KYC_PENDINGKYC verification in progress.Verification is processing. Inform user of pending status.
SOFT_KYC_FAILEDKYC failed, user may retry after correcting data.Check webhook data for reasons. Guide user to correct and retry.
HARD_KYC_FAILEDKYC permanently failed, user cannot be served. Final decision.Inform user of KYC failure. No retry possible.
FULL_USERKYC 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

EndpointDescription
POST /user/kyc/applicantCreate a KYC application for a user
GET /user/kyc/applicantGet KYC application details
GET /user/kyc/applicant/tokenGet Sumsub SDK token for IDV collection
POST /user/kyc/applicant/share-tokenExport an applicant (advanced)
PUT /user/kyc/documentUpload a KYC document
POST /user/kyc/verificationStart 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.