Skip to main content
POST
Validate KYC OTP
If the customer already has an approved KYC with Ripio, this call approves them immediately — no document upload and no kycSubmission needed. Otherwise, continue with Submit KYC Information to complete the verification.
Confirming the OTP only proves the customer owns that email — it does not by itself approve the KYC. Approval always depends on what the identity provider reports back.
In sandbox, the code 123456 is always accepted — see KYC in sandbox.
This endpoint shares the same guard as Start KYC: when the unified KYC flow is not enabled for the account, it returns 403 with KycUnifiedFlowNotEnabledException (20095). The most common cause is calling the unified KYC endpoints with the widget credentials instead of the API credentials — see Start KYC.

Authorizations

Authorization
string
header
required

Access token obtained via /oauth2/token/. Use as Authorization: Bearer <access_token>.

Path Parameters

customerId
string<uuid>
required

Unique identifier for the customer.

Body

application/json

Payload for validating OTP.

code
string
required

The OTP code to verify.

Example:

"123456"

Response

OTP validated.

submissionId
string<uuid>
required

Unique identifier for the submitted KYC data.

createdAt
string<date-time>
required

Date and time the KYC submission was created (UTC format).

providerUrl
string<url>
required

Points to a third-party KYC provider's widget to handle file uploads and liveness checks. Only available in production.

otpRequired
boolean

Whether the OTP sent to the customer's email still needs to be validated with Validate KYC OTP before continuing. Only present for accounts configured for Ripio KYC reuse via OTP.