Image Forensics is an optional feature gated on the Fraud Detection client
feature. It is enabled per client by ValueChecker. Endpoints on this page
return a Status 403 when the feature is not enabled for your client.
How it works
Forensics runs automatically on the images attached to the appraisals of a cart (client_reference) as part of creating the claim. Each analyzed image receives
two independent verdicts, each with its own confidence score (0–1):
- AI generated — whether the image appears to be synthetically generated.
- Digitally manipulated — whether the image appears to have been edited.
When the manipulation is localized, the result also carries the bounding
boxes (regions) of the detected edits, normalized to the
[0, 1]range.
Analyze a single image
Statelessly analyze one image and get the verdicts back directly. This does not require a cart or an appraisal — pass the image as a publicly reachable URL or a base64-encoded string, and the response returns both verdicts, their confidences, and (when manipulated) the detected edit regions.Cart progress
Poll the aggregate forensics state of a whole cart. This is the progress indicator only — it reports whether analysis is still running, has finished with flagged images, or is clear. The verdicts themselves are returned by the per-image results endpoints, not here.The cart stays
in_progress while its images are still being processed and
only settles once every image has been analyzed — so a transition away from
in_progress is the reliable “forensics done” signal. in_progress takes
precedence over has_flagged_images.Per-image results
Fetch the per-attachment status and verdict so you can show the outcome for each image. Request the results for a single appraisal (scoped via theappraisal_id query parameter), or fetch the whole cart at once keyed by
appraisal_id.
Each attachment entry carries its processing status, the two verdicts with
their confidences, the detected regions (when manipulated), and a flagged
value telling you whether the verdict was confident enough to mark the image.
The file_name matches the one in the appraisal’s
attachments array, so
you can pair a verdict with the image it belongs to.
Results are stored per claimed item rather than per appraisal, so appraisals
created from the same claimed item share the same attachments and therefore
the same verdicts. Appraisals with no analyzed attachments are omitted from
the whole-cart response (an absent key means “no results”, the same as an
empty list from the per-appraisal endpoint).