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

# Verification Flow

> Understanding the verification lifecycle and flow types in hConnect

### The Verification Lifecycle

A session can have one of the following statuses:

| Status                 | Description                                                                                                           |
| :--------------------- | :-------------------------------------------------------------------------------------------------------------------- |
| `initiated`            | The session has been created, and communication with the eID provider is starting.                                    |
| `awaiting_user_action` | Waiting for the user to take action (e.g., QR code displayed, awaiting redirect).                                     |
| `authenticating`       | (Optional) The user is actively authenticating in their eID app.                                                      |
| `completed`            | The user has successfully completed the verification. Fetch user + provenance via `GET /verifications/{id}/userinfo`. |
| `failed`               | The verification failed (e.g., user rejection, incorrect credentials). Check the `error` field for details.           |
| `expired`              | The session expired because the user did not complete the action in time.                                             |
| `cancelled`            | The verification was cancelled by the developer (RP) or the user.                                                     |

### Verification Flows

hConnect automatically selects the optimal flow based on the eID provider.

| Flow Type    | Description                                                                                     | Key eID Providers             |
| :----------- | :---------------------------------------------------------------------------------------------- | :---------------------------- |
| **QR**       | The user scans a QR code on a web screen with their mobile eID app.                             | FrejaID, Diia, KMDL           |
| **Redirect** | The user is redirected to the eID provider's authentication page and then back to your service. | Most European eIDs            |
| **Push**     | A push notification is sent to the user's device for them to approve the verification.          | Audkenni, Smart-ID, Evrotrust |

<Tip>
  For detailed instructions on each flow, see the [**Integration Guides**](/guides/qr-flow) section.
</Tip>
