---
title: "List jobs for workspace"
method: GET
path: "/jobs"
tags: ["jobs"]
---

# List jobs for workspace

`GET /jobs`

List jobs for the authenticated workspace.

Optionally filter by status (pending, processing, completed, failed).
Useful for building a global job status badge/dashboard.

## Query parameters

- `status_filter` string, nullable

## Response `200`

Jobs listed successfully

- JobListResponse — Response for listing jobs.
  - `jobs` JobResponse[], required
    - `job_id` string, uuid, required
    - `pot_id` string, uuid, required
    - `status` 'pending' | 'processing' | 'completed' | 'failed', required — Job lifecycle states.
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `progress` JobProgress — Progress info for long-running jobs.
      - `current_step` string, required — Current processing step
      - `chunks_total` integer, nullable — Total chunks to process
      - `chunks_done` integer, nullable — Chunks processed so far
      - `facts_extracted` integer, nullable — Facts extracted so far
      - `phase` 'extracting' | 'indexing' | 'detecting_edges' | 'propagating_scores' — Phases of the ingestion pipeline (M17).
      - `phase_index` integer, nullable — Phase index (1-based: 1=extracting, 2=indexing, ...)
      - `phases_total` integer, nullable — Total phases (always 4 for ingestion)
      - `phase_detail` string, nullable — Sub-step detail within current phase
      - `overall_percent` integer, nullable — Overall progress estimate 0-100
    - `result` JobResult — Result when job completes successfully.
      - `chunks_processed` integer, required
      - `facts_created` integer, required
      - `fact_ids` string[] — IDs of created facts
      - `facts_duplicated` integer, required
      - `document_context` DocumentContext, required — Global context extracted from a document.
        - `title` string, required — Main topic or title of the document
        - `key_entities` string[], required — 5-10 key entities mentioned in document
        - `main_themes` string[], required — 3-5 main themes or topics discussed
        - `document_type` 'technical' | 'conceptual' | 'reference' | 'guide' | 'other', required — Document type classification
        - `language` string, nullable — ISO 639-1 language code of the document (e.g. 'es', 'en'). None if mixed-language or undetermined.
        - `scope_hint` 'own' | 'third_party' | 'mixed_context' | 'unknown', nullable — Document-level scope hint inferred during context generation. 'own' = describes the operating organization's own data/operations; 'third_party' = describes external entities (case studies, customer data); 'mixed_context' = contains both first-party and third-party content; 'unknown' = cannot determine. None = scope inference not performed.
      - `processing_time_ms` integer, required
      - `extraction_audit` unknown
      - `edges_created` integer — Constitution edges created
      - `scores_updated` integer — Facts with updated POT Scores
    - `error` JobError — Error info when job fails.
      - `code` string, required — Error code (LLM_RATE_LIMIT, LLM_TIMEOUT, etc.)
      - `message` string, required — Human-readable error message
      - `step` string, nullable — Step where failure occurred
      - `retryable` boolean — Whether job can be retried
    - `poll_interval_ms` integer, nullable — Suggested polling interval in milliseconds
  - `total` integer, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/scipot/apis/scipot-core-api.md) · [All operations](https://skmtc.dev/scipot/apis/scipot-core-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/scipot/scipot-core-api/revisions/e8712e9ffeae/schema)
