Statuses
The lifecycle of a session and of the checks inside it.
Session
created ─(link opened)─▶ started ─▶ in_progress ─(all steps submitted)─▶ processing
│ rules
┌────────────────────────────────┼─────────────────┐
▼ ▼ ▼
approved declined review
│ reviewer
approved · declined · resubmission_requested
│
back to in_progress ◀──┘
created | started | in_progress ─(expires_at)─▶ expired any active status ─(cancel)─▶ cancelled| Status | Meaning | Webhook |
|---|---|---|
created | Session created; the link hasn't been opened. | session.created |
started | The applicant opened the flow. | session.started |
in_progress | The applicant is completing steps. | — |
processing | Everything is submitted; checks and rules are running. | session.processing |
approved | Final: approved by rules or a reviewer. | session.approved |
declined | Final: declined by rules or a reviewer. | session.declined |
review | Waiting for a reviewer. | session.review |
resubmission_requested | A reviewer asked the applicant to redo some steps. | session.resubmission_requested |
expired | Final: not finished before expires_at (default 7 days). | session.expired |
cancelled | Final: cancelled via the API or dashboard. | session.cancelled |
Admins can override a final decision (audited) with POST /v1/sessions/:id/decision.
Check
pending → running → passed | failed | inconclusive | error
error is retried (up to 3 times with backoff), then the session goes to review. inconclusive means the
check couldn't decide (for example an unreadable document), or — with provider: "manual" — that it is waiting
for a reviewer (manual verification).
verified_by says who decided a passed / failed check: source (the registry or a cryptographic check) or
reviewer (manual verification).
In the SDKs
The mobile and web SDKs report complete with a status hint (often processing, since checks run after
submission). Always read the final status from the webhook or the API.
Reviewer corrections
Reviewers can correct values read from uploaded documents — only before a final decision, with a full audit trail.
MCP server
Connect Claude, Cursor, VS Code or any MCP client to OKYC — create sessions, review cases, build workflows and read the docs from your AI assistant.
© 2026 Aiistic Technologies Private Limited. OKYC is a product of Aiistic Technologies Private Limited. Privacy notice