---
title: "Upload one frame of a frames scan"
method: PUT
path: "/scans/{id}/frames/{index}"
---

# Upload one frame of a frames scan

`PUT /scans/{id}/frames/{index}`

## Request

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

The raw image as the body: JPEG, PNG or WebP (recognised by its bytes), at most 2 MB. Sending a frame again replaces it. A test scan checks the frame the same way and only records that it arrived: nothing of a test scan is stored (its result is the demo). Needs `scans:write`.

## Path parameters

- `id` string, required
- `index` integer, required

## Response `200`

Frame stored

- ScanUpload
  - `object` 'scan_frame' | 'scan_video', required
  - `scan_id` string, required
  - `index` integer
  - `bytes` integer, required
  - `content_type` string

## Other responses

- `400`: Error response
- `401`: Error response
- `403`: Error response
- `404`: Error response
- `409`: Error response
- `413`: Error response
- `415`: 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)
