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.

Short answer

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.

A verification record in the Didit console showing the overall status and each check's result
A session's status sits above the per-check results that produced it.

#The statuses, explained

StatusWhat it meansAction needed?
Not startedCreated, but the link hasn't been opened yet.No - wait, or remind them yourself.
In progressThe person is actively going through the checks.No - resolves on its own.
ApprovedEvery check passed - identity verified.No.
DeclinedOne or more checks failed. See why a verification was declined.Only if you want to request resubmission.
In reviewFlagged for a human decision - low score, data mismatch, AML hit.Yes - approve, decline, or request resubmission.
ResubmittedA reviewer asked for specific steps to be redone; re-evaluates once done.No.
Awaiting userKYB only - waiting on the linked people to finish their own verification.No.
ExpiredThe link timed out before it was opened.Yes - create a new session.
AbandonedOpened but not finished in time.Request resubmission or create a new session
KYC expiredA previously approved session passed its re-verification period.Yes - ask them to verify again.

#Which ones are decided

CategoryStatusesMeaning
DecidedApproved, Declined, KYC expiredA verdict exists. Not necessarily permanent - see below.
Still activeNot started, In progress, Resubmitted, Awaiting userWaiting on the user, on child sessions, or on processing.
Needs youIn reviewRequires a decision from your team.
Ended without a decisionExpired, AbandonedThe person never completed it.
Important

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.
Note

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

Still stuck? Talk to a human.

Include your organization ID and the session ID you are asking about.

Contact support