Concepts
Inquiry lifecycle
Handle inquiry states without losing decisions.
Inquiry states
CreatedPendingCompletedNeeds ReviewApprovedDeclinedFailedExpiredPurged
Created
Inquiry opened
Pending
Verification started
Completed
All checks finished
policy
Approved
Needs Review
Expired
Inquiry lifetime elapsed
Failed
Hard failure or attempt cap
Purged
Approved record removed
Transitions
Known transitions
| Name | Type | Description |
|---|---|---|
Open | → CREATED | POST /customer/inquiries or portal create. |
First ID scan | CREATED → PENDING | Document scan moves inquiry immediately. |
All steps pass | → COMPLETED → APPROVED|NEEDS_REVIEW | COMPLETED is transitional; policy decides next state. |
Hard fail / caps | → FAILED | May emit inquiry.declined with status FAILED. |
TTL sweeper | → EXPIRED | Portal may extend/resume per portal APIs. |
Portal purge | → PURGED | Operator purge workflow. |
Limits and expiry
INQUIRY_TTL_SECdefault 86400 (24h) from opened_at.- Template configuration may override the effective inquiry expiry.
- Expired inquiries cannot continue verification or return document URLs.