Verification and authenticity
Cross-document verification and per-document authenticity reports.
Verification analyses documents that have already been processed. It does not re-process them: it reads the fraud detection and extraction data computed during the original upload, which is why it returns quickly and costs nothing extra.
There are two shapes:
- Cross-document (
POST /verify) compares 2 to 50 documents against each other, running 34 cross-checks including name consistency, income-to-deposit matching, employer verification and financial cross-references. - Single document (
POST /verify/single) returns the full fraud and authenticity report for one document.
Reading the scores
Both reports score 0 to 100, and risk_level buckets that score:
risk_level | Score |
|---|---|
low | 80 and above |
medium | 50 to 79 |
high | below 50 |
A score is evidence, not a verdict. signals carries the individual findings
with a severity and a confidence, and status says whether each one reads as
good or as a concern. Route on the signals you care about rather than on the
headline number alone.
An authenticity signal is not proof of fraud
These checks surface documents worth a human look. Image and file properties can look edited for innocent reasons: a scan re-saved by a phone app, a PDF re-exported by a bank's own portal.
Custom cross-checks
Organizations with custom cross-check rules have those rules applied automatically, and they appear alongside the standard signals.
Workflow
Process the documents first, then verify them together.
To keep a group of documents together across calls, see Applicants.
Endpoints
Full request and response detail, including every report field, is in the Verification reference.

