> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ripio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# KYC in sandbox

> How identity verification works in sandbox, including skipping KYC or simulating approval and rejection.

In sandbox, Ripio can configure how identity verification works for your account depending on what you need to validate during integration.

| Sandbox mode           | What happens                                                                                                                 | Use it when                                                                                             |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| Skip KYC               | KYC is completed automatically, so the customer can continue through the ramp flow without completing identity verification. | You want to validate the ramp flow without adding identity-verification steps.                          |
| Simulate KYC decisions | KYC is enabled, and you can simulate whether the verification is approved or rejected.                                       | You want to validate how your integration handles KYC approval, rejection, status checks, and webhooks. |

<Note>
  Ask your Ripio contact which sandbox mode should be enabled for your account.
</Note>

## Skip KYC in sandbox

If your sandbox account is configured to skip KYC, the customer can continue through the ramp flow without completing the identity verification step.

Use this mode when you want to validate the operational flow:

1. Create the customer.
2. Accept Terms & Conditions.
3. Create the quote, order, or session.
4. Simulate the fiat deposit if you are validating an on-ramp flow.

You do not need to call the KYC simulation endpoints in this mode.

## Simulate KYC approval or rejection

If your sandbox account is configured with KYC enabled, run the normal KYC flow first. Once you have a `submissionId`, use the sandbox simulation endpoints to approve or reject it.

<Steps>
  <Step title="Start KYC">
    Start KYC using your configured model: [Ripio-hosted KYC](/ramps-api/kyc/kyc-with-ripio) or [partner-submitted KYC](/ramps-api/kyc/kyc-via-api-overview).
  </Step>

  <Step title="Save the submission ID">
    Use the `submissionId` returned by the KYC creation response, or retrieve it with [Retrieve Latest KYC Submission](/ramps-api/kyc/retrieve-kyc-submission).
  </Step>

  <Step title="Approve or reject the KYC">
    Call one of the sandbox-only endpoints below.
  </Step>

  <Step title="Confirm the result">
    Check the KYC status again, or listen for [KYC Events](/ramps-api/webhooks/kyc-events).
  </Step>
</Steps>

<Note>
  A successful simulation request returns `200 OK` with no response body. The final KYC status may not be available immediately, so use polling or webhooks to confirm the result.
</Note>

## Simulate approval

```bash theme={null}
curl --request POST \
  --url https://skala-sandbox.ripio.com/api/v1/simulateKycValidation/{submissionId}/approve/ \
  --header 'Authorization: Bearer <token>'
```

Use this when you want the customer to become eligible to continue the ramp flow.

## Simulate rejection

```bash theme={null}
curl --request POST \
  --url https://skala-sandbox.ripio.com/api/v1/simulateKycValidation/{submissionId}/disapprove/ \
  --header 'Authorization: Bearer <token>'
```

Use this when you want to validate rejected-verification handling.

## Common errors

| Code    | What it means                                                                                                                                                         |
| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `20084` | Your sandbox account is configured to skip KYC, so there is no KYC review to approve or reject. Ask Ripio to enable KYC decision simulation for your sandbox account. |
| `20085` | This KYC submission was already approved or rejected.                                                                                                                 |
| `20086` | This KYC submission is not ready to be approved or rejected yet. Start the KYC flow first and retry after the submission is created.                                  |
| `20087` | The approval simulation could not be completed. Retry or contact Ripio support.                                                                                       |
| `20088` | The rejection simulation could not be completed. Retry or contact Ripio support.                                                                                      |
