---
title: "Read research progress, credits, captures and saved brief"
method: GET
path: "/workspace/knowledge/research/{jobId}"
tags: ["Knowledge"]
---

# Read research progress, credits, captures and saved brief

`GET /workspace/knowledge/research/{jobId}`

## Request

- Base URL: `https://blitzreels.com/api/v1`
- URL: `https://blitzreels.com/api/v1/workspace/knowledge/research/{jobId}`
- Auth: API key in header `Authorization`

Read research progress, credits, captures and saved brief.

## Path parameters

- `jobId` string, uuid, required

## Response `200`

Successful response

- object
  - `id` string, uuid, required
  - `status` 'queued' | 'running' | 'partial' | 'complete' | 'failed' | 'cancelled', required
  - `request` object, required
    - `prompt` string, required
    - `productUrl` string, uri, nullable, required
    - `seriesId` string, uuid, nullable, required
    - `language` string, required
    - `maxSources` integer, required
    - `maxCredits` number, required
    - `social` object
      - `platform` 'tiktok' | 'instagram', required
      - `targetUrl` string, uri, nullable, required
      - `page` integer, required
      - `cursor` integer, nullable, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `cancelRequested` boolean, required
  - `diagnostic` object, nullable, required
    - `code` 'budget_exhausted' | 'source_unavailable' | 'source_blocked' | 'provider_rejected' | 'provider_outcome_unknown' | 'storage_unavailable' | 'worker_interrupted' | 'billing_unavailable' | 'invalid_response' | 'knowledge_conflict' | 'permission_revoked' | 'input_too_large' | 'unsupported_operation' | 'rate_limited', required
    - `message` string, required
    - `retryable` boolean, required
  - `document` object, nullable, required
    - `id` string, uuid, required
    - `revision` integer, required
  - `captures` object[], required
    - `id` string, uuid, required
    - `sourceUrl` string, uri, required
    - `finalUrl` string, uri, required
    - `title` string, required
    - `capturedAt` string, date-time, required
    - `sha256` string, required
    - `byteLength` integer, required
    - `contentType` string, required
    - `social` object
      - `provider` 'scrapecreators', required
      - `platform` 'tiktok' | 'instagram', required
      - `kind` 'post' | 'profile', required
      - `observedAt` string, date-time, required
      - `metricsSource` 'public_research', required
      - `format` 'video' | 'photo' | 'carousel' | 'profile' | 'unknown', required
      - `publishedAt` string, date-time, nullable, required
      - `durationSeconds` number, nullable, required
      - `counters` object, required
        - `views` integer, nullable, required
        - `likes` integer, nullable, required
        - `comments` integer, nullable, required
        - `shares` integer, nullable, required
        - `followers` integer, nullable, required
        - `posts` integer, nullable, required
  - `socialDiscovery` object
    - `provider` 'scrapecreators', required
    - `platform` 'tiktok' | 'instagram', required
    - `observedAt` string, date-time, required
    - `coverage` 'public_search' | 'google_indexed_reels' | 'explicit_source', required
    - `page` integer, required
    - `returned` integer, required
    - `omitted` integer, required
    - `truncated` boolean, required
    - `next` object, nullable, required
      - `page` integer, required
      - `cursor` integer, nullable, required
  - `credits` object, required
    - `limit` number, required
    - `completed` number, required
    - `reserved` number, required
    - `uncertain` number, required
    - `remaining` number, required
  - `steps` object[], required
    - `id` string, required
    - `kind` 'discovery' | 'capture' | 'synthesis', required
    - `status` 'pending' | 'reserved' | 'dispatched' | 'complete' | 'failed' | 'unknown' | 'skipped', required
    - `sourceUrl` string, uri, nullable, required
    - `attempts` integer, required
    - `diagnostic` object, nullable, required
      - `code` 'budget_exhausted' | 'source_unavailable' | 'source_blocked' | 'provider_rejected' | 'provider_outcome_unknown' | 'storage_unavailable' | 'worker_interrupted' | 'billing_unavailable' | 'invalid_response' | 'knowledge_conflict' | 'permission_revoked' | 'input_too_large' | 'unsupported_operation' | 'rate_limited', required
      - `message` string, required
      - `retryable` boolean, required
  - `canResume` boolean, required

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `404`: Not found
- `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)
