Skip to main content
Sandbox has no one reviewing identity verifications. If your account uses the KYC with liveness check, you can decide the outcome of a submission yourself with two sandbox-only endpoints, and test how your integration handles both an approved and a rejected KYC.
These endpoints only exist in sandbox. In production, the outcome always comes from the identity provider.
If your account uses the KYC for regulated entities, there is nothing to simulate: the KYC is approved in the same request.

Simulate approval or rejection

1

Create the KYC Submission

Run the normal flow with Create KYC Submission. The response comes back IN_REVIEW, with a provider_url. Save the submission_id.You don’t need to complete the liveness check at provider_url to simulate the decision.
2

Approve or reject it

Call Simulate KYC Approval or Simulate KYC Rejection with the submission_id.
3

Confirm the result

You receive the KYC.COMPLETED or KYC.FAILED webhook, as in production — see BaaS Webhooks. You can also check it with Retrieve KYC Submission.
A successful simulation answers 200 OK with no body. The status of the submission changes a few moments later, when the KYC service reports the decision back, so confirm it with the webhook or by polling.

Simulate approval

Use it to let the user operate and continue testing the rest of your integration. See the Simulate KYC Approval reference.

Simulate rejection

Use it to test how your integration handles a rejected KYC: the KYC.FAILED webhook, the message you show the user, and creating a new submission for them. See the Simulate KYC Rejection reference.

Common errors