---
title: "Get forensic report detail"
method: GET
path: "/api/v1/forensic-reports/{id}"
tags: ["Forensic Reports"]
---

# Get forensic report detail

`GET /api/v1/forensic-reports/{id}`

## Request

- Base URL: `https://api.dmarc-examiner.com`
- URL: `https://api.dmarc-examiner.com/api/v1/forensic-reports/{id}`
- Auth: API key in header `X-API-Key`

## Path parameters

- `id` string, uuid, required

## Response `200`

Forensic report with original headers

- ForensicReportDetail
  - `id` string, uuid, required
  - `domain` object
    - `id` string, uuid, required
    - `name` string, required
  - `source_ip` string, required
  - `original_mail_from` string, nullable
  - `reported_domain` string, required
  - `auth_failure` 'dmarc' | 'spf' | 'dkim', required
  - `delivery_result` string, nullable
  - `dkim_result` string, nullable
  - `spf_result` string, nullable
  - `arrival_date` string, date-time, required
  - `created_at` string, date-time, required
  - `original_rcpt_to` string, nullable
  - `dmarc_result` string, nullable
  - `authentication_results` string, nullable
  - `subject` string, nullable
  - `reporter_name` string, nullable
  - `original_headers` string, nullable: Decoded original message headers (when available).
  - `geo` object, nullable: Geolocation lookup of `source_ip` (provider-shaped object; may be null if lookup failed).

## Other responses

- `401`: Authentication failed. Two shapes are possible depending on cause: - **Invalid or revoked key** — body is `{"message": "..."}` only. - **Missing `X-API-Key` header** — body adds an `error: "unauthorized"` machine-readable code. Clients should treat both as the same outcome and read `message` for display.
- `403`: The organization's current plan does not include the feature required by this endpoint (e.g. `apiAccess`, `forensicReports`, `advancedAlerts`). Distinct from `PlanLimitExceeded` (HTTP 402), which signals a *quota* exhausted on a feature the plan does include. If a customer downgrades to Free, all `/api/v1/*` requests will start returning this response.
- `404`: Resource not found.
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/dmarc-examiner/apis/dmarc-examiner-api.md) · [All operations](https://skmtc.dev/dmarc-examiner/apis/dmarc-examiner-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dmarc-examiner/apis/dmarc-examiner-api/revisions/92f3f57969f5?raw)
