## List Extract Jobs

`ExtractV2JobQueryResponse Extract.List(ExtractListParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v2/extract`

List extraction jobs with optional filtering and pagination.

Filter by `configuration_id`, `status`, `file_input`,
or creation date range. Results are returned newest-first.
Use `expand=configuration` to include the full configuration used,
and `expand=extract_metadata` for per-field metadata.

### Parameters

- `ExtractListParams parameters`

  - `string? configurationID`

    Filter by configuration ID

  - `DateTimeOffset? createdAtOnOrAfter`

    Include items created at or after this timestamp (inclusive)

  - `DateTimeOffset? createdAtOnOrBefore`

    Include items created at or before this timestamp (inclusive)

  - `string? documentInputType`

    Filter by document input type (file_id or parse_job_id)

  - `string? documentInputValue`

    Deprecated: use file_input instead

  - `IReadOnlyList<string> expand`

    Additional fields to include: configuration, extract_metadata

  - `string? fileInput`

    Filter by file input value

  - `IReadOnlyList<string>? jobIds`

    Filter by specific job IDs

  - `string? organizationID`

  - `Long? pageSize`

    Number of items per page

  - `string? pageToken`

    Token for pagination

  - `string? projectID`

  - `Status? status`

    Filter by status

    - `"CANCELLED"Cancelled`

    - `"COMPLETED"Completed`

    - `"FAILED"Failed`

    - `"PENDING"Pending`

    - `"RUNNING"Running`

    - `"THROTTLED"Throttled`

### Returns

- `class ExtractV2JobQueryResponse:`

  Paginated list of extraction jobs.

  - `required IReadOnlyList<ExtractV2Job> Items`

    The list of items.

    - `required string ID`

      Unique job identifier (job_id)

    - `required DateTimeOffset CreatedAt`

      Creation timestamp

    - `required string FileInput`

      File ID or parse job ID that was extracted

    - `required string ProjectID`

      Project this job belongs to

    - `required string Status`

      Current job status.

      - `PENDING` — queued, not yet started
      - `RUNNING` — actively processing
      - `COMPLETED` — finished successfully
      - `FAILED` — terminated with an error
      - `CANCELLED` — cancelled by user

    - `required DateTimeOffset UpdatedAt`

      Last update timestamp

    - `ExtractConfiguration? Configuration`

      Extract configuration combining parse and extract settings.

      - `required IReadOnlyDictionary<string, DataSchema?> DataSchema`

        JSON Schema defining the fields to extract. Validate with the /schema/validate endpoint first.

        - `IReadOnlyDictionary<string, JsonElement>`

        - `IReadOnlyList<JsonElement>`

        - `string`

        - `Double`

        - `Boolean`

      - `Boolean CiteSources`

        Include citations in results. Returned under `extract_metadata` (auto-included when set). Text-level on `turbo` (no bounding boxes).

      - `Boolean ConfidenceScores`

        Include confidence scores in results. Returned under `extract_metadata` (auto-included when set).

      - `Boolean DisableCache`

        Disable reuse and storage of Extract results

      - `ExtractionTarget ExtractionTarget`

        Granularity of extraction: per_doc returns one object per document, per_page returns one object per page, per_table_row returns one object per table row

        - `"per_doc"PerDoc`

        - `"per_page"PerPage`

        - `"per_table_row"PerTableRow`

      - `Long? MaxPages`

        Maximum number of pages to process. Omit for no limit.

      - `string? ParseConfigID`

        Saved parse configuration ID to control how the document is parsed before extraction. Turbo extract does not support parse configuration or produce a parse output; use another tier if your workflow requires parsed text.

      - `ParseTier? ParseTier`

        Parse tier to use before extraction. Defaults to the extract tier if not specified. Turbo extract does not support parse configuration or produce a parse output; use another tier if your workflow requires parsed text.

        - `"agentic"Agentic`

        - `"agentic_plus"AgenticPlus`

        - `"cost_effective"CostEffective`

        - `"fast"Fast`

      - `IReadOnlyList<string>? SheetNames`

        Optional worksheet names to extract when spreadsheet_mode is on. Overrides target_pages for spreadsheets; omit to extract every sheet. Names are matched exactly (case-sensitive) — pass them as a list, e.g. ["Sheet 1", "My Sheet"].

      - `Boolean SpreadsheetMode`

        Beta. When true, extract structured data directly from a spreadsheet workbook (.xlsx/.xls/.csv) — the agent reads cells straight from the workbook instead of the standard document path. Off by default (spreadsheets keep the standard path). Requires the agentic_plus tier. Billed on the standard per-page extract rate, against a page count derived from workbook size. Citations and confidence scores are not available in this mode.

      - `string? SystemPrompt`

        Custom system prompt to guide extraction behavior

      - `string? TargetPages`

        Comma-separated page numbers or ranges to process (1-based). Omit to process all pages.

      - `Tier Tier`

        Extract tier: cost_effective (5 credits/page), agentic (15 credits/page), agentic_plus (50 credits/page), or turbo (35 credits/page)

        - `"agentic"Agentic`

        - `"agentic_plus"AgenticPlus`

        - `"cost_effective"CostEffective`

        - `"turbo"Turbo`

      - `string Version`

        Use 'latest' for the latest release for the selected tier or a date string (YYYY-MM-DD format) to pin to the nearest release at or before that date. Job responses always report the concrete resolved version the job runs, fixed at job creation; saved configurations keep the value as provided.

    - `string? ConfigurationID`

      Saved extract configuration ID used for this job, if any

    - `string? ErrorMessage`

      Error details when status is FAILED

    - `ExtractJobMetadata? ExtractMetadata`

      Extraction metadata.

      - `ExtractedFieldMetadata? FieldMetadata`

        Metadata for extracted fields including document, page, and row level info.

        - `IReadOnlyDictionary<string, DocumentMetadata?>? DocumentMetadata`

          Per-field metadata keyed by field name from your schema. Scalar fields (e.g. `vendor`) map to a FieldMetadataEntry with citation and confidence. Array fields (e.g. `items`) map to a list where each element contains per-sub-field FieldMetadataEntry objects, indexed by array position. Nested objects contain sub-field entries recursively.

          - `IReadOnlyDictionary<string, JsonElement>`

          - `IReadOnlyList<JsonElement>`

          - `string`

          - `Double`

          - `Boolean`

        - `IReadOnlyList<IReadOnlyDictionary<string, PageMetadata?>>? PageMetadata`

          Per-page metadata when extraction_target is per_page

          - `IReadOnlyDictionary<string, JsonElement>`

          - `IReadOnlyList<JsonElement>`

          - `string`

          - `Double`

          - `Boolean`

        - `IReadOnlyList<IReadOnlyDictionary<string, RowMetadata?>>? RowMetadata`

          Per-row metadata when extraction_target is per_table_row

          - `IReadOnlyDictionary<string, JsonElement>`

          - `IReadOnlyList<JsonElement>`

          - `string`

          - `Double`

          - `Boolean`

      - `string? ParseJobID`

        Reference to the ParseJob ID used for parsing

      - `string? ParseTier`

        Parse tier used for parsing the document

    - `ExtractResult? ExtractResult`

      Extracted data conforming to the data_schema. Returns a single object for per_doc, or an array for per_page / per_table_row.

      - `IReadOnlyDictionary<string, UnionMember0Item?>`

        - `IReadOnlyDictionary<string, JsonElement>`

        - `IReadOnlyList<JsonElement>`

        - `string`

        - `Double`

        - `Boolean`

      - `IReadOnlyList<IReadOnlyDictionary<string, UnnamedSchemaWithArrayParent1Item?>>`

        - `IReadOnlyDictionary<string, JsonElement>`

        - `IReadOnlyList<JsonElement>`

        - `string`

        - `Double`

        - `Boolean`

    - `Metadata? Metadata`

      Job-level metadata.

      - `ExtractJobUsage? Usage`

        Extraction usage metrics.

        - `Long? NumPagesBilled`

          Number of effective pages billed

        - `Long? NumPagesExtracted`

          Number of pages extracted

    - `Usage? Usage`

      Usage recorded against an extract job.

      A parse job can back several extract jobs, so each of them reports that
      same parse cost in its total.

      - `Double? Credits`

        Total credits billed against this job. Null until billing has recorded it.

      - `Double? ExtractCredits`

        Credits billed for the extraction itself

      - `Double? ParseCredits`

        Credits billed against the parse job backing this extract job

  - `string? NextPageToken`

    A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

  - `Long? TotalSize`

    The total number of items available. This is only populated when specifically requested. The value may be an estimate and can be used for display purposes only.

### Example

```csharp
ExtractListParams parameters = new();

var page = await client.Extract.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
```

#### Response

```json
{
  "items": [
    {
      "id": "ext-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "created_at": "2019-12-27T18:11:19.117Z",
      "file_input": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "project_id": "prj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "status": "COMPLETED",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "configuration": {
        "data_schema": {
          "foo": {
            "foo": "bar"
          }
        },
        "cite_sources": true,
        "confidence_scores": true,
        "disable_cache": true,
        "extraction_target": "per_doc",
        "max_pages": 10,
        "parse_config_id": "cfg-11111111-2222-3333-4444-555555555555",
        "parse_tier": "fast",
        "sheet_names": [
          "Sheet 1",
          "Q4 Summary"
        ],
        "spreadsheet_mode": true,
        "system_prompt": "Extract all monetary values in USD. If a currency is not specified, assume USD.",
        "target_pages": "1,3,5-7",
        "tier": "cost_effective",
        "version": "latest"
      },
      "configuration_id": "cfg-11111111-2222-3333-4444-555555555555",
      "error_message": "error_message",
      "extract_metadata": {
        "field_metadata": {
          "document_metadata": {
            "items": [
              {
                "amount": {
                  "citation": [
                    {
                      "matching_text": "$10.00",
                      "page": 1
                    }
                  ],
                  "confidence": 1
                },
                "description": {
                  "citation": [
                    {
                      "matching_text": "$10/month",
                      "page": 1
                    }
                  ],
                  "confidence": 0.998
                }
              }
            ],
            "total": {
              "citation": "bar",
              "confidence": "bar"
            },
            "vendor": {
              "citation": "bar",
              "confidence": "bar",
              "extraction_confidence": "bar",
              "parsing_confidence": "bar"
            }
          },
          "page_metadata": [
            {
              "foo": {
                "foo": "bar"
              }
            }
          ],
          "row_metadata": [
            {
              "foo": {
                "foo": "bar"
              }
            }
          ]
        },
        "parse_job_id": "parse_job_id",
        "parse_tier": "parse_tier"
      },
      "extract_result": {
        "foo": {
          "foo": "bar"
        }
      },
      "metadata": {
        "usage": {
          "num_pages_billed": 0,
          "num_pages_extracted": 0
        }
      },
      "usage": {
        "credits": 30,
        "extract_credits": 45,
        "parse_credits": 30
      }
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```
