---
title: "Status of a scan"
method: GET
path: "/scans/{id}"
---

# Status of a scan

`GET /scans/{id}`

## Request

- Base URL: `https://api.spacecontext.app/v1`
- URL: `https://api.spacecontext.app/v1/scans/{id}`
- Auth: HTTP bearer

Poll until `status` is `complete` or `failed`. A failed scan costs nothing: it is charged at start and refunded on failure, and `charge.refunded` says so. Needs `scans:read`.

## Path parameters

- `id` string, required

## Response `200`

Scan

- Scan
  - `object` 'scan', required
  - `id` string, required
  - `space_id` string, required
  - `livemode` boolean, required
  - `status` 'awaiting_upload' | 'queued' | 'processing' | 'complete' | 'failed' | 'cancelled', required
  - `stage` 'ingesting' | 'screening' | 'observing' | 'fusing' | 'enriching' | 'saving' | 'verifying' | 'null', nullable, required
  - `input` object, required
    - `kind` 'frames' | 'video', required
    - `language` 'en' | 'it' | 'es' | 'fr' | 'de' | 'pt' | 'nl', required: The language the report is written in.
    - `frame_count` integer, nullable, required
    - `video` object, nullable, required
      - `content_type` string
      - `content_length` integer
    - `has_transcript` boolean, required
  - `charge` object, required
    - `kind` 'free_scan' | 'scan_charge' | 'null', nullable, required
    - `price_cents` integer, required
    - `refunded` boolean, required
  - `error` object, nullable, required
    - `code` string
    - `message` string
  - `upload` object, nullable, required
    - `kind` 'frames' | 'video'
    - `method` 'PUT'
    - `url` string
    - `url_template` string
    - `headers` object: Headers the PUT must carry. Content-Length must equal the declared size (HTTP clients set it from the body).
    - `frame_count` integer
    - `max_bytes` integer
    - `content_types` string[]
    - `expires_at` string, date-time: Direct upload links only: the link must be used (the PUT started) within 15 minutes; an upload begun in time completes. Past it, `GET /scans/{id}` (with `scans:write`) gives a fresh link while the scan waits for its upload.
  - `created_at` string, date-time, nullable, required
  - `started_at` string, date-time, nullable, required
  - `completed_at` string, date-time, nullable, required

## Other responses

- `401`: Error response
- `403`: Error response
- `404`: Error response
- `429`: Too many requests. Retry after the number of seconds in `Retry-After`.

---

[API](https://skmtc.dev/spacecontext/apis/space-context-api.md) · [All operations](https://skmtc.dev/spacecontext/apis/space-context-api/llms.txt) · [OpenAPI document](https://skmtc.dev/spacecontext/apis/space-context-api/revisions/1dca940259b4?raw)
