---
title: "Get Forensic Detail"
method: GET
path: "/api/investigate/{investigation_id}/forensic/{filename}"
---

# Get Forensic Detail

`GET /api/investigate/{investigation_id}/forensic/{filename}`

## Request

- Base URL: `https://api.gethesperai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.gethesperai.com/api/investigate/{investigation_id}/forensic/{filename}`
- Auth: none declared

Fetch the full NineNine forensic document for one file in a case.

Always prefers a live NineNine fetch so we get fresh page_images_urls,
signed_url, and the latest analysis blob. Falls back to whatever was
persisted in per_file[].analysis if NineNine 404s.

Filenames are not unique within a claim, so `i` (the file's ord in
investigation.files) disambiguates duplicates. It is only trusted when it
points at a file with the routed filename; otherwise resolution falls back
to the legacy first-filename-match behavior.

By default the large Deep Scan / heatmap base64 blobs are stripped for a
fast first render; pass `include_assets=true` to get them when a toggle is
activated.

## Path parameters

- `investigation_id` string, required
- `filename` string, required

## Query parameters

- `include_assets` boolean
- `i` integer, nullable

## Headers

- `X-Team-Id` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/gethesperai/apis/hesper-ai-claims-investigator.md) - [All operations](https://skmtc.dev/gethesperai/apis/hesper-ai-claims-investigator/llms.txt) - [OpenAPI document](https://skmtc.dev/gethesperai/apis/hesper-ai-claims-investigator/revisions/1a031ee6acf1?raw)
