All three schemas are normalized into the same internal format before compliance rules are applied. The response structure is identical regardless of which XML schema was submitted.
ScreeningResults
Root element:<ScreeningResults>
The most common format. Criminal cases are listed under <postResults>, with each case containing charge information, defendant details, and case metadata.
Structure overview
Key elements
Accepted variations
The parser also handles:<xml><ScreeningResults>...</ScreeningResults></xml>(nested in an outer wrapper)<xml><postResults>...</postResults></xml>(direct case listing without the ScreeningResults wrapper)- Multiple
<postResults>blocks (one per court search) - Multiple
<chargeinfo>blocks within a single<case> - Single
<chargeinfo>(not wrapped in an array)
BackgroundReportPackage
Root element:<BackgroundReportPackage>
A more structured format that groups screening results by type, with detailed subject identification blocks per case.
Structure overview
Key elements
OrderXML
Root element:<OrderXML>
An order-centric format where criminal results are nested within order details. Cases are represented as records with individual charge counts.
Structure overview
Key elements
How XML Schemas Map to the API
Regardless of which schema you submit, the service normalizes the data into the same internal structure. The mapping works like this:
You do not need to pre-process or convert between formats. Send the XML as-is in the
record.xml field, and the service handles detection and parsing automatically.
Alternative: JSON Resubmission
For resubmissions with corrected data, you can bypass XML entirely and send pre-processed criminal data as JSON usingrecord.record_json. See Resubmission Workflow and the record_json reference for the JSON structure.
Related
- How It Works — Step-by-step processing flow
- Evaluate Endpoint — Full API reference including
record.xmlfield - Resubmission Workflow — JSON resubmission path
