---
title: "List Jobs"
method: GET
path: "/extract/jobs"
tags: ["/extract"]
---

# List Jobs

`GET /extract/jobs`

## Request

- Base URL: `https://api.contextual.ai/v1`
- URL: `https://api.contextual.ai/v1/extract/jobs`
- Auth: HTTP bearer

List extraction jobs.

## Query parameters

- `limit` integer
- `cursor` string, nullable
- `job_status` string, nullable
- `search` string, nullable

## Response `200`

Successful Response

- JobListResponse: Response model for job listing.
  - `jobs` JobStatusResponse[], required: List of jobs
    - `job_id` string, required: Unique ID of the extraction job
    - `status` 'pending' | 'processing' | 'retrying' | 'completed' | 'failed' | 'cancelled', required
    - `created_at` string, required: Timestamp when the job was created
    - `progress` ProgressInfo, required: Progress information for an extraction job.
      - `completion_percentage` integer, required: Overall progress percentage (0-100)
      - `current_step` string, required: Current processing stage or step description
      - `fields_processed` integer: Number of schema fields that have been processed
      - `total_fields` integer: Total number of schema fields to process
    - `current_activity` string, required: Current activity being performed
    - `schema_id` string, required: ID of the schema used for the extraction
    - `document_id` string, required: ID of the document used for the extraction
    - `config` ExtractConfig: Configuration for structured extraction. Most settings have sensible defaults, but you can customize them for your specific use case.
      - `model` 'gemini-2.5-flash' | 'gemini-2.5-pro' | 'gemini-3-pro-preview' | 'gemini-3-flash-preview': Base model for extraction. 'gemini-2.5-flash' is faster and cheaper, while 'gemini-2.5-pro' is more accurate and expensive.
      - `per_key_attribution` boolean: Set to include attributions for each extracted field including reasoning, confidence scores, and page numbers. This option increases processing time and cost.
      - `temperature` number, nullable: Sampling temperature (0.0-2.0). Lower values make output more deterministic and consistent, higher values vary more. Leave as None for model defaults.
      - `enable_thinking` boolean: Enable reasoning which can improve accuracy but increases processing time and cost.
      - `additional_instructions` string, nullable: Additional instructions to the model. This is a string that will be appended to the prompt. It is useful for providing additional context or instructions to the model.
      - `enable_agentic_array_extraction` boolean: If True, will use agentic array extraction to extract the array of objects when possible. Requires isolate_arrays=True in splitter_config. One can also enable agentic array extraction for specific arrays by setting agenticArrayExtractionMaxItemsPerTurn > 0 for the array in the JSON schema.
  - `total_count` integer, required: Total number of jobs
  - `next_cursor` string, nullable: Next cursor to continue pagination. Omitted if there are no more jobs to retrieve.
  - `prev_cursor` string, nullable: Previous cursor to go back in pagination. Omitted if this is the first page.

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-16** `4abdda722de9`: 1 info
  - endpoint added
- **2026-01-13** `ca7f807eec8b`: 1 breaking
  - api path removed without deprecation
- **2025-10-28** `c8152db45500`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/contextualai/apis/endpoints/changes/extract/jobs/get.md)

---

[API](https://skmtc.dev/contextualai/apis/endpoints.md) - [All operations](https://skmtc.dev/contextualai/apis/endpoints/llms.txt) - [OpenAPI document](https://skmtc.dev/contextualai/apis/endpoints/revisions/4abdda722de9?raw)
