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

# Identity Verification

> [!NOTE]
>
> Mode: `identity_verification`

Opal Identity Verification is a pre-built flow for verifying user identity. It provides a secure, compliant way to collect and verify personal information like name, date of birth, address, and other identity details needed for KYC/AML requirements.

![identity-hero](https://mintcdn.com/methodfinancial/eYCszB8Xv_iFcf77/images/identity-hero.svg?fit=max\&auto=format\&n=eYCszB8Xv_iFcf77\&q=85\&s=f6d99b97cd5ae3bc618b89ab0908fb9b)

## What this mode does

Identity Verification collects, confirms, and verifies a user's identity details (name, DOB, address, phone, SSN if needed). Users must explicitly confirm their details before verification challenges begin. Identity Verification will automatically be invoked when needed, or can be used as a standalone module.

## Parameters

## Create a token

You can create an identity verification session token using one of the supported patterns:

* Existing entity: provide `entity_id` + `mode` + `identity_verification`
* Create new entity: provide `entity` + `mode` + `identity_verification`
* Resume session: provide `session_id` only (omit `mode` and `identity_verification`)

### Existing Entity

```json theme={null}
{
  "entity_id": "ent_...",
  "mode": "identity_verification",
  "identity_verification": {
    "skip_pii": ["name", "dob", "address"]
  }
}
```

### Create New Entity

```json theme={null}
{
  "entity": {
    "type": "individual",
    "individual": {
      "first_name": "Kevin",
      "last_name": "Doyle",
      "phone": "+15125551234"
    }
  },
  "mode": "identity_verification",
  "identity_verification": {
    "skip_pii": []
  }
}
```

### Response

```json theme={null}
{
  "token": "otkn_...",
  "valid_until": "2025-06-10T22:50:53.024Z",
  "session_id": "osess_..."
}
```

## Launch Opal

> [tab] React (Web)
>
> ```tsx theme={null}
> import { OpalProvider, useOpal } from "@methodfi/opal-react";
>
> function Screen() {
>   const { open } = useOpal({ env: "dev", onEvent: (e) => {} });
>   const start = async () => {
>     const { token } = await getTokenFromBackend();
>     open({ token });
>   };
>   return <button onClick={start}>Verify identity</button>;
> }
> ```

> [tab] React Native
>
> ```tsx theme={null}
> import { OpalProvider, useOpal } from "@methodfi/opal-react-native";
>
> function Screen() {
>   const { open } = useOpal({ env: "dev", onEvent: (e) => {} });
>   const start = async () => {
>     const { token } = await getTokenFromBackend();
>     open({ token });
>   };
>   return <Button title="Verify identity" onPress={start} />;
> }
> ```


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