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

# Submit KYC data for compliance screening

> Send end-user KYC and PEP data to run AML screening and sanctions checks on a client before enabling Pix to stablecoin transactions.

Submits a client's identity data for sanctions screening (COAF, OFAC, UN), PEP checks, and wallet risk scoring via Sumsub. Returns a KYC token used in subsequent transaction calls.

## Request

**X-Mippo-API-Key** `string` *required*

Your API key.

**cpf** `string` *required*

Brazilian CPF in any format: `123.456.789-09` or `12345678909`.

**biometricHash** `string` *required*

SHA-256 hash of the biometric data collected during your onboarding flow. Format: `sha256:<hex>`.

**personType** `string` (default: PF)

`"PF"` (individual) or `"PJ"` (legal entity / CNPJ holder).

**partnerKycToken** `string`

Only for **Model 2** (client via platform). Pass your own KYC token; Supercosmos runs independent screening on top.

```json Request theme={null}
{
  "cpf": "123.456.789-09",
  "biometricHash": "sha256:abc123def456",
  "personType": "PF",
  "partnerKycToken": "your_vendor_token"
}
```

## Response

**success** `boolean`

Always `true` on 2xx.

**data.token** `string`

KYC token. Pass this to `POST /v1/laas/transactions/initiate`. Valid for **24 hours**.

**data.status** `string`

`APPROVED` | `PENDING` | `REJECTED`

**data.riskTier** `string`

`STANDARD` | `HIGH` | `PEP` — determines which auth challenge is returned on transaction initiation.

**data.expiresAt** `string`

ISO 8601 timestamp when the KYC token expires.

```json Response (200) theme={null}
{
  "success": true,
  "data": {
    "token": "kyc_1719000000_abc123",
    "status": "APPROVED",
    "riskTier": "STANDARD",
    "expiresAt": "2026-07-24T00:00:00.000Z"
  }
}
```

```json Response (422 — rejected) theme={null}
{
  "success": false,
  "error": {
    "code": "KYC_REJECTED",
    "message": "Client failed compliance screening.",
    "details": { "reason": "SANCTIONS_HIT" }
  }
}
```

> [!NOTE]
>
> Even in **Model 2**, Supercosmos runs its own independent sanctions screening. Passing a `partnerKycToken` does not bypass Supercosmos's checks.


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