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

# Verification session decisions

> A verification decision is sent to the decision url (if provided) of the api key used to initialize the session once the verification process is complete and there is a decision about the genuineness of the session.

The session decision can be `not started`, `started`, `submitted`, `successful`, `failed`, `expired`, `abandoned` or `review`.

This info is sent in the webhooks, and is part of the `GET /v1/verifications/{id}` API call payload. For non-successful sessions, Helium Id shares the reasons why the end-user failed or asked to resubmit.

***

## Fetch decisions

There are several options to fetch the decision(s) of a verification session:

* **Manually**: the Verifications page in the Helium Id Dashboard
* **Check the decision webhook payload**: configure a webhook URL in your dashboard to receive automated updates.
* **Query the API**: Use the `GET /v1/verifications/{id}` endpoint to fetch the current status.

***

## Cap on the number of resubmissions

One end-user can resubmit their data once. This means that the after the 1st attempt, all other attempts are automatically declined, and the relevant limit exceeded code is sent. If you wish to allow the end-user to retry verification, you need to create a new session for them using the `POST /v1/verifications` endpoint.

***

## Verification session lifecycle

A session decision is returned after the end-user's data has been analyzed and the system (or an Identity Specialist, if using the `manual` method) has reached a conclusion about the end-user's verification session.

The lifecycle generally follows this path:

1. **Created**: You generate a new session via API or Dashboard.
2. **Started / Submitted**: The user enters the flow and provides their documentation and selfie.
3. **Decision Reached**: Helium Id processes the data and assigns a conclusive decision (`successful`, `failed`, `expired`, or `abandoned`).
   * *Note: If configured for manual review or if the automated system cannot make a definitive choice, it may enter the `review` state.*
