Extract
Create Extract Job
List Extract Jobs
Get Extract Job
Delete Extract Job
Validate Extraction Schema
Generate Extraction Schema
ModelsExpand Collapse
ExtractConfiguration = object { data_schema, cite_sources, confidence_scores, 9 more }
Extract configuration combining parse and extract settings.
data_schema: map[map[unknown] or array of unknown or string or 2 more]
JSON Schema defining the fields to extract. Validate with the /schema/validate endpoint first.
cite_sources: optional boolean
Include citations in results
confidence_scores: optional boolean
Include confidence scores in results
extract_version: optional string
Extract algorithm version. Use 'latest' or a date string.
extraction_target: optional "per_doc" or "per_page" or "per_table_row"
Granularity of extraction: per_doc returns one object per document, per_page returns one object per page, per_table_row returns one object per table row
lang: optional string
ISO 639-1 language code for the document
max_pages: optional number
Maximum number of pages to process. Omit for no limit.
parse_config_id: optional string
Saved parse configuration ID to control how the document is parsed before extraction
parse_tier: optional string
Parse tier to use before extraction (fast, cost_effective, or agentic)
system_prompt: optional string
Custom system prompt to guide extraction behavior
target_pages: optional string
Comma-separated page numbers or ranges to process (1-based). Omit to process all pages.
tier: optional "cost_effective" or "agentic"
Extract tier: cost_effective (5 credits/page) or agentic (15 credits/page)
ExtractJobMetadata = object { field_metadata, parse_job_id, parse_tier }
Extraction metadata.
Metadata for extracted fields including document, page, and row level info.
document_metadata: optional map[map[unknown] or array of unknown or string or 2 more]
Document-level metadata (citations, confidence) keyed by field name
page_metadata: optional array of map[map[unknown] or array of unknown or string or 2 more]
Per-page metadata when extraction_target is per_page
row_metadata: optional array of map[map[unknown] or array of unknown or string or 2 more]
Per-row metadata when extraction_target is per_table_row
parse_job_id: optional string
Reference to the ParseJob ID used for parsing
parse_tier: optional string
Parse tier used for parsing the document
ExtractJobUsage = object { num_document_tokens, num_output_tokens, num_pages_extracted }
Extraction usage metrics.
num_document_tokens: optional number
Number of document tokens
num_output_tokens: optional number
Number of output tokens
num_pages_extracted: optional number
Number of pages extracted
ExtractV2Job = object { id, created_at, document_input_value, 9 more }
An extraction job.
id: string
Unique job identifier (job_id)
created_at: string
Creation timestamp
document_input_value: string
File ID or parse job ID that was extracted
project_id: string
Project this job belongs to
status: string
Current job status.
PENDING— queued, not yet startedRUNNING— actively processingCOMPLETED— finished successfullyFAILED— terminated with an errorCANCELLED— cancelled by user
updated_at: string
Last update timestamp
configuration: optional ExtractConfiguration { data_schema, cite_sources, confidence_scores, 9 more }
Extract configuration combining parse and extract settings.
data_schema: map[map[unknown] or array of unknown or string or 2 more]
JSON Schema defining the fields to extract. Validate with the /schema/validate endpoint first.
cite_sources: optional boolean
Include citations in results
confidence_scores: optional boolean
Include confidence scores in results
extract_version: optional string
Extract algorithm version. Use 'latest' or a date string.
extraction_target: optional "per_doc" or "per_page" or "per_table_row"
Granularity of extraction: per_doc returns one object per document, per_page returns one object per page, per_table_row returns one object per table row
lang: optional string
ISO 639-1 language code for the document
max_pages: optional number
Maximum number of pages to process. Omit for no limit.
parse_config_id: optional string
Saved parse configuration ID to control how the document is parsed before extraction
parse_tier: optional string
Parse tier to use before extraction (fast, cost_effective, or agentic)
system_prompt: optional string
Custom system prompt to guide extraction behavior
target_pages: optional string
Comma-separated page numbers or ranges to process (1-based). Omit to process all pages.
tier: optional "cost_effective" or "agentic"
Extract tier: cost_effective (5 credits/page) or agentic (15 credits/page)
configuration_id: optional string
Saved extract configuration ID used for this job, if any
error_message: optional string
Error details when status is FAILED
Extraction metadata.
Metadata for extracted fields including document, page, and row level info.
document_metadata: optional map[map[unknown] or array of unknown or string or 2 more]
Document-level metadata (citations, confidence) keyed by field name
page_metadata: optional array of map[map[unknown] or array of unknown or string or 2 more]
Per-page metadata when extraction_target is per_page
row_metadata: optional array of map[map[unknown] or array of unknown or string or 2 more]
Per-row metadata when extraction_target is per_table_row
parse_job_id: optional string
Reference to the ParseJob ID used for parsing
parse_tier: optional string
Parse tier used for parsing the document
extract_result: optional map[map[unknown] or array of unknown or string or 2 more] or array of map[map[unknown] or array of unknown or string or 2 more]
Extracted data conforming to the data_schema. Returns a single object for per_doc, or an array for per_page / per_table_row.
UnionMember0 = map[map[unknown] or array of unknown or string or 2 more]
UnionMember1 = array of map[map[unknown] or array of unknown or string or 2 more]
metadata: optional object { usage }
Job-level metadata.
Extraction usage metrics.
num_document_tokens: optional number
Number of document tokens
num_output_tokens: optional number
Number of output tokens
num_pages_extracted: optional number
Number of pages extracted
ExtractV2JobCreate = object { document_input_value, configuration, configuration_id, webhook_configurations }
Request to create an extraction job. Provide configuration_id or inline configuration.
document_input_value: string
File ID or Parse Job ID to extract from
configuration: optional ExtractConfiguration { data_schema, cite_sources, confidence_scores, 9 more }
Extract configuration combining parse and extract settings.
data_schema: map[map[unknown] or array of unknown or string or 2 more]
JSON Schema defining the fields to extract. Validate with the /schema/validate endpoint first.
cite_sources: optional boolean
Include citations in results
confidence_scores: optional boolean
Include confidence scores in results
extract_version: optional string
Extract algorithm version. Use 'latest' or a date string.
extraction_target: optional "per_doc" or "per_page" or "per_table_row"
Granularity of extraction: per_doc returns one object per document, per_page returns one object per page, per_table_row returns one object per table row
lang: optional string
ISO 639-1 language code for the document
max_pages: optional number
Maximum number of pages to process. Omit for no limit.
parse_config_id: optional string
Saved parse configuration ID to control how the document is parsed before extraction
parse_tier: optional string
Parse tier to use before extraction (fast, cost_effective, or agentic)
system_prompt: optional string
Custom system prompt to guide extraction behavior
target_pages: optional string
Comma-separated page numbers or ranges to process (1-based). Omit to process all pages.
tier: optional "cost_effective" or "agentic"
Extract tier: cost_effective (5 credits/page) or agentic (15 credits/page)
configuration_id: optional string
Saved extract configuration ID (mutually exclusive with configuration)
webhook_configurations: optional array of object { webhook_events, webhook_headers, webhook_output_format, webhook_url }
Outbound webhook endpoints to notify on job status changes
webhook_events: optional array of "extract.pending" or "extract.success" or "extract.error" or 14 more
Events to subscribe to (e.g. 'parse.success', 'extract.error'). If null, all events are delivered.
webhook_headers: optional map[string]
Custom HTTP headers sent with each webhook request (e.g. auth tokens)
webhook_output_format: optional string
Response format sent to the webhook: 'string' (default) or 'json'
webhook_url: optional string
URL to receive webhook POST notifications
ExtractV2JobQueryResponse = object { items, next_page_token, total_size }
Paginated list of extraction jobs.
The list of items.
id: string
Unique job identifier (job_id)
created_at: string
Creation timestamp
document_input_value: string
File ID or parse job ID that was extracted
project_id: string
Project this job belongs to
status: string
Current job status.
PENDING— queued, not yet startedRUNNING— actively processingCOMPLETED— finished successfullyFAILED— terminated with an errorCANCELLED— cancelled by user
updated_at: string
Last update timestamp
configuration: optional ExtractConfiguration { data_schema, cite_sources, confidence_scores, 9 more }
Extract configuration combining parse and extract settings.
data_schema: map[map[unknown] or array of unknown or string or 2 more]
JSON Schema defining the fields to extract. Validate with the /schema/validate endpoint first.
cite_sources: optional boolean
Include citations in results
confidence_scores: optional boolean
Include confidence scores in results
extract_version: optional string
Extract algorithm version. Use 'latest' or a date string.
extraction_target: optional "per_doc" or "per_page" or "per_table_row"
Granularity of extraction: per_doc returns one object per document, per_page returns one object per page, per_table_row returns one object per table row
lang: optional string
ISO 639-1 language code for the document
max_pages: optional number
Maximum number of pages to process. Omit for no limit.
parse_config_id: optional string
Saved parse configuration ID to control how the document is parsed before extraction
parse_tier: optional string
Parse tier to use before extraction (fast, cost_effective, or agentic)
system_prompt: optional string
Custom system prompt to guide extraction behavior
target_pages: optional string
Comma-separated page numbers or ranges to process (1-based). Omit to process all pages.
tier: optional "cost_effective" or "agentic"
Extract tier: cost_effective (5 credits/page) or agentic (15 credits/page)
configuration_id: optional string
Saved extract configuration ID used for this job, if any
error_message: optional string
Error details when status is FAILED
Extraction metadata.
Metadata for extracted fields including document, page, and row level info.
document_metadata: optional map[map[unknown] or array of unknown or string or 2 more]
Document-level metadata (citations, confidence) keyed by field name
page_metadata: optional array of map[map[unknown] or array of unknown or string or 2 more]
Per-page metadata when extraction_target is per_page
row_metadata: optional array of map[map[unknown] or array of unknown or string or 2 more]
Per-row metadata when extraction_target is per_table_row
parse_job_id: optional string
Reference to the ParseJob ID used for parsing
parse_tier: optional string
Parse tier used for parsing the document
extract_result: optional map[map[unknown] or array of unknown or string or 2 more] or array of map[map[unknown] or array of unknown or string or 2 more]
Extracted data conforming to the data_schema. Returns a single object for per_doc, or an array for per_page / per_table_row.
UnionMember0 = map[map[unknown] or array of unknown or string or 2 more]
UnionMember1 = array of map[map[unknown] or array of unknown or string or 2 more]
metadata: optional object { usage }
Job-level metadata.
Extraction usage metrics.
num_document_tokens: optional number
Number of document tokens
num_output_tokens: optional number
Number of output tokens
num_pages_extracted: optional number
Number of pages extracted
next_page_token: optional string
A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
total_size: optional number
The total number of items available. This is only populated when specifically requested. The value may be an estimate and can be used for display purposes only.
ExtractV2SchemaGenerateRequest = object { data_schema, file_id, name, prompt }
Request schema for generating an extraction schema.
data_schema: optional map[map[unknown] or array of unknown or string or 2 more]
Optional schema to validate, refine, or extend
file_id: optional string
Optional file ID to analyze for schema generation
name: optional string
Name for the generated configuration (auto-generated if omitted)
prompt: optional string
Natural language description of the data structure to extract
ExtractV2SchemaValidateRequest = object { data_schema }
Request schema for validating an extraction schema.
data_schema: map[map[unknown] or array of unknown or string or 2 more]
JSON Schema to validate for use with extract jobs
ExtractV2SchemaValidateResponse = object { data_schema }
Response schema for schema validation.
data_schema: map[map[unknown] or array of unknown or string or 2 more]
Validated JSON Schema, ready for use in extract jobs
ExtractedFieldMetadata = object { document_metadata, page_metadata, row_metadata }
Metadata for extracted fields including document, page, and row level info.
document_metadata: optional map[map[unknown] or array of unknown or string or 2 more]
Document-level metadata (citations, confidence) keyed by field name
page_metadata: optional array of map[map[unknown] or array of unknown or string or 2 more]
Per-page metadata when extraction_target is per_page
row_metadata: optional array of map[map[unknown] or array of unknown or string or 2 more]
Per-row metadata when extraction_target is per_table_row