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

# Create KYC Intent

> Initiate an identity verification request using the Forte Compliance widget.

Once you have an [access token](/obtain-access-token), create a KYC intent for the target verification level. Forte returns the `widget_data` needed to initialize the Compliance widget.

## Endpoint

```
POST /compliance/v2/kyc
Authorization: Bearer {{access_token}}
```

## Request Body

Pass the desired `level` (1–3) and the user's wallet. For a breakdown of what each level requires, see [Verification Flows](/access_levels_flows).

```json theme={null}
{
  "action": {
    "type": "OCC_RULES_ENGINE",
    "level": 3
  },
  "customer": {
    "wallet": {
      "blockchain": "base_sepolia",
      "address": "0xF84D68F29664F907eE9d03E534105b7aA6045A"
    },
    "external_id": "0xF84D68F29664F907eE9d03E534105b7aA6045A"
  }
}
```

### Field Reference

| Field                        | Required    | Description                                 |
| ---------------------------- | ----------- | ------------------------------------------- |
| `action.type`                | Yes         | Always `OCC_RULES_ENGINE`                   |
| `action.level`               | Yes         | Target access level: `1`, `2`, or `3`       |
| `customer.wallet.blockchain` | Yes         | Blockchain identifier (e.g. `base_sepolia`) |
| `customer.wallet.address`    | Yes         | User's wallet address                       |
| `customer.external_id`       | Recommended | Your internal identifier for the user       |

<Info>
  If a user needs Level 3 but has only completed Level 1, the widget automatically walks them through all outstanding requirements in sequence — no additional API calls are needed.
</Info>

## Response

```json theme={null}
{
  "data": {
    "flow": "KYC_OCC",
    "error_code": null,
    "widget_data": "eyJhY2Nlc3NfdG9rZW4i..."
  }
}
```

Pass the full `data` object to `initFortePaymentsWidget` — see [Integrate Widget](/integrate-widget).

## Next Steps

<Card title="Integrate Widget" icon="code" href="/integrate-widget">
  Embed and initialize the Forte widget with the response data
</Card>
