How can we help? 👋

About Document Status

Complete reference of all document statuses and meta statuses used in CheckHub, essential for technical integrators.

Every document managed through CheckHub goes through a lifecycle represented by a status. Understanding these statuses is essential for building a robust integration, as they determine what state a document is in and what actions can or should be taken.

How Statuses Work

Each document status has three components:

  • Code — a numeric identifier (e.g. 100, 400, 901) used in the API.
  • Name — a human-readable constant (e.g. REQUESTED_BY_ADMIN, EXPIRED) that describes the specific status.
  • Meta Status — a higher-level grouping (e.g. REQUESTED, PENDING, VALIDATED, ERROR) that categorizes statuses into broad lifecycle stages.

The meta status is useful when you want to simplify your integration logic. Instead of handling every individual status code, you can branch on the meta status to cover the main document lifecycle phases.

Status Reference Table

Meta Status
Code
Name
Description
REQUESTED
100
REQUESTED_BY_ADMIN
The document has been requested manually by an admin user through the CheckHub interface.
REQUESTED
101
REQUESTED_BY_INTEGRATION
The document has been requested programmatically via the API or an integration.
PENDING
300
WAITING_MANUAL_CHECK
The document has been uploaded and is waiting to be reviewed manually by an admin.
PENDING
301
WAITING_AUTO_CHECK
The document has been uploaded and is currently being processed by an automated check.
PENDING
302
WAITING_UPLOADING_END
The document file is still being uploaded and is not yet fully received.
VALIDATED
400
VALIDATED_BY_ADMIN
The document has been reviewed and approved by an admin user.
VALIDATED
403
VALIDATED_BY_AUTO_CHECK
The document has been automatically validated by the system's automated checks.
ERROR
900
REJECTED_BY_ADMIN
The document has been reviewed and rejected by an admin user.
ERROR
901
REJECTED_BY_AUTO_CHECK
The document has been rejected by the system's automated checks.
ERROR
905
EXPIRED
The document has passed its validity period and is no longer considered valid.

Meta Status Overview

REQUESTED — The document has been asked for but not yet uploaded by the collaborator. This is the initial stage of the document lifecycle.

PENDING — The document has been uploaded and is awaiting processing or review. It is not yet in a final state.

VALIDATED — The document has been accepted, either manually by an admin or automatically by the system. This is a successful final state.

ERROR — Something went wrong: the document was rejected (by an admin or automatically) or has expired. The collaborator may need to re-upload a new version.

Tips for Integrators

  • When polling or receiving webhooks, use the numeric code for precise status matching and the meta status for broader lifecycle logic.
  • Always handle the EXPIRED status (905): documents can transition to this state automatically when their validity period ends, even if they were previously validated.
  • The PENDING meta status covers multiple sub-states — make sure your integration accounts for the fact that a document may remain in this state while it is being uploaded, auto-checked, or awaiting manual review.
Did this answer your question?
😞
😐
🤩