---
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}`

## Request

- Base URL: `https://api.ade.landing.ai`
- URL: `https://api.ade.landing.ai/v2/extract/jobs/{job_id}`
- Auth: none required

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.dev/landing-ai/apis/landingai-agentic-document-extraction-ade-api-v2-parse-and-e.md) - [All operations](https://skmtc.dev/landing-ai/apis/landingai-agentic-document-extraction-ade-api-v2-parse-and-e/llms.txt) - [OpenAPI document](https://skmtc.dev/landing-ai/apis/landingai-agentic-document-extraction-ade-api-v2-parse-and-e/revisions/b07477df91eb?raw)
