---
title: "Start a quoted screenshot job and retain a workspace image"
method: POST
path: "/workspace/media/captures"
tags: ["Media Library"]
---

# Start a quoted screenshot job and retain a workspace image

`POST /workspace/media/captures`

## Request

- Base URL: `https://blitzreels.com/api/v1`
- URL: `https://blitzreels.com/api/v1/workspace/media/captures`
- Auth: API key in header `Authorization`

Requires Idempotency-Key. Capture settings and credits per attempt are frozen. Retries consume the remaining maximum credits; recovery reuses saved bytes. No login cookies or credentials are accepted.

## Request body

- object
  - `request` object, required
    - `url` string, uri, required
    - `viewport` object, required
      - `width` integer, required
      - `height` integer, required
    - `fullPage` boolean, required
    - `readySelector` string, nullable, required
    - `settleMs` integer, required
    - `maxCredits` number, required
  - `quoteId` string, required

## Response `200`

Successful response

- object
  - `job` object, required
    - `id` string, uuid, required
    - `status` 'queued' | 'processing' | 'completed' | 'failed' | 'canceled', required
    - `request` object, required
      - `url` string, uri, required
      - `viewport` object, required
        - `width` integer, required
        - `height` integer, required
      - `fullPage` boolean, required
      - `readySelector` string, nullable, required
      - `settleMs` integer, required
      - `maxCredits` number, required
    - `attempts` integer, required
    - `creditsCommitted` number, required
    - `remainingCredits` number, required
    - `canResume` boolean, required
    - `asset` object, nullable, required
      - `assetId` string, uuid, required
      - `sha256` string, required
      - `bytes` integer, required
      - `width` integer, required
      - `height` integer, required
      - `sourceUrl` string, uri, required
      - `finalUrl` string, uri, required
      - `capturedAt` string, date-time, required
    - `diagnostic` object, nullable, required
      - `code` 'source_blocked' | 'navigation_failed' | 'capture_incomplete' | 'capture_timeout' | 'storage_unavailable' | 'worker_interrupted' | 'budget_exhausted' | 'capture_cancelled' | 'credits_unavailable', required
      - `message` string, required
      - `retryable` boolean, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
  - `dispatched` boolean, required
  - `replayed` boolean, required
  - `receiptId` string, uuid, required

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `500`: Internal server error

---

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