---
title: "ADE Get Extract Jobs"
method: GET
path: "/v2/extract/jobs/{job_id}"
tags: ["Extract"]
---

# ADE Get Extract Jobs

`GET /v2/extract/jobs/{job_id}`

Get the status of an async Extract job, including its result once the job has completed.

## Path parameters

- `job_id` string, required — The identifier of the job to retrieve, as returned by the create-job request.

## Response `200`

Job status / result

- object
  - `job_id` string — The unique identifier for this v2-extract job. Format: ``extract-<26-character Crockford base32 ULID>`` (``[0-9a-hjkmnp-tv-z]{26}`` tail). Opaque, server-minted, and stable for the life of the job — the same id is returned on the sync response, the async 202, and every poll. Treat it as opaque; older id formats remain accepted indefinitely and are never re-issued.
  - `status` 'pending' | 'processing' | 'completed' | 'failed'
  - `created_at` string, nullable
  - `completed_at` string — Present once the job is terminal.
  - `progress` number — Job completion as a decimal from 0 (not started) to 1 (complete). Present while ``processing``.
  - `result` object, nullable — Result returned by V2ExtractOperationWorkflow — the ``/v2/extract`` response body (``docs/extract-v2-proposal.md`` → Response). ``extraction`` and ``extraction_metadata`` mirror each other structurally: leaf values in ``extraction`` are replaced by ``ExtractionFieldMetadata`` objects in ``extraction_metadata``.
    - `extraction` object, required — Extracted values conforming to the request ``schema``.
    - `extraction_metadata` object, required — Per-field metadata, mirroring ``extraction`` with leaf values replaced by ``{value, ranges}`` objects.
    - `markdown` string, required — Echoed input markdown.
    - `metadata` V2ExtractMetadata, required — Response metadata for a v2 extract call.
      - `job_id` string, required — Gateway job id (workflow id). Matches the ``x-request-id`` the gateway minted for this request and the billing row id in vision-agent.
      - `model_version` string, required — Resolved model version.
      - `duration_ms` integer, required — End-to-end request duration in milliseconds.
      - `doc_id` string, nullable — Present when the input markdown contained a ``<!-- doc_id=<id> -->`` comment (embedded by ``POST /v2/parse``). Links this extract call to the originating parse job.
      - `range_units` 'unicode_codepoints', required — Units of every `range` offset in the response. Always `"unicode_codepoints"` (Unicode code points into `markdown`). Declared explicitly so consumers know how to slice the string — e.g. JavaScript strings are UTF-16, so a naive `.slice()` drifts when the markdown contains astral characters.
      - `input_markdown_chars` integer, nullable — Characters (Unicode code points) in the input markdown as submitted — the input basis of the credit charge.
      - `output_extraction_chars` integer, nullable — Characters in the serialized extraction output — the output basis of the credit charge.
      - `openapi_spec` string, required — URL of the OpenAPI spec covering this API, for inspection and client generation.
      - `billing` V2Billing — Billing summary: the service tier the request ran in and the credits charged.
        - `service_tier` 'standard' | 'priority', nullable — The service tier the request ran in: `standard` or `priority`. A sync request reports `priority` (same lane, same price).
        - `total_credits` number, nullable — Credits charged for this request.
    - `schema_violation_error` string, nullable — Set when ``options.strict`` is false and the schema contained fields the model could not extract — the extraction is partial.
    - `warnings` object[] — Non-fatal warnings emitted during extraction.
  - `error` object — Present once status is ``failed``.
    - `code` string — Stable error code (``internal_error`` when unmapped).
    - `message` string
  - `output_url` string, nullable — The URL the result was delivered to. Present once the job has ``completed`` and ``output_save_url`` was set, instead of inline ``result``.

## Other responses

- `404` — Not found (e.g. no such job).
- `422` — Request validation failed.

---

[API](https://skmtc.net/landing-ai/apis/landingai-agentic-document-extraction-ade-api-v2-parse-and-e.md) · [All operations](https://skmtc.net/landing-ai/apis/landingai-agentic-document-extraction-ade-api-v2-parse-and-e/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/landing-ai/landingai-agentic-document-extraction-ade-api-v2-parse-and-e/revisions/b07477df91eb/schema)
