POST
Start a forensics run on a stored file
Request · Response · Guide: fileForensics
spec_filter names the forensics to run (see the schema for the full list, e.g. web_presence, ai_gen_detection, copy_move). Each result lands under forensics.{key} on GET; web_presence reports whether the image is present on the web from the file metadata (layer1) and a reverse-image search (layer2), the other detectors report FileMap’s own fields.Always returns 202 Accepted with a run_id; poll GET /v1/forensics/runs/ until status is complete or error. Web presence can take up to ~180 seconds. A run still queued or running after ~6 minutes is stuck — retry it via POST /v1/forensics/runs//retry. DELETE the run once you have the result; the file itself is not affected.

Authorizations

x-api-key
string
header
required

API key for authentication

Body

application/json
file_id
string
required

Public file id (fileId from the v1 file routes).

Maximum string length: 128
spec_filter
enum<string>[]
required

Which FileMap detectors to run. Forensics results land under forensics.{key} on GET; layout_parse lands under mapping.layout_parse (FileElements). Required so a key added later cannot silently change what an existing caller runs. Available: web_presence (Web presence), ai_gen_detection (AI-generated image detection), ai_text_detection (AI-generated text detection), copy_move (Copy-move (cloned region) detection), exact_duplicate (Exact duplicate of a previously seen file), provenance_credentials (Content credentials (C2PA)), generation_toolchain (Creation tools inferred from metadata), producer_divergence (Per-page producer divergence), encryption_permissions (Encryption and permissions), active_content (Active content (scripts, launch actions)), digital_signature (Digital signature), attachments (Embedded attachments), revision_history (Revision history), magic_byte (Magic bytes vs declared type), polyglot (Polyglot file), trailing_data (Trailing data after end of file), entropy (Entropy anomalies), ai_pdf_detection (AI-generated PDF detection), ai_office_detection (AI-generated Office document detection), heatmap (Classifier attention heatmap), document_integrity_decisions (Document integrity decisions), layout_parse (FileElements / layout parse).

Available options:
web_presence,
ai_gen_detection,
ai_text_detection,
copy_move,
exact_duplicate,
provenance_credentials,
generation_toolchain,
producer_divergence,
encryption_permissions,
active_content,
digital_signature,
attachments,
revision_history,
magic_byte,
polyglot,
trailing_data,
entropy,
ai_pdf_detection,
ai_office_detection,
heatmap,
document_integrity_decisions,
layout_parse
Example:

Response

Run accepted and queued.

run_id
string
required
Example:

"eebb50fee5b1"

file_id
string
required
spec_filter
enum<string>[]
required
Available options:
web_presence,
ai_gen_detection,
ai_text_detection,
copy_move,
exact_duplicate,
provenance_credentials,
generation_toolchain,
producer_divergence,
encryption_permissions,
active_content,
digital_signature,
attachments,
revision_history,
magic_byte,
polyglot,
trailing_data,
entropy,
ai_pdf_detection,
ai_office_detection,
heatmap,
document_integrity_decisions,
layout_parse
Example:
status
enum<string>
required
Available options:
queued
Example:

"queued"

poll_url
string<uri-reference>
required

URL of GET /v1/forensics/runs/{run_id}.

created_at
string<date-time>
required