Service-level status model
A case data record has two status fields that, together, describe its current state:- Status (
statusId) — the primary state of the service. The full enumeration is documented in Case data statuses. A service starts inpendingand progresses to a terminal status when it completes. - Pending status (
pendingStatusId) — an optional sub-state. It is most commonly set whilestatus = pendingto communicate what stage of processing the service is in (for example, drug screening scheduled, sent to lab, awaiting medical review). It may also remain set on a terminal status to communicate why the service ended in that state (for example,consider+pending-status-no-show).
casedata.statuschange webhook. Integrations that need fine-grained progress reporting should subscribe to this event and inspect both fields together rather than only statusId.
Statuses
Note: even when a service reaches a terminal status, it may later be reopened and transition back to
pending in certain situations (for example, contested results, corrected source data, or manual reprocessing).Status applicability matrix
The following matrix summarizes which terminal statuses are reachable by each category. Use this to validate that your integration handles the right set of outcomes per service. Note: The status names and service type/category names shown in the tables above are the human-friendly names; the canonical status IDs and service type/category IDs used in the API are documented in detail on the Case data statuses page and Service type/categories page. Be sure to use the IDs when processing API responses and interacting with the API.
Pending Status applicablity matrix
WhilestatusId remains pending, the pendingStatusId field communicates where in the workflow a service is — for example, pending-status-scheduled when an OHS appointment has been booked, or drugtest-sent when a specimen has been shipped to the lab. Long-running services (especially OHS Drug Screening, TB testing, and Vaccination) progress almost entirely through changes to pendingStatusId while statusId stays pending, so consumers that only watch statusId will miss most of the lifecycle.
Notes:
- See Pending status for the complete enumeration of pending statuses.
- If a service type/category/subcategory does not appear in the Pending Status applicablity matrix above, it means that it does not have any pending substates.
- The service type/category names shown in the Pending Status applicability matrix above are human-friendly names; the canonical service type/category IDs used in the API are documented in detail on the Service type/categories page. Be sure to use the IDs when processing API responses and interacting with the API.
Integration guidance
- Subscribe to
casedata.statuschange. Long-running services (especially OHS Drug, TB skin test, Vaccination) communicate progress almost entirely throughpendingStatusIdwhilestatusIdremainspending. PollingstatusIdalone will miss most of the lifecycle. - Treat
(statusId, pendingStatusId)as a tuple. A terminalconsidercarries different meaning when paired withdrugtest-expiredversuspending-status-no-showversus a real positive lab result. The pending substate is preserved on terminal records for exactly this reason. - Use the right “passed” terminal per category. Criminal/MVR/IDV pass with
clear. Verification, Professional License, and most OHS services pass withacknowledge. Payment passes withcomplete. A singlestatusId === 'clear'check is not portable across all services. - Account for non-monotonic transitions. A service can move backwards (for example,
pending-status-scheduled→pending-status-canceled→pending-status-requested) and a terminal status can be re-opened topendingif a result is contested or new information arrives. Build for idempotent processing ofcasedata.statuschangeevents. not_foundis not a failure. It means the source could not produce a record. Treat it as a distinct outcome fromconsiderin your adjudication flow — many customers routenot_foundto manual review rather than auto-decline.- If you are going to generate a Custom Report for a service (or set of services), do so only once the service(s) has reached a terminal status.
Lifecycles by service category
The following sections describe the lifecycle for each category. Substates listed in parentheses are pending substates that can accompanypending (or, where noted, a terminal status).
Identity Verification (service-cat-idv)
Includes SSN trace, SSN validation, CBSV, IDV document/liveness, Death Master, and social media services. Most identity services are “instant” and return a terminal status quickly with no pending substate.
| Reachable status | Typical meaning |
|---|---|
pending | Identity check submitted to the vendor. |
clear | Identity confirmed; no discrepancies. Terminal. |
consider | Discrepancy detected (failed liveness, SSN mismatch, etc.). Terminal. |
not_found | No matching record could be located (rare; specific to SSN/DMF-style services). Terminal. |
canceled | Service was not performed. Terminal. |
Criminal Check (service-cat-criminal)
Includes county, state, federal, and national criminal searches, civil searches, sex offender registries, FACIS, and global watchlists. These services typically run against multiple jurisdictions and can take several days to complete but do not use pending substates.
| Reachable status | Typical meaning |
|---|---|
pending | Search is in progress, including any per-jurisdiction sub-searches. |
clear | No actionable records were found in any searched jurisdiction. Terminal. |
consider | One or more jurisdictions returned records that require customer adjudication. Terminal. |
canceled | Search was not performed. Terminal. |
Note on multi-jurisdiction searches. County, state, and federal criminal searches may run against multiple jurisdictions. Each jurisdiction has its own sub-status (
clear, consider, pending, canceled) inside the case data details payload, but the top-level statusId is the authoritative roll-up that customers should adjudicate against. Records that are still being reviewed internally before being released to the customer will keep the top-level statusId at pending until review completes.Criminal searches do not use
not_found — a search that returns no records is clear, not not_found.Motor Vehicle Record Check (service-cat-mvr)
| Reachable status | Typical meaning |
|---|---|
pending | DMV query in progress. |
clear | Driving record returned; no actionable violations. Terminal. |
consider | Violations or restrictions on the record require review. Terminal. |
not_found | License number could not be matched in the DMV system. Terminal. |
canceled | Service was not performed. Terminal. |
Verification (service-cat-verification)
Includes employment and education verification services. These services typically involve outreach to a third party and can have a longer pending lifecycle but do not have pending substates.
| Reachable status | Typical meaning |
|---|---|
pending | Verification request submitted; awaiting response from the verifier or institution. |
acknowledge | Verification confirmed positively — credential matches what the candidate provided. Terminal. |
consider | Verifier responded but information differs from what the candidate provided. Terminal. |
not_found | The institution or employer could not be reached, or the candidate’s record could not be located. Terminal. |
canceled | Verification was not performed. Terminal. |
For verification services,
acknowledge — not clear — is the canonical “passed” terminal. Customers building credential validity checks should treat acknowledge and consider (with reviewer-approved discrepancies) as the valid terminals.Professional License (service-cat-pro-lic)
Professional License and Certification verification services do not use pending substates.
| Reachable status | Typical meaning |
|---|---|
pending | License lookup in progress. |
acknowledge | License located, in good standing, and matches candidate-provided data. Terminal. |
consider | License is expired, suspended, has disciplinary action, or shows a discrepancy. Terminal. |
not_found | License could not be located with the issuing authority. Terminal. |
canceled | Service was not performed. Terminal. |
As with Verification,
acknowledge is the canonical “passed” terminal for Professional License services.Occupational Health Screening (service-cat-ohs)
OHS services share the same case data status model, but each subcategory has its own full lifecycle shape and is documented with a standalone diagram below.
Common OHS patterns across subcategories:
- Services start in
pendingand usually progress through one or more pending substates before reaching a terminal status. - Most OHS subcategories use the
pending-status-*scheduling family, while Drug Screening uses thedrugtest-*pending substate family. - Terminal outcomes vary by subcategory (for example,
acknowledge,clear,consider,not_found,canceled). - A terminal
considermay carrypending-status-no-showorpending-status-refusal, and a terminalcanceledmay carrypending-status-not-performed.
Physical (service-subcat-physical)
Includes DOT physicals, fit-for-duty exams, and respirator clearance.
acknowledge is used when a physical is affirmatively pass/fit (e.g., DOT physical fit-for-duty). clear may be used for portion-style sub-exams that have a simple pass/fail. consider indicates findings the customer needs to review (including no-show or refusal, surfaced via the pending substate).Tuberculosis (service-subcat-tb)
TB tests have two distinct lifecycle shapes depending on the test type:
- TB skin test (PPD) is a two-visit test. After placement, the case data transitions to
pending / pending-status-suspended(“Waiting for TB Read”) while the candidate returns 48–72 hours later for the read. Final terminal isacknowledge(negative read),consider(positive/equivocal), orcanceled. - TB blood (QuantiFERON, T-Spot) and TB chest X-ray follow the standard OHS scheduling preamble and produce
acknowledge/consider/clear/canceledwithoutpending-status-suspended.
Titer (service-subcat-titer)
acknowledge indicates an immune titer. consider indicates a non-immune or equivocal result and typically triggers a follow-up vaccination order. not_found is rare and indicates the specimen could not be processed.Vaccination (service-subcat-vacc)
Vaccination services may require multiple doses spread over weeks or months. Between doses, the case data may surface a partial-style state:
Integrations that surface vaccination progress to customers should treat
pending / pending-status-partial as a long-lived intermediate state and only consider the service finalized when it transitions out of pending.Drug Screening (service-subcat-drug)
Drug screenings use the drug-specific pending substates rather than the generic OHS ones:
A terminal
consider may carry drugtest-expired, pending-status-no-show, or pending-status-refusal to explain the outcome. Drug screenings do not use acknowledge or not_found.Document Processing (service-cat-document-processing)
Document Processing services do not use pending substates.
| Reachable status | Typical meaning |
|---|---|
pending | Document extraction/processing is in progress. |
complete | Processing finished successfully with no additional review required. Terminal. |
consider | Processing completed but extracted output requires review or follow-up. Terminal. |
canceled | Service was not performed. Terminal. |
Payment (service-cat-payment)
Payment services do not use pending substates and have no pass/fail interpretation.
| Reachable status | Typical meaning |
|---|---|
pending | Payment authorization in progress. |
complete | Payment captured successfully. Terminal. |
canceled | Payment was not attempted or was voided. Terminal. |
Shipment (service-type-shipment)
Shipment services do not use pending substates and have no pass/fail interpretation.
| Reachable status | Typical meaning |
|---|---|
pending | Shipment workflow is in progress. |
complete | Shipment workflow completed successfully. Terminal. |
canceled | Shipment was not performed or was voided. Terminal. |
Legal (service-type-legal)
Legal services are consent/authorization workflows and do not use pending substates and have no pass/fail interpretation.
| Reachable status | Typical meaning |
|---|---|
pending | Candidate legal authorization/disclosure flow is in progress. |
acknowledge | Candidate completed the legal authorization/disclosure flow. Terminal. |