---
title: "Get Scan Detail"
method: GET
path: "/api/v1/report-ai/trend-scans/{scan_id}"
tags: ["report-ai", "trend-scans"]
---

# Get Scan Detail

`GET /api/v1/report-ai/trend-scans/{scan_id}`

Get scan detail with non-routine trends and a routine summary.

## Path parameters

- `scan_id` string, uuid, required

## Response `200`

Successful Response

- ScanDetailResponse
  - `scan` TrendScanRunRead, required
    - `id` string, uuid, required
    - `tenant_id` string, uuid, required
    - `report_agent_id` string, uuid, required
    - `report_agent_name` string, nullable
    - `window_start` string, date-time, required
    - `window_end` string, date-time, required
    - `status` 'running' | 'completed' | 'failed', required — Lifecycle status of a trend scan run.
    - `current_stage` string, nullable, required
    - `triggered_by_user_id` string, uuid, nullable, required
    - `started_at` string, date-time, required
    - `completed_at` string, date-time, nullable, required
    - `total_eligible_investigations` integer, required
    - `total_investigations_scanned` integer, required
    - `excluded` object, nullable, required
    - `cached_tag_count` integer, required
    - `fresh_tag_count` integer, required
    - `total_trends_found` integer, required
    - `tagger_version` string, required
    - `error_message` string, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `trends` TrendRead[], required
    - `id` string, uuid, required
    - `tenant_id` string, uuid, required
    - `scan_run_id` string, uuid, required
    - `report_agent_id` string, uuid, required
    - `category` 'demand_revenue' | 'guest_experience' | 'service_operations' | 'loyalty_retention' | 'routine_informational', required — The 5 hospitality categories for trend classification.
    - `sub_topic` string, required
    - `title` string, required
    - `headline` string, required
    - `narrative` string, required
    - `suggested_action` string, nullable, required
    - `citation_sets` object, nullable, required
    - `occurrence_count` integer, required
    - `unique_customer_count` integer, required
    - `anonymous_count` integer, required
    - `cross_channel_guest_count` integer, required
    - `channel_breakdown` object, required
    - `time_series` object[], required
    - `flags_summary` object, required
    - `agent_gap_share` number, required
    - `properties` object, nullable, required
    - `confidence` number, required
    - `first_seen_at` string, date-time, required
    - `last_seen_at` string, date-time, required
    - `first_detected_at` string, date-time, nullable, required
    - `recurrence` object, nullable, required
    - `delta` object, nullable, required
    - `suppressed_by_feedback` boolean, required
    - `boosted_by_feedback` boolean, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `routine_summary` RoutineSummary, required
    - `count` integer, required
    - `sub_topic_summary` string, required

## Other responses

- `404` — Scan not found
- `422` — Validation Error

## Changes

> 26 revisions in range; 1 not diffed.

- **2026-09-03** `d65b8fefae34` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Change history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/report-ai/trend-scans/:scan_id/get.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getanana/apis/cleon-api/revisions/4df7b22a7dae?raw)
