- Per-charge routing. Each charge is scored on Reportability and Identity Match and assigned a
routing.queue. - Hierarchical rollup. Charge-level queues bubble up into
case_queue,court_queue, and the top-levelsearch_queueusing a fixed precedence.
Queue Categories
Every queue field in the response — per-chargerouting.queue, case_queue, court_queue, and search_queue — uses these values:
Charge-Level Routing Matrix
Routing is driven by whether the identity matches the candidate (id_match.is_match) and the charge’s reportability:
Overrides
Exclusion Filter: If anycited_rules entry contains EXCLUSION_FILTER, the charge is forced to Not Reportable and routed directly to Automation, bypassing the matrix.
Validation Issues: Data-quality issues at candidate, case-subject, case, or offense level (surfaced in the response under validation.issues.errors) can force identity or reportability to Not Enough Info, routing the charge to Insufficient Data.
Per-Charge Routing Fields
Each charge in the response includes arouting object:
Hierarchical Queue Rollup
In addition to the per-chargerouting.queue, the response surfaces aggregated queues at each level of the decision hierarchy:
Precedence
Rollup uses this fixed precedence (highest priority first):Insufficient Data— if any child queue isInsufficient Data, the parent isInsufficient DataAuditor— otherwise, if any child queue isAuditor, the parent isAuditorAutomation— parent isAutomationonly when every child isAutomation
Insufficient Data. A single charge needing audit is enough to escalate the whole case. The full search rolls up to Automation only when there is nothing that needs human eyes anywhere in the record.
Worked example
A search with three charges:
…rolls up to
case_queue: Auditor → court_queue: Auditor → search_queue: Auditor.
If charge C is instead Insufficient Data, the whole search becomes search_queue: Insufficient Data.
If all three charges are Automation, the search rolls up to search_queue: Automation.
Use the per-charge
routing.queue to drive per-offense behavior in your system. Use case_queue, court_queue, or search_queue when you need a single workflow decision at the case, court, or whole-search level without iterating over every charge.