v1

latestOpenAPI 3.1.02026-07-222064110.7 KB
Extract

ADE Extract Jobs

Extract structured data from a Markdown document according to a JSON schema, with character-span grounding into the source Markdown. Runs asynchronously and returns a job ID; use it to poll for status and retrieve the result once processing completes.

post/v2/extract/jobs

Request body

schemaobject required

JSON Schema describing the fields to extract. The schema must be an object type with a properties map of field names to their types and descriptions.

markdownstring nullable

Markdown string to extract from, or a multipart FILE part carrying the markdown (large inputs — uploads are staged by the gateway). Can come from any source — LandingAI parse output, a third-party parser, or hand-authored text. When the markdown was produced by POST /v2/parse, it ends with a <!-- doc_id=<id> --> comment that the service reads automatically and echoes as metadata.doc_id.

markdown_urlstring nullable

URL to fetch the markdown from. Must be a public http(s) URL; private/loopback IPs are rejected at submit time.

modelstring nullable

The version of the model to use for extraction. Use extract-latest to use the latest version.

output_save_urlstring nullable

URL to save the result to — e.g. a presigned S3 PUT URL. Async jobs only. When set, the finished result is delivered (HTTP PUT) to this URL and the completed job reports output_url instead of an inline result. Must be a public http(s) URL; private/loopback IPs are rejected at submit time.

service_tier'standard' | 'priority' nullable

Async service tier. priority runs in the fast lane at the sync billing rate; absent → standard.

Example request

{
  "schema": {
    "properties": {
      "revenue": {
        "description": "Q1 revenue figure",
        "type": "string"
      },
      "summary": {
        "description": "Executive summary",
        "type": "string"
      }
    },
    "type": "object"
  }
}

Response

Job created

job_idstring

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_atstring nullable