> ## Documentation Index
> Fetch the complete documentation index at: https://docs.landing.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ADE Get Extract Jobs

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



## OpenAPI

````yaml /dpt3/openapi-adev2.json get /v2/extract/jobs/{job_id}
openapi: 3.1.0
info:
  title: >-
    LandingAI Agentic Document Extraction (ADE) API v2: Parse and Extract
    Documents with DPT-3
  description: >-
    Parse and extract data from documents with DPT-3, a document parsing model
    from LandingAI, using the Agentic Document Extraction (ADE) v2 endpoints.
    Parse converts PDFs and images into structured Markdown and elements with
    per-element grounding (page numbers and coordinates) for RAG, search, and
    extraction pipelines. Extract pulls specific fields from parsed Markdown
    using a JSON schema. Documentation: https://docs.landing.ai
  version: 1.0.0
servers:
  - url: https://api.ade.landing.ai
    description: Production vision tools API
security: []
paths:
  /v2/extract/jobs/{job_id}:
    get:
      tags:
        - Extract
      summary: ADE Get Extract Jobs
      description: >-
        Get the status of an async Extract job, including its result once the
        job has completed.
      operationId: v2-extract_get_job
      parameters:
        - name: job_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              The identifier of the job to retrieve, as returned by the
              create-job request.
            title: Job Id
          description: >-
            The identifier of the job to retrieve, as returned by the create-job
            request.
      responses:
        '200':
          description: Job status / result
          content:
            application/json:
              schema:
                type: object
                properties:
                  job_id:
                    type: string
                    description: >-
                      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:
                    type: string
                    enum:
                      - pending
                      - processing
                      - completed
                      - failed
                  created_at:
                    type:
                      - string
                      - 'null'
                  completed_at:
                    type: string
                    description: Present once the job is terminal.
                  progress:
                    type: number
                    minimum: 0
                    maximum: 1
                    description: >-
                      Job completion as a decimal from 0 (not started) to 1
                      (complete). Present while ``processing``.
                  result:
                    anyOf:
                      - description: >-
                          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``.
                        properties:
                          extraction:
                            additionalProperties: true
                            description: >-
                              Extracted values conforming to the request
                              ``schema``.
                            title: Extraction
                            type: object
                          extraction_metadata:
                            additionalProperties: true
                            description: >-
                              Per-field metadata, mirroring ``extraction`` with
                              leaf values replaced by ``{value, ranges}``
                              objects.
                            title: Extraction Metadata
                            type: object
                          markdown:
                            description: Echoed input markdown.
                            title: Markdown
                            type: string
                          metadata:
                            $ref: '#/components/schemas/V2ExtractMetadata'
                            description: >-
                              Request metadata (job_id, model_version,
                              duration_ms, doc_id, billing).
                          schema_violation_error:
                            anyOf:
                              - type: string
                              - type: 'null'
                            default: null
                            description: >-
                              Set when ``options.strict`` is false and the
                              schema contained fields the model could not
                              extract — the extraction is partial.
                            title: Schema Violation Error
                          warnings:
                            description: Non-fatal warnings emitted during extraction.
                            items:
                              additionalProperties: true
                              type: object
                            title: Warnings
                            type: array
                        required:
                          - extraction
                          - extraction_metadata
                          - markdown
                          - metadata
                        title: V2ExtractResult
                        type: object
                      - type: 'null'
                    description: >-
                      Present once status is ``completed`` and
                      ``output_save_url`` was not set. When ``output_save_url``
                      was set, the result is delivered there and ``output_url``
                      is returned instead.
                  error:
                    type: object
                    description: Present once status is ``failed``.
                    properties:
                      code:
                        type: string
                        description: Stable error code (``internal_error`` when unmapped).
                      message:
                        type: string
                  output_url:
                    type:
                      - string
                      - 'null'
                    description: >-
                      The URL the result was delivered to. Present once the job
                      has ``completed`` and ``output_save_url`` was set, instead
                      of inline ``result``.
                  metadata:
                    type:
                      - object
                      - 'null'
                    description: >-
                      The result's metadata block (billing included), present
                      alongside ``output_url`` once a job with
                      ``output_save_url`` has ``completed`` — the delivery moves
                      the content, not the receipt. Same shape as the inline
                      ``result``'s ``metadata``; inline jobs carry it there
                      instead.
        '404':
          description: Not found (e.g. no such job).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Request validation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl 'https://api.ade.landing.ai/v2/extract/jobs/JOB_ID' \
              -H 'Authorization: Bearer YOUR_API_KEY'
        - lang: Python
          label: Python
          source: |-
            import requests

            url = 'https://api.ade.landing.ai/v2/extract/jobs/JOB_ID'
            headers = {'Authorization': 'Bearer YOUR_API_KEY'}

            response = requests.get(url, headers=headers)
            print(response.json())
        - lang: JavaScript
          label: Node.js
          source: |-
            const axios = require('axios');

            axios.get('https://api.ade.landing.ai/v2/extract/jobs/JOB_ID', {
              headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
            })
              .then(response => console.log(response.data))
              .catch(error => console.error(error));
components:
  schemas:
    V2ExtractMetadata:
      description: Response metadata for a v2 extract call.
      properties:
        job_id:
          description: >-
            Gateway job id (workflow id). Matches the ``x-request-id`` the
            gateway minted for this request and the billing row id in
            vision-agent.
          title: Job Id
          type: string
        model_version:
          description: Resolved model version.
          title: Model Version
          type: string
        duration_ms:
          description: End-to-end request duration in milliseconds.
          title: Duration Ms
          type: integer
        doc_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            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.
          title: Doc Id
        range_units:
          const: unicode_codepoints
          default: unicode_codepoints
          description: >-
            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.
          title: Range Units
          type: string
        input_markdown_chars:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: >-
            Characters (Unicode code points) in the input markdown as submitted
            — the input basis of the credit charge.
          title: Input Markdown Chars
        output_extraction_chars:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: >-
            Characters in the serialized extraction output — the output basis of
            the credit charge.
          title: Output Extraction Chars
        openapi_spec:
          type: string
          description: >-
            URL of the OpenAPI spec covering this API, for inspection and client
            generation.
        billing:
          anyOf:
            - $ref: '#/components/schemas/V2Billing'
            - type: 'null'
          description: >-
            Billing summary: the service tier the request ran in and the credits
            charged.
      required:
        - job_id
        - model_version
        - duration_ms
        - openapi_spec
        - range_units
      title: V2ExtractMetadata
      type: object
    ErrorResponse:
      type: object
      title: ErrorResponse
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: >-
            Stable snake_case error code (e.g. ``validation_error``,
            ``unknown_model_version``, ``invalid_url``, ``invalid_api_key``,
            ``rate_limit_exceeded``).
        message:
          type: string
          description: Human-readable detail.
    V2Billing:
      description: |-
        Billing summary: the service tier the request ran in and the credits
        charged.
      properties:
        service_tier:
          anyOf:
            - enum:
                - standard
                - priority
              type: string
            - type: 'null'
          default: null
          description: >-
            The service tier the request ran in: `standard` or `priority`. A
            sync request reports `priority` (same lane, same price).
          title: Service Tier
        total_credits:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          description: Credits charged for this request.
          title: Total Credits
      title: V2Billing
      type: object

````