What you’ll have at the end: a finished fileForensics run on one of your files, with a per-check verdict you can act on.
You need: an API key and the fileId of a file already stored in your workspace. Don’t have one yet? Run the API quickstart first; its last step gives you a fileId. To check files as you upload them instead, see Turn it on.
1

Set your key

On a regional workspace, use your regional host.
2

Start a run

Choose which checks to run in spec_filter. These three cover the common cases for scanned images and PDFs:
The request returns 202 Accepted straight away:
202 Accepted
3

Poll until it finishes

fileForensics has no callback, so poll the poll_url:
Stop when status is complete or error. Results appear under forensics as each check reports. If a run never finishes, see Retry a stuck run.

Read the result

Illustrative: shape from the API reference. Fields beyond status and value vary by check.
GET /v1/forensics/runs/eebb50fee5b1
Read each check’s status, not just the run’s: a complete run can still contain an issue. The 18 file checks under checks come with every run that includes a forensic check; two are shown here. In this example, copy_move found cloned regions in the image, so the file should go to a reviewer before its data is used. magic_byte reports found because the file signature matches its type.

What to try next

Checks & results

All 55 checks, from file metadata to integrity questions.

KYC checks

Choose checks per document and route on the result.

Run fileForensics from your assistant

The MCP server exposes run_file_forensics.

Retries and stuck runs

What to do when a run doesn’t finish.