Retrieve results of an asynchronous validation job. Poll this endpoint until status is done or failed.
Request Body
Job ID to retrieve results for
Response
Unique identifier for the validation job
Job status: started, in_progress, done, or failed
ISO 8601 UTC timestamp when the job was created. Present from the initial started status onward.
ISO 8601 UTC timestamp of the current status snapshot.
Overall compliance assessment (when done): approved, needs_changes, or do not send. Note: the do not send value contains spaces — this matches the API response exactly.
Summary of violations by severity Count of critical severity violations
Count of major severity violations
Count of medium severity violations
Count of minor severity violations
Number of pages in the document
Number of lines with at least one compliance violation. Absent for older jobs or when only grouped fixes exist.
Number of lines with no violations. Absent for older jobs or when only grouped fixes exist.
Total number of lines in the document. Absent for older jobs or when only grouped fixes exist.
True when more than one fix is found, suggesting a re-scan after applying all fixes.
One entry per violating line, with all rules violated and the best fix. Absent for older jobs or when only grouped fixes exist. Present but empty for fully compliant documents. Show LineViolation properties
1-indexed line number in the document
The text content of the violating line (trimmed)
Character offset of the best fix’s original text start
Character offset of the best fix’s original text end
Page number where the violation appears
Number of distinct rules violated on this line
All rules violated on this line, sorted by severity then confidence Name of the compliance rule
Regulatory citation (e.g., FINRA 2210(d)(1)(B))
Severity level: Critical, Major, Medium, or Minor
Fix action: replace, insert_after, remove, or warning
The recommended fix for this line (from the highest-severity, highest-confidence rule) Severity level of the violation
Name of the compliance rule
Fix action: replace, insert_after, remove, or warning
The replacement text (null when action is remove or warning)
Human-readable description of the fix action
Individual fix entries (rule-centric, one per violation per quote)
Grouped fixes for rules that aggregate across pages
Document metadata used for scenario matching
Error message (when status is failed)
Job Status Values
Status Description startedJob created and queued for processing in_progressValidation in progress doneValidation completed successfully failedValidation failed with error
Overall Status Values
Status Description approvedDocument passes compliance checks needs_changesDocument has violations that should be addressed do not sendDocument has critical violations and should not be distributed
Processing
Completed
Failed
{
"job_id" : "abc123def456" ,
"status" : "in_progress" ,
"started" : "2026-01-08T10:30:00Z" ,
"timestamp" : "2026-01-08T10:30:15Z"
}
Example
curl -X POST "https://{api-url}/api/validate_stream_result/" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_id": "abc123def456"}'