---
title: "Retrieve Parse"
method: GET
path: "/job/{job_id}"
---

# Retrieve Parse

`GET /job/{job_id}`

## Path parameters

- `job_id` string, required

## Response `200`

Successful Response

- union
  - AsyncJobResponse
    - `status` 'Pending' | 'Completed' | 'Failed' | 'Idle', required
    - `result` union
      - ParseResponse
        - `job_id` string, required
        - `duration` number, required — The duration of the parse request in seconds.
        - `pdf_url` string, nullable — The storage URL of the converted PDF file.
        - `studio_link` string, nullable — The link to the studio pipeline for the document.
        - `usage` ParseUsage, required
          - `num_pages` integer, required
          - `credits` number, nullable
          - `credit_breakdown` object, nullable
        - `result` union, required — The response from the document processing service. Note that there can be two types of responses, Full Result and URL Result. This is due to limitations on the max return size on HTTPS. If the response is too large, it will be returned as a presigned URL in the URL response. You should handle this in your application.
          - FullResult
            - `type` 'full', required — type = 'full'
            - `chunks` ParseChunk[], required
              - …
            - `ocr` OCRResult
              - …
            - `custom` unknown
          - UrlResult
            - `type` 'url', required — type = 'url'
            - `url` string, required
            - `result_id` string, required
      - ExtractResponse
        - `job_id` string, nullable
        - `usage` ExtractUsage, required
          - `num_pages` integer, required
          - `num_fields` integer, required
          - `credits` number, nullable
          - `extract_mode` 'super_agent' | 'extract' | 'spreadsheet_agent', nullable
        - `studio_link` string, nullable — The link to the studio pipeline for the document.
        - `result` unknown[], required — The extracted response in your provided schema. This is a list of dictionaries. If disable_chunking is True (default), then it will be a list of length one.
          - unknown
        - `citations` unknown[], nullable, required — The citations corresponding to the extracted response.
          - unknown
      - SplitResponse
        - `usage` ParseUsage, required
          - `num_pages` integer, required
          - `credits` number, nullable
          - `credit_breakdown` object, nullable
        - `result` union, required — The split result.
          - SplitResult
            - `section_mapping` object, nullable, required
            - `splits` Split[], required
              - …
          - DeepSplitResult
            - `splits` DeepSplit[], required
              - …
      - EditResponse
        - `document_url` string, required — Presigned URL to download the edited document.
        - `form_schema` EditWidget[], nullable — Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes.
          - `bbox` BoundingBox, required
            - `left` number, required
            - `top` number, required
            - `width` number, required
            - `height` number, required
            - `page` integer, required — The page number of the bounding box (1-indexed).
            - `original_page` integer — The page number in the original document of the bounding box (1-indexed).
          - `description` string, required — Description of the widget extracted from the document
          - `type` 'text' | 'checkbox' | 'radio' | 'dropdown' | 'barcode', required — Type of the form widget
          - `fill` boolean — If True (default), the system will attempt to fill this widget. If False, the widget will be created but intentionally left unfilled.
          - `value` string, nullable — If provided, this value will be used directly instead of attempting to intelligently determine the field value.
          - `font_size` number, nullable — Font size in points for this specific field. Takes priority over the global font_size in EditOptions. If not set, falls back to the global font_size, then to auto-calculated sizing.
        - `usage` ParseUsage
          - `num_pages` integer, required
          - `credits` number, nullable
          - `credit_breakdown` object, nullable
      - PipelineResponse
        - `job_id` string, required
        - `usage` ParseUsage, required
          - `num_pages` integer, required
          - `credits` number, nullable
          - `credit_breakdown` object, nullable
        - `result` PipelineResult, required
          - `parse` union, required
            - ParseResponse
              - …
            - ParseResponse[]
              - …
          - `extract` union, required
            - ExtractSplitResponse[]
              - …
            - ExtractResponse
              - …
            - V3ExtractResponse
              - …
          - `split` SplitResponse, required
            - `usage` ParseUsage, required
              - …
            - `result` union, required — The split result.
              - …
          - `edit` EditResponse
            - `document_url` string, required — Presigned URL to download the edited document.
            - `form_schema` EditWidget[], nullable — Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes.
              - …
            - `usage` ParseUsage
              - …
      - V3ExtractResponse
        - `job_id` string, nullable
        - `usage` ExtractUsage, required
          - `num_pages` integer, required
          - `num_fields` integer, required
          - `credits` number, nullable
          - `extract_mode` 'super_agent' | 'extract' | 'spreadsheet_agent', nullable
        - `studio_link` string, nullable — The link to the studio pipeline for the document.
        - `result` union, required — The extracted response in your provided schema. This is a list of dictionaries. If disable_chunking is True (default), then it will be a list of length one.
          - unknown
          - unknown[]
            - unknown
      - ClassifyResponse — Response from classify job - returned when polling /job/{job_id}
        - `job_id` string, required
        - `result` ClassifyResponseCategory, required
          - `category` string, required
        - `response_confidence` ResponseConfidence — Overall confidence breakdown for classification response.
          - `categories` CategoryConfidence[], required
            - `category` string, required
            - `confidence` number, required
            - `criteria_confidence` CriteriaConfidence[], required
              - …
        - `duration` number, nullable — The duration of the classify request in seconds.
    - `progress` number, nullable
    - `reason` string, nullable
  - EnhancedAsyncJobResponse
    - `status` 'Pending' | 'Completed' | 'Failed' | 'Idle', required
    - `result` union
      - ParseResponse
        - `job_id` string, required
        - `duration` number, required — The duration of the parse request in seconds.
        - `pdf_url` string, nullable — The storage URL of the converted PDF file.
        - `studio_link` string, nullable — The link to the studio pipeline for the document.
        - `usage` ParseUsage, required
          - `num_pages` integer, required
          - `credits` number, nullable
          - `credit_breakdown` object, nullable
        - `result` union, required — The response from the document processing service. Note that there can be two types of responses, Full Result and URL Result. This is due to limitations on the max return size on HTTPS. If the response is too large, it will be returned as a presigned URL in the URL response. You should handle this in your application.
          - FullResult
            - `type` 'full', required — type = 'full'
            - `chunks` ParseChunk[], required
              - …
            - `ocr` OCRResult
              - …
            - `custom` unknown
          - UrlResult
            - `type` 'url', required — type = 'url'
            - `url` string, required
            - `result_id` string, required
      - ExtractResponse
        - `job_id` string, nullable
        - `usage` ExtractUsage, required
          - `num_pages` integer, required
          - `num_fields` integer, required
          - `credits` number, nullable
          - `extract_mode` 'super_agent' | 'extract' | 'spreadsheet_agent', nullable
        - `studio_link` string, nullable — The link to the studio pipeline for the document.
        - `result` unknown[], required — The extracted response in your provided schema. This is a list of dictionaries. If disable_chunking is True (default), then it will be a list of length one.
          - unknown
        - `citations` unknown[], nullable, required — The citations corresponding to the extracted response.
          - unknown
      - SplitResponse
        - `usage` ParseUsage, required
          - `num_pages` integer, required
          - `credits` number, nullable
          - `credit_breakdown` object, nullable
        - `result` union, required — The split result.
          - SplitResult
            - `section_mapping` object, nullable, required
            - `splits` Split[], required
              - …
          - DeepSplitResult
            - `splits` DeepSplit[], required
              - …
      - EditResponse
        - `document_url` string, required — Presigned URL to download the edited document.
        - `form_schema` EditWidget[], nullable — Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes.
          - `bbox` BoundingBox, required
            - `left` number, required
            - `top` number, required
            - `width` number, required
            - `height` number, required
            - `page` integer, required — The page number of the bounding box (1-indexed).
            - `original_page` integer — The page number in the original document of the bounding box (1-indexed).
          - `description` string, required — Description of the widget extracted from the document
          - `type` 'text' | 'checkbox' | 'radio' | 'dropdown' | 'barcode', required — Type of the form widget
          - `fill` boolean — If True (default), the system will attempt to fill this widget. If False, the widget will be created but intentionally left unfilled.
          - `value` string, nullable — If provided, this value will be used directly instead of attempting to intelligently determine the field value.
          - `font_size` number, nullable — Font size in points for this specific field. Takes priority over the global font_size in EditOptions. If not set, falls back to the global font_size, then to auto-calculated sizing.
        - `usage` ParseUsage
          - `num_pages` integer, required
          - `credits` number, nullable
          - `credit_breakdown` object, nullable
      - PipelineResponse
        - `job_id` string, required
        - `usage` ParseUsage, required
          - `num_pages` integer, required
          - `credits` number, nullable
          - `credit_breakdown` object, nullable
        - `result` PipelineResult, required
          - `parse` union, required
            - ParseResponse
              - …
            - ParseResponse[]
              - …
          - `extract` union, required
            - ExtractSplitResponse[]
              - …
            - ExtractResponse
              - …
            - V3ExtractResponse
              - …
          - `split` SplitResponse, required
            - `usage` ParseUsage, required
              - …
            - `result` union, required — The split result.
              - …
          - `edit` EditResponse
            - `document_url` string, required — Presigned URL to download the edited document.
            - `form_schema` EditWidget[], nullable — Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes.
              - …
            - `usage` ParseUsage
              - …
      - V3ExtractResponse
        - `job_id` string, nullable
        - `usage` ExtractUsage, required
          - `num_pages` integer, required
          - `num_fields` integer, required
          - `credits` number, nullable
          - `extract_mode` 'super_agent' | 'extract' | 'spreadsheet_agent', nullable
        - `studio_link` string, nullable — The link to the studio pipeline for the document.
        - `result` union, required — The extracted response in your provided schema. This is a list of dictionaries. If disable_chunking is True (default), then it will be a list of length one.
          - unknown
          - unknown[]
            - unknown
      - ClassifyResponse — Response from classify job - returned when polling /job/{job_id}
        - `job_id` string, required
        - `result` ClassifyResponseCategory, required
          - `category` string, required
        - `response_confidence` ResponseConfidence — Overall confidence breakdown for classification response.
          - `categories` CategoryConfidence[], required
            - `category` string, required
            - `confidence` number, required
            - `criteria_confidence` CriteriaConfidence[], required
              - …
        - `duration` number, nullable — The duration of the classify request in seconds.
    - `progress` number, nullable
    - `reason` string, nullable
    - `type` 'Parse' | 'Extract' | 'Split' | 'Edit' | 'Pipeline' | 'Classify', nullable
    - `num_pages` integer, nullable
    - `total_pages` integer, nullable
    - `source` unknown
    - `duration` number, nullable
    - `created_at` string, date-time, nullable
    - `raw_config` string, nullable
    - `bucket` unknown

## Other responses

- `422` — Validation Error

## Changes

- **2026-03-20** `1cdad79931d9` — 4 info
  - added the optional property `anyOf[subschema #1: AsyncJobResponse]/result/anyOf[subschema #4: EditResponse]/form_schema/anyOf[subschema #1]/items/font_size` to the response with the `200` status
  - added the optional property `anyOf[subschema #1: AsyncJobResponse]/result/anyOf[subschema #5: PipelineResponse]/result/edit/anyOf[subschema #1: EditResponse]/form_schema/anyOf[subschema #1]/items/font_size` to the response with the `200` status
  - added the optional property `anyOf[subschema #2: EnhancedAsyncJobResponse]/result/anyOf[subschema #4: EditResponse]/form_schema/anyOf[subschema #1]/items/font_size` to the response with the `200` status
  - added the optional property `anyOf[subschema #2: EnhancedAsyncJobResponse]/result/anyOf[subschema #5: PipelineResponse]/result/edit/anyOf[subschema #1: EditResponse]/form_schema/anyOf[subschema #1]/items/font_size` to the response with the `200` status
- …earlier changes not shown

[Full history](https://skmtc.dev/reductoai/apis/reducto-api/changes/job/:job_id/get.md)

---

[API](https://skmtc.dev/reductoai/apis/reducto-api.md) · [All operations](https://skmtc.dev/reductoai/apis/reducto-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reductoai/apis/reducto-api/revisions/61a2376c32d5?raw)
