Not sure which KYC model to use? Start with Overview & which model to use.
How it works
In this model you collect the KYC fields in your own UI and submit them through the API. The recommended starting point is always to check whether the customer already has an approved KYC with Ripio — if they do, you can reuse it via OTP and skip data collection entirely.Step 1 — Check if the customer already has KYC with Ripio
Call Check KYC Status & Send OTP. You can pass the customer’semail in the body, or omit the body entirely to use the email already stored on the customer.
- If they do → 200, and an OTP is sent to their email. Continue with the OTP reuse flow.
- If they don’t → 400
KycNotApprovedException. Proceed with the full KYC submission flow. - If the customer is already verified on your integration → 400
KycAlreadyApprovedException, and no OTP is sent. Nothing left to do: skip KYC entirely and go on to the quote.
type field rather than on the status code.
KYC reuse via OTP
The customer already has an approved KYC with Ripio. No document upload required.1
Validate OTP
Call Validate OTP with the code the customer received. On success, the KYC is approved for this customer in your platform.
Full KYC submission
The customer has no prior KYC with Ripio.1
Get KYC requirements
Call Retrieve KYC Requirements to get the fields required for your account’s country.
2
Submit KYC data
Call Submit KYC Information with the customer’s data. The response includes a
providerUrl — redirect the user there to complete document upload and liveness check.If reusable KYC is enabled for your account, add kycProviderShareToken to this same request to reuse a verification the customer already completed in your Sumsub account. Sending the field without the feature enabled returns 403 with the error code 20065.3
Check submission status
Call Retrieve KYC Submission to poll the result. Once
status is COMPLETED, the customer is verified and can operate.