> ## 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 & which model to use

> How identity verification (KYC) works in the Ramps API and how to choose between the Ripio-hosted redirect and the partner-submitted API model.

Every customer must complete **identity verification (KYC)** before they can operate. A customer's KYC status must be **`COMPLETED`** before you can create On-Ramp or Off-Ramp orders.

There are two ways to run KYC. This page helps you pick the right one; each model has its own step-by-step page.

## The two models

<CardGroup cols={2}>
  <Card title="Ripio-hosted KYC (redirect)" href="/ramps-api/kyc/kyc-with-ripio">
    You send the user to Ripio's KYC platform via a redirect. Ripio collects the data and documents. Simplest to integrate.
  </Card>

  <Card title="Partner-submitted KYC (API)" href="/ramps-api/kyc/kyc-via-api-overview">
    You collect the KYC fields in your own UI and submit them through the API. Maximum control over the experience.
  </Card>
</CardGroup>

## Which model should you use?

|                           | Ripio-hosted (redirect)                 | Partner-submitted (API)     |
| ------------------------- | --------------------------------------- | --------------------------- |
| **Who collects the data** | Ripio                                   | You (the partner)           |
| **User experience**       | User leaves your UI to Ripio's KYC page | Fully native in your UI     |
| **Integration effort**    | Lower                                   | Higher                      |
| **Best for**              | Getting live quickly                    | Custom, embedded onboarding |

<Note>
  In **both** models the user is redirected to a third-party provider for document upload and liveness checks. The difference is **who collects the personal data beforehand**.
</Note>

## Shortcut: reuse an existing Ripio KYC

If the customer **already has an approved KYC with Ripio**, you don't need to collect anything — you can verify them with a one-time password (OTP) sent to their email. Always check for this first; it's the fastest path. This shortcut is documented inside [Partner-submitted KYC (API)](/ramps-api/kyc/kyc-via-api-overview#kyc-reuse-via-otp).

## Where KYC fits in the flow

KYC happens **after** creating the customer and accepting the Terms & Conditions, and **before** creating any order:

```
Create customer → Accept T&C → KYC (must be COMPLETED) → quote → order
```

See the [On-Ramp](/ramps-api/guides/on-ramp-integration) and [Off-Ramp](/ramps-api/guides/off-ramp-integration) walkthroughs for the full sequence.

## KYC statuses

| Status                 | Meaning                                                                                                                                         |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `INCOMPLETE_USER_DATA` | Required information is still missing (or a pending step, such as OTP validation, hasn't been completed). Provide the missing data to continue. |
| `IN_REVIEW`            | Submitted and under review.                                                                                                                     |
| `UPDATE_REQUIRED`      | Some information must be corrected or updated before the KYC can be approved.                                                                   |
| `COMPLETED`            | Approved — the customer can operate.                                                                                                            |
| `FAILED`               | Rejected.                                                                                                                                       |

Instead of polling, you can subscribe to [KYC Events](/ramps-api/webhooks/kyc-events) to be notified when a customer's status changes.
