What each session status means, from Not started and In progress to In review, Approved and Declined, and why even a decided session can still change.
Ten statuses exist. Approved, Declined and KYC expired mean a decision has been reached - but none of them is permanently immutable: a reviewer can reopen a decision, and ongoing AML monitoring can move an approved session later. In review is the only status that needs a person. Keep handling updates after a session is decided.
Every verification session has a status that tells you where it is in the process. Here's what each one means in plain language, and whether it needs anything from you.
#Where to find a session's status
In the Business Console, open Identity verification → User verifications and open the session you want to check. The status is shown at the top, with a short explanation of why it has that status and the result of each check that ran.

#The statuses, explained
| Status | What it means | Action needed? |
|---|---|---|
| Not started | Created, but the link hasn't been opened yet. | No - wait, or remind them yourself. |
| In progress | The person is actively going through the checks. | No - resolves on its own. |
| Approved | Every check passed - identity verified. | No. |
| Declined | One or more checks failed. See why a verification was declined. | Only if you want to request resubmission. |
| In review | Flagged for a human decision - low score, data mismatch, AML hit. | Yes - approve, decline, or request resubmission. |
| Resubmitted | A reviewer asked for specific steps to be redone; re-evaluates once done. | No. |
| Awaiting user | KYB only - waiting on the linked people to finish their own verification. | No. |
| Expired | The link timed out before it was opened. | Yes - create a new session. |
| Abandoned | Opened but not finished in time. | Request resubmission or create a new session |
| KYC expired | A previously approved session passed its re-verification period. | Yes - ask them to verify again. |
#Which ones are decided
| Category | Statuses | Meaning |
|---|---|---|
| Decided | Approved, Declined, KYC expired | A verdict exists. Not necessarily permanent - see below. |
| Still active | Not started, In progress, Resubmitted, Awaiting user | Waiting on the user, on child sessions, or on processing. |
| Needs you | In review | Requires a decision from your team. |
| Ended without a decision | Expired, Abandoned | The person never completed it. |
A decided session can still change. Do not stop processing updates for a session once it reaches Approved or Declined:
- Declined can become Resubmitted when a reviewer asks the person to redo a step, and then Approved.
- Approved can become In review or Declined later, when ongoing AML monitoring finds a new hit that crosses your threshold.
- Approved can become KYC expired if you set an expiry policy.
An Abandoned session can be resubmitted so the person can redo selected steps in the same session. If the link expired before it was opened, create a new session instead. Keep processing status updates after resubmission.
#How a session moves between them
- Not started → In progress (they open the link), or → Expired (they never do).
- In progress → Approved, Declined, In review, or Abandoned. In KYB it can also go to Awaiting user once the key-people step is submitted.
- In review → Approved, Declined, or Resubmitted, always by a reviewer's action.
- Declined → Resubmitted, if a reviewer asks for another attempt.
- Resubmitted → Approved, Declined, or In review, once the person redoes the steps.
- Awaiting user → Approved, Declined, or In review, once every required party is decided.
- Approved → KYC expired, if a KYC expiration policy applies.
The console shows statuses in sentence case, such as In review. Via the API or a webhook, statuses are exact, case-sensitive strings with
spaces - for example "In Review", not "in_review" or "IN_REVIEW". Use
strict equality when matching them. One oddity to watch: the expiry status is
"Kyc Expired" with a single capital K, not "KYC Expired". Full reference:
verification statuses.
#Statuses that look like problems but aren't
- In progress that isn't moving. The person simply hasn't finished. There's no way to fast-forward a session; it updates when they complete the remaining steps.
- Awaiting user on a KYB session. Expected. The company submitted its list of people and the parent session is waiting for each of them. Watch the child sessions, not the parent.
- Resubmitted going back to Awaiting user. In KYB, if a child session is resubmitted the parent returns to Awaiting user until it completes.
#Mapping these onto your own states
If you're storing a status of your own, two mappings are worth getting right:
- Abandoned and Awaiting user are not resubmissions. Resubmitted specifically means a reviewer asked for steps to be redone; Abandoned means the person walked away; Awaiting user means other parties are still verifying.
- Expired and KYC expired are different. Expired means the link was never opened. KYC expired means an approved verification aged out of your policy - so the person was verified once, and now needs to be again.
#Next steps
- In review: see sessions stuck in review, and how to reduce them.
- In review or Declined: see letting someone try a verification again.
- Declined: see why a verification was declined.
- Get statuses pushed to your backend automatically: see getting verification results with webhooks.
Still stuck? Talk to a human.
Include your organization ID and the session ID you are asking about.
