---
title: "Get a scan"
method: GET
path: "/api/v1/scans/{scan_id}"
tags: ["scans"]
---

# Get a scan

`GET /api/v1/scans/{scan_id}`

## Request

- Base URL: `https://api.sytecheck.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sytecheck.app/api/v1/scans/{scan_id}`
- Auth: HTTP bearer

Return one scan with its per-category results and screenshot URLs.

Poll this to follow progress: `status` moves `queued` → `scanning` →
`summarizing` → `complete`, or to `failed`. Screenshot URLs are pre-signed and
short-lived — fetch them promptly rather than storing them.

Answers `404` for a scan that does not exist **and** for one belonging to another
account, so scan ids cannot be enumerated.

## Path parameters

- `scan_id` integer, required

## Response `200`

Successful Response

- ScanDetailResponse: Scan detail — includes per-category results, score breakdown, and screenshots.
  - `id` integer, required
  - `url` string, required
  - `label` string, nullable, required
  - `status` 'queued' | 'scanning' | 'summarizing' | 'complete' | 'failed', required
  - `categories_requested` string[], required
  - `overall_score` number, nullable, required
  - `error_message` string, nullable
  - `webhook_url` string, nullable
  - `quota_refunded_at` string, date-time, nullable
  - `used_scan_credit` boolean
  - `created_at` string, date-time, required
  - `completed_at` string, date-time, nullable, required
  - `results` ScanResultResponse[], required
    - `category` string, required
    - `status` 'pass' | 'warn' | 'fail' | 'error' | 'blocked', required
    - `score` number, nullable, required
    - `raw_result` object, nullable, required
  - `screenshots` ScreenshotResponse[]
    - `breakpoint` 'mobile' | 'tablet' | 'desktop', required
    - `storage_key` string, required
    - `signed_url` string, nullable
  - `score_breakdown` ScoreBreakdownItem[]
    - `category` string, required
    - `score` number, nullable, required
    - `weight` number, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sytecheck/apis/sytecheck-api.md) · [All operations](https://skmtc.dev/sytecheck/apis/sytecheck-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sytecheck/apis/sytecheck-api/revisions/797cf6b3e867?raw)
