> ## 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.

# Overview

> How KYC works in the Ramps API flow.

## How it works

Every customer must go through KYC before operating. The recommended starting point is always to check whether the customer already has an approved KYC with Ripio — if they do, the process is much faster.

### Step 1 — Check if the customer already has KYC with Ripio

Call [Check KYC Status & Send OTP](/ramps-api/kyc/check-kyc-status-&-send-otp) with the customer's email.

* **If they do** → an OTP is sent to their email. Continue with the [OTP reuse flow](#kyc-reuse-via-otp).
* **If they don't** → proceed with the [full KYC submission flow](#full-kyc-submission).

***

### KYC reuse via OTP

The customer already has an approved KYC with Ripio. No document upload required.

<Steps>
  <Step title="Validate OTP">
    Call [Validate OTP](/ramps-api/kyc/validate-otp-for-kyc-reuse) with the code the customer received. On success, the KYC is approved for this customer in your platform.
  </Step>
</Steps>

***

### Full KYC submission

The customer has no prior KYC with Ripio.

<Steps>
  <Step title="Get KYC requirements">
    Call [Retrieve KYC Requirements](/ramps-api/kyc/retrieve-kyc-requirements) to get the fields required for your account's country.
  </Step>

  <Step title="Submit KYC data">
    Call [Submit KYC Information](/ramps-api/kyc/submit-kyc-information) with the customer's data. The response includes a `providerUrl` — redirect the user there to complete document upload and liveness check.
  </Step>

  <Step title="Check submission status">
    Call [Retrieve KYC Submission](/ramps-api/kyc/retrieve-kyc-submission) to poll the result. Once `status` is `COMPLETED`, the customer is verified and can operate.
  </Step>
</Steps>

***

## Webhooks

Instead of polling, you can configure a webhook URL to receive real-time notifications whenever a customer's KYC status changes. See [KYC Events](/ramps-api/webhooks/kyc-events) for the full payload reference.
