Statuses & Lifecycle

RiskOS™ uses statuses to track where an entity is in its lifecycle and decisions to track what action to take. These are distinct runtime concepts that operate independently.

A case can have a REVIEW decision and an Open status with an "In Review" sub-status simultaneously. The decision says why the case exists; the status says where it is in the review process.

Evaluation lifecycle

The eval_status field on an evaluation tracks its runtime state:

POST /api/evaluation

Decision reached

Async step reached

User action / PATCH data update

PUT state (set decision)

Unrecoverable error

evaluation_in_progress

evaluation_completed

evaluation_paused

terminated

failed
eval_status value Description How it transitions
evaluation_in_progress Workflow is actively executing steps Automatic — moves to evaluation_completed or evaluation_paused
evaluation_paused Workflow is waiting for user action (OTP, DocV) External — user completes action, or API PATCH resumes/ends
evaluation_completed Workflow ran to completion and returned a decision Terminal state

You can end a paused evaluation by setting a decision via PUT /api/evaluation/{eval_id}/state. The workflow_execution_failed webhook event indicates an unrecoverable error during execution.

Evaluation status vs decision

Concept Question Values Set by Mutable
Evaluation status (eval_status) "Where is this evaluation in execution?" evaluation_in_progress, evaluation_paused, evaluation_completed Runtime engine Yes — transitions automatically or via API
Decision "What action should be taken?" ACCEPT, REJECT, REVIEW, custom Workflow step or human reviewer Yes — reviewer can change via Case Management

Workflow lifecycle

A workflow configuration moves through these states:

Create workflow

Publish

Set live

Remove from live

Create minor version

Duplicate (major version)

Delete

Draft

Published

Live

Deleted
Workflow state Description Can be edited Processes evaluations
Draft Initial state. Can be edited and tested. Yes No
Published Frozen configuration. Can be tested but not edited directly. No No
Live Actively processes evaluations via the Evaluation API. No Yes
Deleted Removed. Cannot be restored. No No

Workflow modes

Live workflows can operate in different modes:

Mode Description
Live Processes production evaluations and returns real decisions
Shadow Processes evaluations in parallel without affecting the live decision
A/B (Champion-Challenger) Splits traffic between two workflow versions to compare performance

Case lifecycle

A case tracks the post-decision review process:

Evaluation routes to Manual Review

Pending information

Information received

Decision made

Open

OnHold

Closed

RiskOS™ defines three top-level case statuses:

Case status Description
Open Newly created, awaiting assignment or review
On Hold Paused pending additional information or action
Closed Final decision made, case resolved

Each status supports sub-statuses that are fully customizable per organization. For example, the default sub-status for an Open case is "In Review." Organizations can configure additional sub-statuses such as "Escalated", "Pending Documents", or any label that fits their review workflow.

Case status vs decision

Concept Example combination Meaning
Decision = REVIEW, Status = Open Case created, awaiting reviewer assignment
Decision = REVIEW, Status = Open, Sub-status = "In Review" Reviewer is actively investigating
Decision = ACCEPT, Status = Closed Reviewer accepted, case resolved
Decision = REJECT, Status = Closed Reviewer rejected, case resolved

Webhook events and lifecycle transitions

Lifecycle transitions generate webhook events:

Event Lifecycle transition
evaluation_paused Evaluation: evaluation_in_progress → evaluation_paused
evaluation_completed Evaluation: evaluation_in_progress → evaluation_completed (or evaluation_paused → evaluation_in_progress → evaluation_completed)
workflow_execution_failed Evaluation encountered an unrecoverable error during execution
decision_update Case: reviewer changes the decision
case_status_updated Case: status or sub-status changes
review_case_assigned Case: reviewer assigned
review_case_unassigned Case: reviewer removed
fraud_confirming Case: marked as fraud or non-fraud

Related concepts

Updated 16 days ago