> ## 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 for regulated entities

> KYC flow for partners that are regulated entities: you submit the data of users you already verified and Ripio approves the KYC in the same request.

> [!NOTE]
>
> Not sure which flow applies to your account? Start with [Overview & which flow applies](/crypto-as-a-service/kyc/overview.md).

## How it works

This is the flow for partners that are **regulated entities**: companies obligated to verify their customers' identity under anti-money laundering (AML) regulations. You have already verified your users with your own process, so there is no extra step for them. You submit their data, Ripio stores it, and the KYC is approved in the same request.

You remain responsible for the verification you performed. Make sure the data you submit is the data you verified.

## The flow

**1. Get the KYC requirements**

Call [KYC Requirements](/crypto-as-a-service/kyc-requirements/kyc-requirements.md) to get the fields required for your account's country. You only need to do this once, while integrating.

**2. Create the KYC Submission**

Call [Create KYC Submission](/crypto-as-a-service/kyc-submissions/create-kyc-submission.md) with the user's `email` and the `kyc_submission` data. The response already comes back approved:

```json Response theme={null}
{
    "submission_id": "945dfedc-ad7f-4af7-b20c-06082ffa3cb3",
    "status": "COMPLETED",
    "provider_url": null,
    "created_at": "2026-10-20T14:15:22.000000Z"
}
```

`provider_url` is `null`: the user doesn't have to do anything else.

**3. Let the user operate**

With the KYC approved, the user can [trade](/crypto-as-a-service/guides/trading-integration.md), [withdraw](/crypto-as-a-service/guides/deposits-and-withdrawals.md) and use [Banking as a Service](/crypto-as-a-service/guides/banking-as-a-service.md).

> [!NOTE]
>
> The result is in the response itself, so don't wait for a webhook to continue: depending on your
> account's configuration, a `KYC.COMPLETED` notification may not be sent in this flow. You can
> always check a submission with [Retrieve KYC Submission](/crypto-as-a-service/kyc-submissions/retrieve-kyc-submission.md).

> [!WARNING]
>
> A user can have only one approved KYC. Submitting a new one for a user that is already approved
> answers `400` with code `20031`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.