Status
completed means the verdict is in. expired means nobody finished the capture in time.
Verdict
Signals
Ask for them withsignals_required when you create the verification.
A photo that was uploaded from the gallery instead of captured live reports
{ "status": "not_applicable", "reason": "uploaded_content" } on the checks that need a live camera. That is never a failure.
Extra checks
Each one is switched on by a field at creation and comes back next to the verdict, never inside it.
Set
expected_object or condition_aspects on an image step instead of the whole verification and the result comes back per step: object_matches.<key> and condition.steps.<key>, with the overall object_match and condition summarizing them.
Live capture vs audit
A verification is a photo taken live, right now, through the link or an SDK. Its verdict is backed by the device. An audit ("mode": "audit") analyses a photo you already have. Same response shape, but no device stood behind it: read the label as a strong signal, not as proof. Audit uploads go through the SDKs, which are available by request — write to ulises@rial.io.