What cases are, how they move through their lifecycle, and how to review them

Cases


A case is the unit of work in 9thSense. Each case represents one verification run for one subject — a loan applicant, an onboarding customer, an insurance claimant. Every document upload, tool execution, and reviewer decision is attached to a case and permanently logged.


Lifecycle

Cases move through four states:

collecting → processing → review → completed
StateWhat it means
collectingWaiting for required documents. The agent's goal_rules define which documents are needed.
processingDocuments received; the agent pipeline is running (classify → extract → validate → score).
reviewProcessing done; a human reviewer must approve or reject before the case closes.
completedFinal verdict recorded. The case is immutable and available for audit.
📝

Not all agents require a review step. An extraction-only agent (Level 1) can move directly from processing to completed if all validations pass and the risk score is below your threshold.


Cases list showing status filter chips, search bar, and case rows with Case ID, Agent, Source, Status, and Updated columnsCases list showing status filter chips, search bar, and case rows with Case ID, Agent, Source, Status, and Updated columns


Creating a case

Go to Cases → New Case

Click the + New Case button in the top right of the Cases list.

Select an agent

Choose the deployed agent that should process this case (e.g. kyc_individual, bank_statement_v2). Only deployed agents appear in this list.

Add subject metadata

Enter the subject's reference ID and any custom attributes your agent expects (e.g. applicant_name, loan_id). These fields are defined per-agent and appear dynamically.

Upload documents

Drag and drop documents into the upload area, or click Upload. You can upload multiple files at once. The agent's classifier runs immediately and assigns each file to the correct document type.

Submit

Click Submit. The case moves to processing. You can close the page — the agent runs asynchronously. You'll receive a webhook event when it completes if one is configured.


Viewing a case

Click any row in the Cases list to open the case detail view. The detail view has four tabs:

Case detail drawer showing Case ID, Agent, Status, Created date, and Document Progress section with required document typeCase detail drawer showing Case ID, Agent, Status, Created date, and Document Progress section with required document type

Overview tab

Shows the case summary — current state, agent used, subject reference, opened and completed timestamps, and the final goal outcome (e.g. APPROVED, REJECTED, REVIEW_REQUIRED).

Documents tab

Lists every document attached to the case. For each document you can see:

  • The document type it was classified as
  • Extracted fields and their values
  • Any validation failures
  • The risk score and any fraud-check verdicts recorded for it

Click View next to any document to open the full extraction result in a side panel.

Executions tab

A chronological log of every step the agent ran — classification, extraction, validation, fraud and risk checks, webhook deliveries. Each execution shows:

  • Step name and parameters
  • Result and status (completed / failed)
  • Latency in milliseconds
  • Token counts (for AI-backed steps)

This is your primary debugging surface.

Messages tab

For Level 2 (conversational) agents, every message exchanged between the agent and the subject appears here in chronological order, alongside the documents they triggered.


Reviewing a case

When a case reaches the review state, it appears in the Cases → Pending Review queue. Open the case and scroll to the Review panel at the bottom.

Read the agent summary

The agent provides a structured summary of what it found — extracted fields, validation results, and the risk score — with the key signals highlighted.

Check documents

Switch to the Documents tab to inspect individual extractions. Click any document to see the extracted fields next to the original file.

Record your decision

Select Approve or Reject. Add a mandatory review note explaining your decision (required for audit compliance). Click Submit Review.

The case moves to completed. Your decision and note are stored in the audit log and cannot be changed.

A submitted review is permanent. If you made a mistake, open a new case for the same subject — do not edit the completed one.


Filtering and searching

The Cases list supports:

  • Status filter — show only collecting, processing, review, or completed cases
  • Agent filter — narrow to cases run by a specific agent
  • Date range — filter by case open date
  • Search — search by subject reference ID or case ID

Export

Click Export CSV in the top-right of any filtered Cases view to download the visible rows. The export includes case ID, subject reference, agent name, status, open date, and completion date.


Programmatic access

Use the REST API to create and query cases without the dashboard:

# Create a case
curl -X POST https://api.9thsense.ai/v1/cases \
  -H "X-Api-Key: zk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"agent_goal": "kyc_individual", "subject_ref": "CUST-001"}'

# Get case status
curl https://api.9thsense.ai/v1/cases/{case_id} \
  -H "X-Api-Key: zk_live_..."

See the Cases API reference for the full endpoint list.