Skip to main content
Know Your Customer (KYC) is the identity verification process every user must complete before they can hold an account or a card on Reap. Reap supports three verification methods. Whichever you use, the outcome is the same: an APPROVED user, tracked by a single application status, with results delivered to your webhook endpoint.

Verification methods

Managed KYC

Reap runs the verification. You embed a provider SDK in your app, the user completes document and liveness checks, and the outcome arrives by webhook.

Sumsub Token Sharing

Reuse verifications from your own Sumsub account. You share a per-user token, Reap imports the existing verification, and the decision arrives on the USER_APPLICATION_STATUS_UPDATED webhook.

Universal KYC

Bring verifications from your own KYC provider. You submit the verified data pack and supporting documents, and Reap reviews them and returns a decision.
Your project uses one of these methods, set when you onboard with Reap based on your agreement. The method is fixed per project, not chosen per user. If you are not sure which one applies to you, check with your account manager.

Application statuses

User KYC is tracked via an application status on the user resource. The application object on a user includes status, rejectionReason, and rejectionLabels. Both rejection fields are populated only when status is REJECTED or RETRY_REQUIRED:
  • rejectionReason is a short message you can show to the user.
  • rejectionLabels lists the reject codes from the compliance review, such as FORGERY, SELFIE_MISMATCH, or EXPIRATION_DATE. Use them to triage and support your users. See Rejection labels for the full list.
rejectionLabels is for your internal use only. Do not display the codes to the end user or share them outside your organization. Some codes flag suspected fraud. Translate them into your own guidance instead, for example “Your ID has expired, please upload a valid one”.
Universal KYC adds AWAITING_DOCUMENTS while you upload the supporting documents, then moves to IN_REVIEW.

Unsupported jurisdictions

Reap cannot onboard users from some jurisdictions due to regulatory restrictions. A user who resides in a restricted jurisdiction cannot be onboarded, regardless of verification method. For the current list of restricted jurisdictions, contact your account manager.

Key principles

  • Reap orchestrates verification. Reap manages provider communication, status tracking, and the application lifecycle. How the verification itself happens depends on your verification method.
  • One application per user. A user has a single KYC application. If verification needs to be retried, you advance that user’s application again.
  • KYC is a gate. A user cannot have an account created or a card issued until their KYC status is APPROVED.
  • Webhooks are the source of truth. Do not poll for status changes. Listen for USER_APPLICATION_STATUS_UPDATED events and update your UI and internal systems from there.