curl --request POST \ --url https://api.example.com/v1/projects/{project_id}/extract \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --header 'x-selected-account-id: <api-key>' \ --data @- <<EOF{ "parameters": { "extraction_schema": { "properties": { "invoice_id": { "description": "The unique invoice identifier.", "type": "string" }, "total_amount": { "description": "The final amount due.", "type": "number" } }, "required": [ "invoice_id", "total_amount" ], "type": "object" }, "generate_citations": true, "model": "openai/gpt-4", "system_prompt": "You are an expert financial analyst. Extract data with high precision.", "user_prompt": "The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label." }, "source_id": "job_parse_xyz..."}EOF
import requests
url = "https://api.example.com/v1/projects/{project_id}/extract"
payload = {
"parameters": {
"extraction_schema": {
"properties": {
"invoice_id": {
"description": "The unique invoice identifier.",
"type": "string"
},
"total_amount": {
"description": "The final amount due.",
"type": "number"
}
},
"required": ["invoice_id", "total_amount"],
"type": "object"
},
"generate_citations": True,
"model": "openai/gpt-4",
"system_prompt": "You are an expert financial analyst. Extract data with high precision.",
"user_prompt": "The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label."
},
"source_id": "job_parse_xyz..."
}
headers = {
"x-api-key": "<api-key>",
"x-selected-account-id": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
'x-selected-account-id': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
parameters: {
extraction_schema: {
properties: {
invoice_id: {description: 'The unique invoice identifier.', type: 'string'},
total_amount: {description: 'The final amount due.', type: 'number'}
},
required: ['invoice_id', 'total_amount'],
type: 'object'
},
generate_citations: true,
model: 'openai/gpt-4',
system_prompt: 'You are an expert financial analyst. Extract data with high precision.',
user_prompt: 'The invoice total can be found near the bottom right. Pay close attention to the \'Total Due\' label.'
},
source_id: 'job_parse_xyz...'
})
};
fetch('https://api.example.com/v1/projects/{project_id}/extract', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/projects/{project_id}/extract",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'parameters' => [
'extraction_schema' => [
'properties' => [
'invoice_id' => [
'description' => 'The unique invoice identifier.',
'type' => 'string'
],
'total_amount' => [
'description' => 'The final amount due.',
'type' => 'number'
]
],
'required' => [
'invoice_id',
'total_amount'
],
'type' => 'object'
],
'generate_citations' => true,
'model' => 'openai/gpt-4',
'system_prompt' => 'You are an expert financial analyst. Extract data with high precision.',
'user_prompt' => 'The invoice total can be found near the bottom right. Pay close attention to the \'Total Due\' label.'
],
'source_id' => 'job_parse_xyz...'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-selected-account-id: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/projects/{project_id}/extract"
payload := strings.NewReader("{\n \"parameters\": {\n \"extraction_schema\": {\n \"properties\": {\n \"invoice_id\": {\n \"description\": \"The unique invoice identifier.\",\n \"type\": \"string\"\n },\n \"total_amount\": {\n \"description\": \"The final amount due.\",\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"invoice_id\",\n \"total_amount\"\n ],\n \"type\": \"object\"\n },\n \"generate_citations\": true,\n \"model\": \"openai/gpt-4\",\n \"system_prompt\": \"You are an expert financial analyst. Extract data with high precision.\",\n \"user_prompt\": \"The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label.\"\n },\n \"source_id\": \"job_parse_xyz...\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-selected-account-id", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.example.com/v1/projects/{project_id}/extract")
.header("x-api-key", "<api-key>")
.header("x-selected-account-id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"parameters\": {\n \"extraction_schema\": {\n \"properties\": {\n \"invoice_id\": {\n \"description\": \"The unique invoice identifier.\",\n \"type\": \"string\"\n },\n \"total_amount\": {\n \"description\": \"The final amount due.\",\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"invoice_id\",\n \"total_amount\"\n ],\n \"type\": \"object\"\n },\n \"generate_citations\": true,\n \"model\": \"openai/gpt-4\",\n \"system_prompt\": \"You are an expert financial analyst. Extract data with high precision.\",\n \"user_prompt\": \"The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label.\"\n },\n \"source_id\": \"job_parse_xyz...\"\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/projects/{project_id}/extract")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-selected-account-id"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"parameters\": {\n \"extraction_schema\": {\n \"properties\": {\n \"invoice_id\": {\n \"description\": \"The unique invoice identifier.\",\n \"type\": \"string\"\n },\n \"total_amount\": {\n \"description\": \"The final amount due.\",\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"invoice_id\",\n \"total_amount\"\n ],\n \"type\": \"object\"\n },\n \"generate_citations\": true,\n \"model\": \"openai/gpt-4\",\n \"system_prompt\": \"You are an expert financial analyst. Extract data with high precision.\",\n \"user_prompt\": \"The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label.\"\n },\n \"source_id\": \"job_parse_xyz...\"\n}"
response = http.request(request)
puts response.read_body
This endpoint creates an extraction job that runs single-pass LLM extraction
from a parse result or vector store search context. For agentic (decompose / ReAct)
extraction, use POST …/research instead; requests with use_agentic=True are rejected.
Args:
request: Extract job request containing source_id and parameters
Returns:
JobEntity: The created job entity
Raises:
HTTPException: If source not found or workflow startup fails
POST
/
v1
/
projects
/
{project_id}
/
extract
Create Extract Job
curl --request POST \ --url https://api.example.com/v1/projects/{project_id}/extract \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --header 'x-selected-account-id: <api-key>' \ --data @- <<EOF{ "parameters": { "extraction_schema": { "properties": { "invoice_id": { "description": "The unique invoice identifier.", "type": "string" }, "total_amount": { "description": "The final amount due.", "type": "number" } }, "required": [ "invoice_id", "total_amount" ], "type": "object" }, "generate_citations": true, "model": "openai/gpt-4", "system_prompt": "You are an expert financial analyst. Extract data with high precision.", "user_prompt": "The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label." }, "source_id": "job_parse_xyz..."}EOF
import requests
url = "https://api.example.com/v1/projects/{project_id}/extract"
payload = {
"parameters": {
"extraction_schema": {
"properties": {
"invoice_id": {
"description": "The unique invoice identifier.",
"type": "string"
},
"total_amount": {
"description": "The final amount due.",
"type": "number"
}
},
"required": ["invoice_id", "total_amount"],
"type": "object"
},
"generate_citations": True,
"model": "openai/gpt-4",
"system_prompt": "You are an expert financial analyst. Extract data with high precision.",
"user_prompt": "The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label."
},
"source_id": "job_parse_xyz..."
}
headers = {
"x-api-key": "<api-key>",
"x-selected-account-id": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
'x-selected-account-id': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
parameters: {
extraction_schema: {
properties: {
invoice_id: {description: 'The unique invoice identifier.', type: 'string'},
total_amount: {description: 'The final amount due.', type: 'number'}
},
required: ['invoice_id', 'total_amount'],
type: 'object'
},
generate_citations: true,
model: 'openai/gpt-4',
system_prompt: 'You are an expert financial analyst. Extract data with high precision.',
user_prompt: 'The invoice total can be found near the bottom right. Pay close attention to the \'Total Due\' label.'
},
source_id: 'job_parse_xyz...'
})
};
fetch('https://api.example.com/v1/projects/{project_id}/extract', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/projects/{project_id}/extract",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'parameters' => [
'extraction_schema' => [
'properties' => [
'invoice_id' => [
'description' => 'The unique invoice identifier.',
'type' => 'string'
],
'total_amount' => [
'description' => 'The final amount due.',
'type' => 'number'
]
],
'required' => [
'invoice_id',
'total_amount'
],
'type' => 'object'
],
'generate_citations' => true,
'model' => 'openai/gpt-4',
'system_prompt' => 'You are an expert financial analyst. Extract data with high precision.',
'user_prompt' => 'The invoice total can be found near the bottom right. Pay close attention to the \'Total Due\' label.'
],
'source_id' => 'job_parse_xyz...'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-selected-account-id: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/projects/{project_id}/extract"
payload := strings.NewReader("{\n \"parameters\": {\n \"extraction_schema\": {\n \"properties\": {\n \"invoice_id\": {\n \"description\": \"The unique invoice identifier.\",\n \"type\": \"string\"\n },\n \"total_amount\": {\n \"description\": \"The final amount due.\",\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"invoice_id\",\n \"total_amount\"\n ],\n \"type\": \"object\"\n },\n \"generate_citations\": true,\n \"model\": \"openai/gpt-4\",\n \"system_prompt\": \"You are an expert financial analyst. Extract data with high precision.\",\n \"user_prompt\": \"The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label.\"\n },\n \"source_id\": \"job_parse_xyz...\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-selected-account-id", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.example.com/v1/projects/{project_id}/extract")
.header("x-api-key", "<api-key>")
.header("x-selected-account-id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"parameters\": {\n \"extraction_schema\": {\n \"properties\": {\n \"invoice_id\": {\n \"description\": \"The unique invoice identifier.\",\n \"type\": \"string\"\n },\n \"total_amount\": {\n \"description\": \"The final amount due.\",\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"invoice_id\",\n \"total_amount\"\n ],\n \"type\": \"object\"\n },\n \"generate_citations\": true,\n \"model\": \"openai/gpt-4\",\n \"system_prompt\": \"You are an expert financial analyst. Extract data with high precision.\",\n \"user_prompt\": \"The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label.\"\n },\n \"source_id\": \"job_parse_xyz...\"\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/projects/{project_id}/extract")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-selected-account-id"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"parameters\": {\n \"extraction_schema\": {\n \"properties\": {\n \"invoice_id\": {\n \"description\": \"The unique invoice identifier.\",\n \"type\": \"string\"\n },\n \"total_amount\": {\n \"description\": \"The final amount due.\",\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"invoice_id\",\n \"total_amount\"\n ],\n \"type\": \"object\"\n },\n \"generate_citations\": true,\n \"model\": \"openai/gpt-4\",\n \"system_prompt\": \"You are an expert financial analyst. Extract data with high precision.\",\n \"user_prompt\": \"The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label.\"\n },\n \"source_id\": \"job_parse_xyz...\"\n}"
response = http.request(request)
puts response.read_body
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Scale AI","colors":{"primary":"#3f2e7b","light":"#ca62ff","dark":"#3f2e7b"},"logo":{"light":"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/light.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=46027042c16b373ac463148db5ad1d6b","dark":"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/dark.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=02733f39d684d796ec742853eabf0de5"},"favicon":"https://mintcdn.com/scalegp/1vQnbXFkjbQbcgd1/favicon.png?fit=max\u0026auto=format\u0026n=1vQnbXFkjbQbcgd1\u0026q=85\u0026s=f52c84ba46a7cca58551673616dabe9c","background":{"decoration":"windows"},"navbar":{"links":[],"primary":{"type":"button","label":"Platform","href":"https://app.sgp.scale.com/"}},"footer":{"socials":{"x":"https://x.com/scale_ai","facebook":"https://www.facebook.com/scaleapi","linkedin":"https://www.linkedin.com/company/scaleai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"scalegp","hasAudioNarration":false,"actualSubdomain":"scalegp","customDomains":["docs.gp.scale.com"],"gitSource":{"type":"github","owner":"scaleapi","repo":"sgp-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6abeb90f3a8b8379c1eaf648","collectionId":"437f531c-55bf-41b5-8f5d-4e63781df61e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6abeb90f3a8b8379c1eaf648"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6abeb90f3a8b8379c1eaf648","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"API Reference","count":235},{"language":"default","tag":"AgentOps API","count":141},{"language":"default","tag":"Guides","count":131},{"language":"default","tag":"Agentex API","count":94},{"language":"default","tag":"Evaluations","count":72},{"language":"default","tag":"Dex API","count":48},{"language":"default","tag":"Agents","count":41},{"language":"default","tag":"Evaluation Datasets","count":34},{"language":"default","tag":"Models","count":32},{"language":"default","tag":"Knowledge Bases","count":31}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"@font-face{font-family:'Aeonik';src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2);font-weight:400;font-style:normal;font-display:swap}h1,h2,h3{font-family:'aeonik';letter-spacing:normal!important}"}],"page":{"pagePath":"reference/dex/extract/create-extract-job","slug":"/reference/dex/extract/create-extract-job","pageMetadata":{"title":"Create Extract Job","description":"Create a new extract job.\n\nThis endpoint creates an extraction job that runs **single-pass** LLM extraction\nfrom a parse result or vector store search context. For agentic (decompose / ReAct)\nextraction, use ``POST …/research`` instead; requests with ``use_agentic=True`` are rejected.\n\nArgs:\n request: Extract job request containing source_id and parameters\n\nReturns:\n JobEntity: The created job entity\n\nRaises:\n HTTPException: If source not found or workflow startup fails","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/extract","href":"/reference/dex/extract/create-extract-job","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Create a new extract job.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"This endpoint creates an extraction job that runs \", _jsx(_components.strong, {\n children: \"single-pass\"\n }), \" LLM extraction\\nfrom a parse result or vector store search context. For agentic (decompose / ReAct)\\nextraction, use \", _jsx(_components.code, {\n children: \"POST …/research\"\n }), \" instead; requests with \", _jsx(_components.code, {\n children: \"use_agentic=True\"\n }), \" are rejected.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Args:\\nrequest: Extract job request containing source_id and parameters\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Returns:\\nJobEntity: The created job entity\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Raises:\\nHTTPException: If source not found or workflow startup fails\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create Extract Job","description":"Create a new extract job.\n\nThis endpoint creates an extraction job that runs **single-pass** LLM extraction\nfrom a parse result or vector store search context. For agentic (decompose / ReAct)\nextraction, use ``POST …/research`` instead; requests with ``use_agentic=True`` are rejected.\n\nArgs:\n request: Extract job request containing source_id and parameters\n\nReturns:\n JobEntity: The created job entity\n\nRaises:\n HTTPException: If source not found or workflow startup fails","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/extract","href":"/reference/dex/extract/create-extract-job","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Extract"],"summary":"Create Extract Job","description":"Create a new extract job.\n\nThis endpoint creates an extraction job that runs **single-pass** LLM extraction\nfrom a parse result or vector store search context. For agentic (decompose / ReAct)\nextraction, use ``POST …/research`` instead; requests with ``use_agentic=True`` are rejected.\n\nArgs:\n request: Extract job request containing source_id and parameters\n\nReturns:\n JobEntity: The created job entity\n\nRaises:\n HTTPException: If source not found or workflow startup fails","operationId":"create_extract_job_v1_projects__project_id__extract_post","parameters":["d2d83cee-471c-4b1a-b76f-d389ad6ef39e","5268478c-894a-4970-9b86-6a3dd07be563"],"requestBody":"06ab5481-73ff-405d-82ba-026d930d2d1c","responses":{"202":"a81d6c9b-b2ec-4127-9014-64a4f05f8fd5","422":"5c986367-216a-420b-b192-4fb6552645e3"},"method":"post","type":"path","servers":[],"security":["3d5b6088-a4a5-4a82-8450-48a5ac5593af"],"path":"/v1/projects/{project_id}/extract","baseUrlOptions":[],"title":"Create Extract Job","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"d2d83cee-471c-4b1a-b76f-d389ad6ef39e":{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"5268478c-894a-4970-9b86-6a3dd07be563":{"name":"beta_force_strict","in":"query","required":false,"schema":{"oneOf":[{"type":"boolean","title":"Beta Force Strict","description":"Override strict structured outputs for this request. When omitted, uses the DEX_EXTRACT_STRICT_STRUCTURED_OUTPUTS server default.","uniqueKey":"oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Beta Force Strict","description":"Override strict structured outputs for this request. When omitted, uses the DEX_EXTRACT_STRICT_STRUCTURED_OUTPUTS server default.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"boolean | null"},"description":"Override strict structured outputs for this request. When omitted, uses the DEX_EXTRACT_STRICT_STRUCTURED_OUTPUTS server default."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"ExtractFromParseResultJobRequest","description":"Request model for creating an extract job from a parse result.","required":["parameters","source_id"],"example":{"parameters":{"extraction_schema":{"properties":{"invoice_id":{"description":"The unique invoice identifier.","type":"string"},"total_amount":{"description":"The final amount due.","type":"number"}},"required":["invoice_id","total_amount"],"type":"object"},"generate_citations":true,"model":"openai/gpt-4","system_prompt":"You are an expert financial analyst. Extract data with high precision.","user_prompt":"The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label."},"source_id":"job_parse_xyz..."},"properties":{"parameters":{"properties":{"model":{"type":"string","title":"Model","description":"LLM model to use for extraction (e.g., 'openai/gpt-4', 'anthropic/claude-3-sonnet')","isRequired":true,"uniqueKey":"oneOf.0.parameters.model","typeLabel":"string"},"extraction_schema":{"additionalProperties":true,"type":"object","title":"Extraction Schema","description":"JSON schema defining the desired output structure","isRequired":true,"uniqueKey":"oneOf.0.parameters.extraction_schema","typeLabel":"Extraction Schema · object"},"model_kwargs":{"oneOf":[{"type":"object","title":"Model Kwargs","description":"Additional kwargs for the LLM model","additionalProperties":true,"uniqueKey":"oneOf.0.parameters.model_kwargs.oneOf.0","typeLabel":"Model Kwargs · object"},{"type":"null","title":"Model Kwargs","description":"Additional kwargs for the LLM model","uniqueKey":"oneOf.0.parameters.model_kwargs.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.model_kwargs","typeLabel":"Model Kwargs · object | null"},"system_prompt":{"oneOf":[{"type":"string","title":"System Prompt","description":"High-level instructions or context for the extraction model","uniqueKey":"oneOf.0.parameters.system_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"System Prompt","description":"High-level instructions or context for the extraction model","uniqueKey":"oneOf.0.parameters.system_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.system_prompt","typeLabel":"string | null"},"user_prompt":{"oneOf":[{"type":"string","title":"User Prompt","description":"Specific hints about the current document","uniqueKey":"oneOf.0.parameters.user_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Prompt","description":"Specific hints about the current document","uniqueKey":"oneOf.0.parameters.user_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.user_prompt","typeLabel":"string | null"},"generate_citations":{"type":"boolean","title":"Generate Citations","description":"Whether to return bounding boxes for extracted values","default":true,"uniqueKey":"oneOf.0.parameters.generate_citations","typeLabel":"boolean"},"generate_confidence":{"type":"boolean","title":"Generate Confidence","description":"Whether to return confidence scores for extracted values","default":true,"uniqueKey":"oneOf.0.parameters.generate_confidence","typeLabel":"boolean"},"use_agentic":{"type":"boolean","title":"Use Agentic","description":"Must stay False on POST …/extract (400 if True). The extract endpoint only runs single-pass LLM extraction. For agentic (decompose / ReAct) extraction, use POST …/research with ResearchJobRequest.","default":false,"uniqueKey":"oneOf.0.parameters.use_agentic","typeLabel":"boolean"},"agentic_tools":{"oneOf":[{"type":"object","title":"Agentic Tools","description":"Research-shaped tool map; ignored by the extract HTTP path (single-pass only). Use POST …/research for per-tool config. Same key shape as ResearchJobRequest.tools.","additionalProperties":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"When False, the tool is not offered to the agent","default":true,"uniqueKey":"oneOf.0.parameters.agentic_tools.oneOf.0.additionalProperties.enabled","typeLabel":"boolean"},"config":{"additionalProperties":true,"type":"object","title":"Config","description":"Tool-specific configuration (e.g. top_k, filters, rerank_config)","uniqueKey":"oneOf.0.parameters.agentic_tools.oneOf.0.additionalProperties.config","typeLabel":"Config · object"}},"type":"object","title":"ResearchToolConfigEntry","description":"Per-tool enablement and opaque config (e.g. search_config for similarity_search).","uniqueKey":"oneOf.0.parameters.agentic_tools.oneOf.0.additionalProperties","typeLabel":"ResearchToolConfigEntry · object"},"uniqueKey":"oneOf.0.parameters.agentic_tools.oneOf.0","typeLabel":"Agentic Tools · object"},{"type":"null","title":"Agentic Tools","description":"Research-shaped tool map; ignored by the extract HTTP path (single-pass only). Use POST …/research for per-tool config. Same key shape as ResearchJobRequest.tools.","uniqueKey":"oneOf.0.parameters.agentic_tools.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agentic_tools","typeLabel":"Agentic Tools · object | null"},"execute_dependent_subtask_tool_hints":{"type":"boolean","title":"Execute Dependent Subtask Tool Hints","description":"Ignored by POST …/extract (single-pass only). When True on a Research job, dependent subtasks execute their warm-start tool hints as real searches instead of converting them to intent-only guidance.","default":false,"uniqueKey":"oneOf.0.parameters.execute_dependent_subtask_tool_hints","typeLabel":"boolean"},"agent_settings":{"oneOf":[{"type":"object","title":"AgenticSettings","description":"Ignored by POST …/extract. If ``agent_settings.use_agentic`` is True, the extract request is rejected (400); configure agentic behaviour via POST …/research instead.","properties":{"use_agentic":{"type":"boolean","title":"Use Agentic","description":"Legacy mirror of ExtractionParameters.use_agentic. On POST …/extract, True causes a 400 rejection (extract is single-pass only). For agentic runs use POST …/research with ResearchJobRequest.","default":false,"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.use_agentic","typeLabel":"boolean"},"planning_model":{"oneOf":[{"type":"string","title":"Planning Model","description":"Model for planning steps (deciding what to search, decomposing tasks). Defaults to the main extraction model.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.planning_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Planning Model","description":"Model for planning steps (deciding what to search, decomposing tasks). Defaults to the main extraction model.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.planning_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.planning_model","typeLabel":"string | null"},"acting_model":{"oneOf":[{"type":"string","title":"Acting Model","description":"Model for acting steps (producing the final extracted output). Defaults to the main extraction model.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.acting_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Acting Model","description":"Model for acting steps (producing the final extracted output). Defaults to the main extraction model.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.acting_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.acting_model","typeLabel":"string | null"},"reflection_model":{"oneOf":[{"type":"string","title":"Reflection Model","description":"Model for reflection steps (synthesizing search results, aggregating subtasks). Defaults to the main extraction model.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.reflection_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reflection Model","description":"Model for reflection steps (synthesizing search results, aggregating subtasks). Defaults to the main extraction model.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.reflection_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.reflection_model","typeLabel":"string | null"},"max_turns":{"type":"integer","title":"Max Turns","description":"Maximum number of agent turns (decompose→run→aggregate cycles) before forcing completion.","default":2,"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.max_turns","typeLabel":"integer"},"max_context_tokens":{"type":"integer","title":"Max Context Tokens","description":"Max tokens for LLM context (system + messages). Trims when exceeded.","default":100000,"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.max_context_tokens","typeLabel":"integer"},"max_reasoning_hops":{"oneOf":[{"type":"integer","title":"Max Reasoning Hops","description":"Max reasoning hops (search or extract actions) per subtask in the ReAct loop. Default is 10.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.max_reasoning_hops.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Reasoning Hops","description":"Max reasoning hops (search or extract actions) per subtask in the ReAct loop. Default is 10.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.max_reasoning_hops.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.max_reasoning_hops","typeLabel":"integer | null"},"max_waves":{"oneOf":[{"type":"integer","title":"Max Waves","description":"Max dependency waves per turn. Subtasks beyond this depth are promoted to the last wave. Default is 3.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.max_waves.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Waves","description":"Max dependency waves per turn. Subtasks beyond this depth are promoted to the last wave. Default is 3.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.max_waves.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.max_waves","typeLabel":"integer | null"},"max_validation_fix_attempts":{"type":"integer","title":"Max Validation Fix Attempts","description":"Max attempts to fix schema validation errors via LLM reflection.","default":2,"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.max_validation_fix_attempts","typeLabel":"integer"},"decompose_prompt_template":{"oneOf":[{"type":"string","title":"Decompose Prompt Template","description":"Custom decompose prompt template. When None, uses the default.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.decompose_prompt_template.oneOf.0","typeLabel":"string"},{"type":"null","title":"Decompose Prompt Template","description":"Custom decompose prompt template. When None, uses the default.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.decompose_prompt_template.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.decompose_prompt_template","typeLabel":"string | null"},"decompose_rules":{"oneOf":[{"type":"string","title":"Decompose Rules","description":"Extra rules appended to the decompose prompt. When None, uses built-in rules.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.decompose_rules.oneOf.0","typeLabel":"string"},{"type":"null","title":"Decompose Rules","description":"Extra rules appended to the decompose prompt. When None, uses built-in rules.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.decompose_rules.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.decompose_rules","typeLabel":"string | null"},"search_rules":{"oneOf":[{"type":"string","title":"Search Rules","description":"Extra rules appended to the reasoning step search action. When None, uses built-in rules.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.search_rules.oneOf.0","typeLabel":"string"},{"type":"null","title":"Search Rules","description":"Extra rules appended to the reasoning step search action. When None, uses built-in rules.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.search_rules.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.search_rules","typeLabel":"string | null"},"extraction_rules":{"oneOf":[{"type":"string","title":"Extraction Rules","description":"Extra rules appended to the reasoning step extract action. When None, uses built-in rules.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.extraction_rules.oneOf.0","typeLabel":"string"},{"type":"null","title":"Extraction Rules","description":"Extra rules appended to the reasoning step extract action. When None, uses built-in rules.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.extraction_rules.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0.extraction_rules","typeLabel":"string | null"}},"uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.0","typeLabel":"AgenticSettings · object"},{"type":"null","description":"Ignored by POST …/extract. If ``agent_settings.use_agentic`` is True, the extract request is rejected (400); configure agentic behaviour via POST …/research instead.","uniqueKey":"oneOf.0.parameters.agent_settings.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.parameters.agent_settings","typeLabel":"AgenticSettings · object | null"}},"type":"object","required":["model","extraction_schema"],"title":"ExtractionParameters","description":"Extraction parameters including schema and prompts","isRequired":true,"uniqueKey":"oneOf.0.parameters","typeLabel":"ExtractionParameters · object"},"source_id":{"type":"string","title":"Source Id","description":"The ID of the resource to extract from (file_... or job_...)","isRequired":true,"uniqueKey":"oneOf.0.source_id","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"ExtractFromParseResultJobRequest · object"},{"type":"object","title":"ExtractFromVectorStoreJobRequest","description":"Request model for creating an extract job from a vector store.","required":["parameters","search_config"],"example":{"parameters":{"extraction_schema":{"properties":{"invoice_id":{"description":"The unique invoice identifier.","type":"string"},"total_amount":{"description":"The final amount due.","type":"number"}},"required":["invoice_id","total_amount"],"type":"object"},"generate_citations":true,"model":"openai/gpt-4","system_prompt":"You are an expert financial analyst. Extract data with high precision.","user_prompt":"The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label."},"search_config":{"filters":{"file_id":"file_xyz..."},"query_type":"hybrid","rerank_config":{"model":"rerank-model-v1","top_n":5},"top_k":10,"vector_store_id":"vector_store_xyz..."}},"properties":{"parameters":{"properties":{"model":{"type":"string","title":"Model","description":"LLM model to use for extraction (e.g., 'openai/gpt-4', 'anthropic/claude-3-sonnet')","isRequired":true,"uniqueKey":"oneOf.1.parameters.model","typeLabel":"string"},"extraction_schema":{"additionalProperties":true,"type":"object","title":"Extraction Schema","description":"JSON schema defining the desired output structure","isRequired":true,"uniqueKey":"oneOf.1.parameters.extraction_schema","typeLabel":"Extraction Schema · object"},"model_kwargs":{"oneOf":[{"type":"object","title":"Model Kwargs","description":"Additional kwargs for the LLM model","additionalProperties":true,"uniqueKey":"oneOf.1.parameters.model_kwargs.oneOf.0","typeLabel":"Model Kwargs · object"},{"type":"null","title":"Model Kwargs","description":"Additional kwargs for the LLM model","uniqueKey":"oneOf.1.parameters.model_kwargs.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.model_kwargs","typeLabel":"Model Kwargs · object | null"},"system_prompt":{"oneOf":[{"type":"string","title":"System Prompt","description":"High-level instructions or context for the extraction model","uniqueKey":"oneOf.1.parameters.system_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"System Prompt","description":"High-level instructions or context for the extraction model","uniqueKey":"oneOf.1.parameters.system_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.system_prompt","typeLabel":"string | null"},"user_prompt":{"oneOf":[{"type":"string","title":"User Prompt","description":"Specific hints about the current document","uniqueKey":"oneOf.1.parameters.user_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Prompt","description":"Specific hints about the current document","uniqueKey":"oneOf.1.parameters.user_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.user_prompt","typeLabel":"string | null"},"generate_citations":{"type":"boolean","title":"Generate Citations","description":"Whether to return bounding boxes for extracted values","default":true,"uniqueKey":"oneOf.1.parameters.generate_citations","typeLabel":"boolean"},"generate_confidence":{"type":"boolean","title":"Generate Confidence","description":"Whether to return confidence scores for extracted values","default":true,"uniqueKey":"oneOf.1.parameters.generate_confidence","typeLabel":"boolean"},"use_agentic":{"type":"boolean","title":"Use Agentic","description":"Must stay False on POST …/extract (400 if True). The extract endpoint only runs single-pass LLM extraction. For agentic (decompose / ReAct) extraction, use POST …/research with ResearchJobRequest.","default":false,"uniqueKey":"oneOf.1.parameters.use_agentic","typeLabel":"boolean"},"agentic_tools":{"oneOf":[{"type":"object","title":"Agentic Tools","description":"Research-shaped tool map; ignored by the extract HTTP path (single-pass only). Use POST …/research for per-tool config. Same key shape as ResearchJobRequest.tools.","additionalProperties":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"When False, the tool is not offered to the agent","default":true,"uniqueKey":"oneOf.1.parameters.agentic_tools.oneOf.0.additionalProperties.enabled","typeLabel":"boolean"},"config":{"additionalProperties":true,"type":"object","title":"Config","description":"Tool-specific configuration (e.g. top_k, filters, rerank_config)","uniqueKey":"oneOf.1.parameters.agentic_tools.oneOf.0.additionalProperties.config","typeLabel":"Config · object"}},"type":"object","title":"ResearchToolConfigEntry","description":"Per-tool enablement and opaque config (e.g. search_config for similarity_search).","uniqueKey":"oneOf.1.parameters.agentic_tools.oneOf.0.additionalProperties","typeLabel":"ResearchToolConfigEntry · object"},"uniqueKey":"oneOf.1.parameters.agentic_tools.oneOf.0","typeLabel":"Agentic Tools · object"},{"type":"null","title":"Agentic Tools","description":"Research-shaped tool map; ignored by the extract HTTP path (single-pass only). Use POST …/research for per-tool config. Same key shape as ResearchJobRequest.tools.","uniqueKey":"oneOf.1.parameters.agentic_tools.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agentic_tools","typeLabel":"Agentic Tools · object | null"},"execute_dependent_subtask_tool_hints":{"type":"boolean","title":"Execute Dependent Subtask Tool Hints","description":"Ignored by POST …/extract (single-pass only). When True on a Research job, dependent subtasks execute their warm-start tool hints as real searches instead of converting them to intent-only guidance.","default":false,"uniqueKey":"oneOf.1.parameters.execute_dependent_subtask_tool_hints","typeLabel":"boolean"},"agent_settings":{"oneOf":[{"type":"object","title":"AgenticSettings","description":"Ignored by POST …/extract. If ``agent_settings.use_agentic`` is True, the extract request is rejected (400); configure agentic behaviour via POST …/research instead.","properties":{"use_agentic":{"type":"boolean","title":"Use Agentic","description":"Legacy mirror of ExtractionParameters.use_agentic. On POST …/extract, True causes a 400 rejection (extract is single-pass only). For agentic runs use POST …/research with ResearchJobRequest.","default":false,"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.use_agentic","typeLabel":"boolean"},"planning_model":{"oneOf":[{"type":"string","title":"Planning Model","description":"Model for planning steps (deciding what to search, decomposing tasks). Defaults to the main extraction model.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.planning_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Planning Model","description":"Model for planning steps (deciding what to search, decomposing tasks). Defaults to the main extraction model.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.planning_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.planning_model","typeLabel":"string | null"},"acting_model":{"oneOf":[{"type":"string","title":"Acting Model","description":"Model for acting steps (producing the final extracted output). Defaults to the main extraction model.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.acting_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Acting Model","description":"Model for acting steps (producing the final extracted output). Defaults to the main extraction model.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.acting_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.acting_model","typeLabel":"string | null"},"reflection_model":{"oneOf":[{"type":"string","title":"Reflection Model","description":"Model for reflection steps (synthesizing search results, aggregating subtasks). Defaults to the main extraction model.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.reflection_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reflection Model","description":"Model for reflection steps (synthesizing search results, aggregating subtasks). Defaults to the main extraction model.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.reflection_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.reflection_model","typeLabel":"string | null"},"max_turns":{"type":"integer","title":"Max Turns","description":"Maximum number of agent turns (decompose→run→aggregate cycles) before forcing completion.","default":2,"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.max_turns","typeLabel":"integer"},"max_context_tokens":{"type":"integer","title":"Max Context Tokens","description":"Max tokens for LLM context (system + messages). Trims when exceeded.","default":100000,"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.max_context_tokens","typeLabel":"integer"},"max_reasoning_hops":{"oneOf":[{"type":"integer","title":"Max Reasoning Hops","description":"Max reasoning hops (search or extract actions) per subtask in the ReAct loop. Default is 10.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.max_reasoning_hops.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Reasoning Hops","description":"Max reasoning hops (search or extract actions) per subtask in the ReAct loop. Default is 10.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.max_reasoning_hops.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.max_reasoning_hops","typeLabel":"integer | null"},"max_waves":{"oneOf":[{"type":"integer","title":"Max Waves","description":"Max dependency waves per turn. Subtasks beyond this depth are promoted to the last wave. Default is 3.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.max_waves.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Waves","description":"Max dependency waves per turn. Subtasks beyond this depth are promoted to the last wave. Default is 3.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.max_waves.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.max_waves","typeLabel":"integer | null"},"max_validation_fix_attempts":{"type":"integer","title":"Max Validation Fix Attempts","description":"Max attempts to fix schema validation errors via LLM reflection.","default":2,"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.max_validation_fix_attempts","typeLabel":"integer"},"decompose_prompt_template":{"oneOf":[{"type":"string","title":"Decompose Prompt Template","description":"Custom decompose prompt template. When None, uses the default.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.decompose_prompt_template.oneOf.0","typeLabel":"string"},{"type":"null","title":"Decompose Prompt Template","description":"Custom decompose prompt template. When None, uses the default.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.decompose_prompt_template.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.decompose_prompt_template","typeLabel":"string | null"},"decompose_rules":{"oneOf":[{"type":"string","title":"Decompose Rules","description":"Extra rules appended to the decompose prompt. When None, uses built-in rules.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.decompose_rules.oneOf.0","typeLabel":"string"},{"type":"null","title":"Decompose Rules","description":"Extra rules appended to the decompose prompt. When None, uses built-in rules.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.decompose_rules.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.decompose_rules","typeLabel":"string | null"},"search_rules":{"oneOf":[{"type":"string","title":"Search Rules","description":"Extra rules appended to the reasoning step search action. When None, uses built-in rules.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.search_rules.oneOf.0","typeLabel":"string"},{"type":"null","title":"Search Rules","description":"Extra rules appended to the reasoning step search action. When None, uses built-in rules.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.search_rules.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.search_rules","typeLabel":"string | null"},"extraction_rules":{"oneOf":[{"type":"string","title":"Extraction Rules","description":"Extra rules appended to the reasoning step extract action. When None, uses built-in rules.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.extraction_rules.oneOf.0","typeLabel":"string"},{"type":"null","title":"Extraction Rules","description":"Extra rules appended to the reasoning step extract action. When None, uses built-in rules.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.extraction_rules.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0.extraction_rules","typeLabel":"string | null"}},"uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.0","typeLabel":"AgenticSettings · object"},{"type":"null","description":"Ignored by POST …/extract. If ``agent_settings.use_agentic`` is True, the extract request is rejected (400); configure agentic behaviour via POST …/research instead.","uniqueKey":"oneOf.1.parameters.agent_settings.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.parameters.agent_settings","typeLabel":"AgenticSettings · object | null"}},"type":"object","required":["model","extraction_schema"],"title":"ExtractionParameters","description":"Extraction parameters including schema and prompts","isRequired":true,"uniqueKey":"oneOf.1.parameters","typeLabel":"ExtractionParameters · object"},"search_config":{"properties":{"vector_store_id":{"type":"string","title":"Vector Store Id","description":"ID of the vector store","isRequired":true,"uniqueKey":"oneOf.1.search_config.vector_store_id","typeLabel":"string"},"top_k":{"oneOf":[{"type":"integer","title":"Top K","description":"Number of results to return","uniqueKey":"oneOf.1.search_config.top_k.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Top K","description":"Number of results to return","uniqueKey":"oneOf.1.search_config.top_k.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.search_config.top_k","typeLabel":"integer | null"},"filters":{"oneOf":[{"type":"object","title":"Filters","description":"Filters to apply to the search. For example, {file_id: 123}","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.search_config.filters.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","additionalProperties":true,"uniqueKey":"oneOf.1.search_config.filters.oneOf.0.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.1.search_config.filters.oneOf.0.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.1.search_config.filters.oneOf.0","typeLabel":"Filters · object"},{"type":"null","title":"Filters","description":"Filters to apply to the search. For example, {file_id: 123}","uniqueKey":"oneOf.1.search_config.filters.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.search_config.filters","typeLabel":"Filters · object | null"},"rerank_config":{"oneOf":[{"type":"object","title":"RerankConfig","description":"Reranking configuration. This is only applicable for SGP Vector Stores.","properties":{"model":{"oneOf":[{"type":"string","title":"Model","description":"Reranking model to use (uses system default if not specified)","uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.0.model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model","description":"Reranking model to use (uses system default if not specified)","uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.0.model.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.0.model","typeLabel":"string | null"},"top_n":{"oneOf":[{"type":"integer","title":"Top N","description":"Number of results to keep after reranking (defaults to top_k)","minimum":1,"uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.0.top_n.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Top N","description":"Number of results to keep after reranking (defaults to top_k)","uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.0.top_n.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.0.top_n","typeLabel":"integer | null"},"instruction":{"oneOf":[{"type":"string","title":"Instruction","description":"Custom instruction for the reranking model (e.g., 'Given a medical question, retrieve relevant clinical passages'). Only applies to instruction-following rerankers like Qwen3.","uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.0.instruction.oneOf.0","typeLabel":"string"},{"type":"null","title":"Instruction","description":"Custom instruction for the reranking model (e.g., 'Given a medical question, retrieve relevant clinical passages'). Only applies to instruction-following rerankers like Qwen3.","uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.0.instruction.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.0.instruction","typeLabel":"string | null"}},"uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.0","typeLabel":"RerankConfig · object"},{"type":"null","description":"Reranking configuration. This is only applicable for SGP Vector Stores.","uniqueKey":"oneOf.1.search_config.rerank_config.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.search_config.rerank_config","typeLabel":"RerankConfig · object | null"},"external_id":{"oneOf":[{"type":"string","title":"External Id","description":"Engine-specific external identifier for the vector store. When set, this is passed directly to the engine's search/delete methods instead of vector_store_id. Populated from VectorStoreEntity.external_id.","uniqueKey":"oneOf.1.search_config.external_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"External Id","description":"Engine-specific external identifier for the vector store. When set, this is passed directly to the engine's search/delete methods instead of vector_store_id. Populated from VectorStoreEntity.external_id.","uniqueKey":"oneOf.1.search_config.external_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.search_config.external_id","typeLabel":"string | null"}},"additionalProperties":true,"type":"object","required":["vector_store_id"],"title":"SearchConfig","description":"The search config to use for the extract job","isRequired":true,"uniqueKey":"oneOf.1.search_config","typeLabel":"SearchConfig · object"}},"uniqueKey":"oneOf.1","typeLabel":"ExtractFromVectorStoreJobRequest · object"},{"type":"object","title":"ExtractFromFileJobRequest","description":"Request model for extracting directly from a file, skipping parse.\n\nThe file is rendered to page images and handed to a multimodal LLM in a\nsingle structured-output call. Citations are not produced on this path.","required":["parameters","file_id"],"example":{"file_id":"file_xyz...","parameters":{"extraction_schema":{"properties":{"full_name":{"type":"string"},"passport_number":{"type":"string"},"expiry_date":{"format":"date","type":"string"}},"required":["full_name","passport_number"],"type":"object"},"model":"gemini/gemini-2.5-pro","system_prompt":"You are extracting fields from an identity document."}},"properties":{"parameters":{"properties":{"model":{"type":"string","title":"Model","description":"LLM model to use for extraction (e.g., 'openai/gpt-4', 'anthropic/claude-3-sonnet')","isRequired":true,"uniqueKey":"oneOf.2.parameters.model","typeLabel":"string"},"extraction_schema":{"additionalProperties":true,"type":"object","title":"Extraction Schema","description":"JSON schema defining the desired output structure","isRequired":true,"uniqueKey":"oneOf.2.parameters.extraction_schema","typeLabel":"Extraction Schema · object"},"model_kwargs":{"oneOf":[{"type":"object","title":"Model Kwargs","description":"Additional kwargs for the LLM model","additionalProperties":true,"uniqueKey":"oneOf.2.parameters.model_kwargs.oneOf.0","typeLabel":"Model Kwargs · object"},{"type":"null","title":"Model Kwargs","description":"Additional kwargs for the LLM model","uniqueKey":"oneOf.2.parameters.model_kwargs.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.model_kwargs","typeLabel":"Model Kwargs · object | null"},"system_prompt":{"oneOf":[{"type":"string","title":"System Prompt","description":"High-level instructions or context for the extraction model","uniqueKey":"oneOf.2.parameters.system_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"System Prompt","description":"High-level instructions or context for the extraction model","uniqueKey":"oneOf.2.parameters.system_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.system_prompt","typeLabel":"string | null"},"user_prompt":{"oneOf":[{"type":"string","title":"User Prompt","description":"Specific hints about the current document","uniqueKey":"oneOf.2.parameters.user_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Prompt","description":"Specific hints about the current document","uniqueKey":"oneOf.2.parameters.user_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.user_prompt","typeLabel":"string | null"},"generate_citations":{"type":"boolean","title":"Generate Citations","description":"Whether to return bounding boxes for extracted values","default":true,"uniqueKey":"oneOf.2.parameters.generate_citations","typeLabel":"boolean"},"generate_confidence":{"type":"boolean","title":"Generate Confidence","description":"Whether to return confidence scores for extracted values","default":true,"uniqueKey":"oneOf.2.parameters.generate_confidence","typeLabel":"boolean"},"use_agentic":{"type":"boolean","title":"Use Agentic","description":"Must stay False on POST …/extract (400 if True). The extract endpoint only runs single-pass LLM extraction. For agentic (decompose / ReAct) extraction, use POST …/research with ResearchJobRequest.","default":false,"uniqueKey":"oneOf.2.parameters.use_agentic","typeLabel":"boolean"},"agentic_tools":{"oneOf":[{"type":"object","title":"Agentic Tools","description":"Research-shaped tool map; ignored by the extract HTTP path (single-pass only). Use POST …/research for per-tool config. Same key shape as ResearchJobRequest.tools.","additionalProperties":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"When False, the tool is not offered to the agent","default":true,"uniqueKey":"oneOf.2.parameters.agentic_tools.oneOf.0.additionalProperties.enabled","typeLabel":"boolean"},"config":{"additionalProperties":true,"type":"object","title":"Config","description":"Tool-specific configuration (e.g. top_k, filters, rerank_config)","uniqueKey":"oneOf.2.parameters.agentic_tools.oneOf.0.additionalProperties.config","typeLabel":"Config · object"}},"type":"object","title":"ResearchToolConfigEntry","description":"Per-tool enablement and opaque config (e.g. search_config for similarity_search).","uniqueKey":"oneOf.2.parameters.agentic_tools.oneOf.0.additionalProperties","typeLabel":"ResearchToolConfigEntry · object"},"uniqueKey":"oneOf.2.parameters.agentic_tools.oneOf.0","typeLabel":"Agentic Tools · object"},{"type":"null","title":"Agentic Tools","description":"Research-shaped tool map; ignored by the extract HTTP path (single-pass only). Use POST …/research for per-tool config. Same key shape as ResearchJobRequest.tools.","uniqueKey":"oneOf.2.parameters.agentic_tools.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agentic_tools","typeLabel":"Agentic Tools · object | null"},"execute_dependent_subtask_tool_hints":{"type":"boolean","title":"Execute Dependent Subtask Tool Hints","description":"Ignored by POST …/extract (single-pass only). When True on a Research job, dependent subtasks execute their warm-start tool hints as real searches instead of converting them to intent-only guidance.","default":false,"uniqueKey":"oneOf.2.parameters.execute_dependent_subtask_tool_hints","typeLabel":"boolean"},"agent_settings":{"oneOf":[{"type":"object","title":"AgenticSettings","description":"Ignored by POST …/extract. If ``agent_settings.use_agentic`` is True, the extract request is rejected (400); configure agentic behaviour via POST …/research instead.","properties":{"use_agentic":{"type":"boolean","title":"Use Agentic","description":"Legacy mirror of ExtractionParameters.use_agentic. On POST …/extract, True causes a 400 rejection (extract is single-pass only). For agentic runs use POST …/research with ResearchJobRequest.","default":false,"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.use_agentic","typeLabel":"boolean"},"planning_model":{"oneOf":[{"type":"string","title":"Planning Model","description":"Model for planning steps (deciding what to search, decomposing tasks). Defaults to the main extraction model.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.planning_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Planning Model","description":"Model for planning steps (deciding what to search, decomposing tasks). Defaults to the main extraction model.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.planning_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.planning_model","typeLabel":"string | null"},"acting_model":{"oneOf":[{"type":"string","title":"Acting Model","description":"Model for acting steps (producing the final extracted output). Defaults to the main extraction model.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.acting_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Acting Model","description":"Model for acting steps (producing the final extracted output). Defaults to the main extraction model.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.acting_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.acting_model","typeLabel":"string | null"},"reflection_model":{"oneOf":[{"type":"string","title":"Reflection Model","description":"Model for reflection steps (synthesizing search results, aggregating subtasks). Defaults to the main extraction model.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.reflection_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reflection Model","description":"Model for reflection steps (synthesizing search results, aggregating subtasks). Defaults to the main extraction model.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.reflection_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.reflection_model","typeLabel":"string | null"},"max_turns":{"type":"integer","title":"Max Turns","description":"Maximum number of agent turns (decompose→run→aggregate cycles) before forcing completion.","default":2,"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.max_turns","typeLabel":"integer"},"max_context_tokens":{"type":"integer","title":"Max Context Tokens","description":"Max tokens for LLM context (system + messages). Trims when exceeded.","default":100000,"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.max_context_tokens","typeLabel":"integer"},"max_reasoning_hops":{"oneOf":[{"type":"integer","title":"Max Reasoning Hops","description":"Max reasoning hops (search or extract actions) per subtask in the ReAct loop. Default is 10.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.max_reasoning_hops.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Reasoning Hops","description":"Max reasoning hops (search or extract actions) per subtask in the ReAct loop. Default is 10.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.max_reasoning_hops.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.max_reasoning_hops","typeLabel":"integer | null"},"max_waves":{"oneOf":[{"type":"integer","title":"Max Waves","description":"Max dependency waves per turn. Subtasks beyond this depth are promoted to the last wave. Default is 3.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.max_waves.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Waves","description":"Max dependency waves per turn. Subtasks beyond this depth are promoted to the last wave. Default is 3.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.max_waves.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.max_waves","typeLabel":"integer | null"},"max_validation_fix_attempts":{"type":"integer","title":"Max Validation Fix Attempts","description":"Max attempts to fix schema validation errors via LLM reflection.","default":2,"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.max_validation_fix_attempts","typeLabel":"integer"},"decompose_prompt_template":{"oneOf":[{"type":"string","title":"Decompose Prompt Template","description":"Custom decompose prompt template. When None, uses the default.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.decompose_prompt_template.oneOf.0","typeLabel":"string"},{"type":"null","title":"Decompose Prompt Template","description":"Custom decompose prompt template. When None, uses the default.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.decompose_prompt_template.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.decompose_prompt_template","typeLabel":"string | null"},"decompose_rules":{"oneOf":[{"type":"string","title":"Decompose Rules","description":"Extra rules appended to the decompose prompt. When None, uses built-in rules.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.decompose_rules.oneOf.0","typeLabel":"string"},{"type":"null","title":"Decompose Rules","description":"Extra rules appended to the decompose prompt. When None, uses built-in rules.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.decompose_rules.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.decompose_rules","typeLabel":"string | null"},"search_rules":{"oneOf":[{"type":"string","title":"Search Rules","description":"Extra rules appended to the reasoning step search action. When None, uses built-in rules.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.search_rules.oneOf.0","typeLabel":"string"},{"type":"null","title":"Search Rules","description":"Extra rules appended to the reasoning step search action. When None, uses built-in rules.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.search_rules.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.search_rules","typeLabel":"string | null"},"extraction_rules":{"oneOf":[{"type":"string","title":"Extraction Rules","description":"Extra rules appended to the reasoning step extract action. When None, uses built-in rules.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.extraction_rules.oneOf.0","typeLabel":"string"},{"type":"null","title":"Extraction Rules","description":"Extra rules appended to the reasoning step extract action. When None, uses built-in rules.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.extraction_rules.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0.extraction_rules","typeLabel":"string | null"}},"uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.0","typeLabel":"AgenticSettings · object"},{"type":"null","description":"Ignored by POST …/extract. If ``agent_settings.use_agentic`` is True, the extract request is rejected (400); configure agentic behaviour via POST …/research instead.","uniqueKey":"oneOf.2.parameters.agent_settings.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.parameters.agent_settings","typeLabel":"AgenticSettings · object | null"}},"type":"object","required":["model","extraction_schema"],"title":"ExtractionParameters","description":"Extraction parameters including schema and prompts","isRequired":true,"uniqueKey":"oneOf.2.parameters","typeLabel":"ExtractionParameters · object"},"file_id":{"type":"string","title":"File Id","description":"ID of the uploaded file (file_...) to extract from directly.","isRequired":true,"uniqueKey":"oneOf.2.file_id","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"ExtractFromFileJobRequest · object"}],"uniqueKey":"","typeLabel":"ExtractFromParseResultJobRequest · object | ExtractFromVectorStoreJobRequest · object | ExtractFromFileJobRequest · object"},"examples":{"Example":{"title":"Example","value":{"parameters":{"extraction_schema":{"properties":{"invoice_id":{"description":"The unique invoice identifier.","type":"string"},"total_amount":{"description":"The final amount due.","type":"number"}},"required":["invoice_id","total_amount"],"type":"object"},"generate_citations":true,"model":"openai/gpt-4","system_prompt":"You are an expert financial analyst. Extract data with high precision.","user_prompt":"The invoice total can be found near the bottom right. Pay close attention to the 'Total Due' label."},"source_id":"job_parse_xyz..."}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"a81d6c9b-b2ec-4127-9014-64a4f05f8fd5":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"id":{"type":"string","title":"Id","description":"ID of the entity","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"project_id":{"type":"string","title":"Project Id","description":"ID of the project","isRequired":true,"uniqueKey":"project_id","typeLabel":"string"},"operation":{"type":"string","enum":["parse","batch_parse","extract","research","vector_store","chunk","summarization","create_index","update_index"],"title":"JobOperationType","description":"Operation type (e.g., 'parse')","isRequired":true,"uniqueKey":"operation","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pending","running","succeeded","partially_succeeded","failed","cancelled"],"title":"JobStatus","description":"Current job status","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the job was created","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"object":{"type":"string","const":"job","title":"Object","default":"job","uniqueKey":"object","typeLabel":"string"},"source_id":{"oneOf":[{"type":"string","title":"Source Id","description":"Source document/file ID","uniqueKey":"source_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source Id","description":"Source document/file ID","uniqueKey":"source_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"source_id","typeLabel":"string | null"},"correlation_id":{"oneOf":[{"type":"string","title":"Correlation Id","description":"Request correlation ID for tracing","uniqueKey":"correlation_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Correlation Id","description":"Request correlation ID for tracing","uniqueKey":"correlation_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"correlation_id","typeLabel":"string | null"},"started_at":{"oneOf":[{"type":"string","title":"Started At","description":"When the job started processing","format":"date-time","uniqueKey":"started_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Started At","description":"When the job started processing","uniqueKey":"started_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"started_at","typeLabel":"string\u003cdate-time> | null"},"completed_at":{"oneOf":[{"type":"string","title":"Completed At","description":"When the job completed","format":"date-time","uniqueKey":"completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Completed At","description":"When the job completed","uniqueKey":"completed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"completed_at","typeLabel":"string\u003cdate-time> | null"},"result":{"oneOf":[{"type":"object","title":"Result","description":"Job result payload when completed","additionalProperties":true,"uniqueKey":"result.oneOf.0","typeLabel":"Result · object"},{"type":"null","title":"Result","description":"Job result payload when completed","uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"Result · object | null"},"progress":{"oneOf":[{"type":"object","title":"BatchParseProgress","description":"Live progress payload (used by batch jobs)","required":["total","succeeded","failed","cancelled","pending","child_jobs"],"properties":{"total":{"type":"integer","title":"Total","description":"Total number of files in the batch","isRequired":true,"uniqueKey":"progress.oneOf.0.total","typeLabel":"integer"},"succeeded":{"type":"integer","title":"Succeeded","description":"Number of successfully parsed files","isRequired":true,"uniqueKey":"progress.oneOf.0.succeeded","typeLabel":"integer"},"failed":{"type":"integer","title":"Failed","description":"Number of files that failed to parse","isRequired":true,"uniqueKey":"progress.oneOf.0.failed","typeLabel":"integer"},"cancelled":{"type":"integer","title":"Cancelled","description":"Number of cancelled child jobs","isRequired":true,"uniqueKey":"progress.oneOf.0.cancelled","typeLabel":"integer"},"pending":{"type":"integer","title":"Pending","description":"Number of files still pending (0 when job is terminal)","isRequired":true,"uniqueKey":"progress.oneOf.0.pending","typeLabel":"integer"},"child_jobs":{"items":{"properties":{"source_document_id":{"type":"string","title":"Source Document Id","description":"Source document ID","isRequired":true,"uniqueKey":"progress.oneOf.0.child_jobs.items.[INDEX].source_document_id","typeLabel":"string"},"job_id":{"type":"string","title":"Job Id","description":"Child job ID","isRequired":true,"uniqueKey":"progress.oneOf.0.child_jobs.items.[INDEX].job_id","typeLabel":"string"},"status":{"type":"string","enum":["pending","running","succeeded","partially_succeeded","failed","cancelled"],"title":"JobStatus","description":"Status of the child job","isRequired":true,"uniqueKey":"progress.oneOf.0.child_jobs.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"parse_result_id":{"oneOf":[{"type":"string","title":"Parse Result Id","description":"Parse result ID if succeeded","uniqueKey":"progress.oneOf.0.child_jobs.items.[INDEX].parse_result_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Parse Result Id","description":"Parse result ID if succeeded","uniqueKey":"progress.oneOf.0.child_jobs.items.[INDEX].parse_result_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"progress.oneOf.0.child_jobs.items.[INDEX].parse_result_id","typeLabel":"string | null"},"error":{"oneOf":[{"type":"string","title":"Error","description":"Error message if failed","uniqueKey":"progress.oneOf.0.child_jobs.items.[INDEX].error.oneOf.0","typeLabel":"string"},{"type":"null","title":"Error","description":"Error message if failed","uniqueKey":"progress.oneOf.0.child_jobs.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"uniqueKey":"progress.oneOf.0.child_jobs.items.[INDEX].error","typeLabel":"string | null"}},"type":"object","required":["source_document_id","job_id","status"],"title":"BatchChildJobInfo","description":"Status of a single child job within a batch.","uniqueKey":"progress.oneOf.0.child_jobs.items.[INDEX]","typeLabel":"BatchChildJobInfo · object"},"type":"array","title":"Child Jobs","description":"Per-child job status","isRequired":true,"uniqueKey":"progress.oneOf.0.child_jobs","typeLabel":"BatchChildJobInfo · object[]"}},"uniqueKey":"progress.oneOf.0","typeLabel":"BatchParseProgress · object"},{"type":"null","description":"Live progress payload (used by batch jobs)","uniqueKey":"progress.oneOf.1","typeLabel":"null"}],"uniqueKey":"progress","typeLabel":"BatchParseProgress · object | null"},"error":{"oneOf":[{"type":"string","title":"Error","description":"Error message if job failed","uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","title":"Error","description":"Error message if job failed","uniqueKey":"error.oneOf.1","typeLabel":"null"}],"uniqueKey":"error","typeLabel":"string | null"},"history":{"oneOf":[{"type":"array","items":{"properties":{"step":{"type":"string","title":"Step","description":"Human-readable step name","isRequired":true,"uniqueKey":"history.oneOf.0.items.[INDEX].step","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"When this event occurred","isRequired":true,"uniqueKey":"history.oneOf.0.items.[INDEX].timestamp","typeLabel":"string\u003cdate-time>"},"duration_ms":{"oneOf":[{"type":"integer","title":"Duration Ms","description":"Duration in milliseconds (for completed steps)","uniqueKey":"history.oneOf.0.items.[INDEX].duration_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Duration Ms","description":"Duration in milliseconds (for completed steps)","uniqueKey":"history.oneOf.0.items.[INDEX].duration_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"history.oneOf.0.items.[INDEX].duration_ms","typeLabel":"integer | null"},"status":{"oneOf":[{"type":"string","title":"Status","description":"Event status (e.g., 'completed', 'failed')","uniqueKey":"history.oneOf.0.items.[INDEX].status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Status","description":"Event status (e.g., 'completed', 'failed')","uniqueKey":"history.oneOf.0.items.[INDEX].status.oneOf.1","typeLabel":"null"}],"uniqueKey":"history.oneOf.0.items.[INDEX].status","typeLabel":"string | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Additional event details","additionalProperties":true,"uniqueKey":"history.oneOf.0.items.[INDEX].details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Additional event details","uniqueKey":"history.oneOf.0.items.[INDEX].details.oneOf.1","typeLabel":"null"}],"uniqueKey":"history.oneOf.0.items.[INDEX].details","typeLabel":"Details · object | null"}},"type":"object","required":["step","timestamp"],"title":"JobHistoryEvent","description":"A single event in the job execution timeline.","uniqueKey":"history.oneOf.0.items.[INDEX]","typeLabel":"JobHistoryEvent · object"},"title":"History","description":"Timeline of job execution events","uniqueKey":"history.oneOf.0","typeLabel":"JobHistoryEvent · object[]"},{"type":"null","title":"History","description":"Timeline of job execution events","uniqueKey":"history.oneOf.1","typeLabel":"null"}],"uniqueKey":"history","typeLabel":"JobHistoryEvent · object[] | null"}},"type":"object","required":["id","project_id","operation","status","created_at"],"title":"JobEntity","description":"Job response model representing an asynchronous operation.","uniqueKey":"","typeLabel":"JobEntity · object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","project_id":"\u003cstring>","operation":"parse","status":"pending","created_at":"2023-11-07T05:31:56Z","object":"job","source_id":"\u003cstring>","correlation_id":"\u003cstring>","started_at":"2023-11-07T05:31:56Z","completed_at":"2023-11-07T05:31:56Z","result":{},"progress":{"total":123,"succeeded":123,"failed":123,"cancelled":123,"pending":123,"child_jobs":[{"source_document_id":"\u003cstring>","job_id":"\u003cstring>","status":"pending","parse_result_id":"\u003cstring>","error":"\u003cstring>"}]},"error":"\u003cstring>","history":[{"step":"\u003cstring>","timestamp":"2023-11-07T05:31:56Z","duration_ms":123,"status":"\u003cstring>","details":{}}]}}},"exampleType":"generated"}},"exampleType":"generated"},"5c986367-216a-420b-b192-4fb6552645e3":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"},"input":{"oneOf":[{"title":"Input"}],"uniqueKey":"detail.items.[INDEX].input","typeLabel":"any"},"ctx":{"type":"object","title":"Context","uniqueKey":"detail.items.[INDEX].ctx","typeLabel":"Context · object"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>","input":"\u003cunknown>","ctx":{}}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"3d5b6088-a4a5-4a82-8450-48a5ac5593af":{"ApiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for authentication","scopes":[]},"AccountId":{"type":"apiKey","in":"header","name":"x-selected-account-id","description":"Selected Account ID","scopes":[]}}},"servers":{},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for authentication","scopes":[]},"schema":{"title":"x-api-key","type":"string","description":"API key for authentication","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKey","name":"x-api-key"},{"scheme":{"type":"apiKey","in":"header","name":"x-selected-account-id","description":"Selected Account ID","scopes":[]},"schema":{"title":"x-selected-account-id","type":"string","description":"Selected Account ID","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"AccountId","name":"x-selected-account-id"}],"title":"ApiKey \u0026 AccountId"}]},"originalFileLocation":"https://dex.sgp.scale.com/openapi.json"},"subdomain":"scalegp","siteName":"Scale AI","title":"Create Extract Job - Scale AI","navMaps":{"firstHrefInVersion":{"V5":{"href":"/reference/dex/extract/create-extract-job","matchLevel":0},"V4 (legacy)":{"href":"/home","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-09-28T19:56:23.381Z","originalFileLocation":"reference/dex/extract/create-extract-job.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a new extract job. This endpoint creates an extraction job that runs single-pass LLM extraction from a parse result or vector store search context. For agentic (decompose / ReAct) extraction, use POST …/research instead; requests with use_agentic=True are rejected. Args: request: Extract job request containing source_id and parameters Returns: JobEntity: The created job entity Raises: HTTPException: If source not found or workflow startup fails\">\u003cmeta data-mint-head name=\"application-name\" content=\"Scale AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create Extract Job - Scale AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new extract job. This endpoint creates an extraction job that runs single-pass LLM extraction from a parse result or vector store search context. For agentic (decompose / ReAct) extraction, use POST …/research instead; requests with use_agentic=True are rejected. Args: request: Extract job request containing source_id and parameters Returns: JobEntity: The created job entity Raises: HTTPException: If source not found or workflow startup fails\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Scale AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gp.scale.com/reference/dex/extract/create-extract-job\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://scalegp.mintlify.app/_mintlify/api/og/v2?division=Extract\u0026amp;title=Create+Extract+Job\u0026amp;description=Create+a+new+extract+job.%0A%0AThis+endpoint+creates+an+extraction+job+that+runs+**single-pass**+LLM+extraction%0Afrom+a+parse+result+or+vector+store+search+context.+\u0026amp;theme=b7e87dd2f9a2a23155199f59\u0026amp;signature=d489266108c14110caf2c78610da549fe73a0ba68418cb7f355e8ed255731156\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create Extract Job - Scale AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new extract job. This endpoint creates an extraction job that runs single-pass LLM extraction from a parse result or vector store search context. For agentic (decompose / ReAct) extraction, use POST …/research instead; requests with use_agentic=True are rejected. Args: request: Extract job request containing source_id and parameters Returns: JobEntity: The created job entity Raises: HTTPException: If source not found or workflow startup fails\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://scalegp.mintlify.app/_mintlify/api/og/v2?division=Extract\u0026amp;title=Create+Extract+Job\u0026amp;description=Create+a+new+extract+job.%0A%0AThis+endpoint+creates+an+extraction+job+that+runs+**single-pass**+LLM+extraction%0Afrom+a+parse+result+or+vector+store+search+context.+\u0026amp;theme=b7e87dd2f9a2a23155199f59\u0026amp;signature=d489266108c14110caf2c78610da549fe73a0ba68418cb7f355e8ed255731156\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Scale AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3f2e7b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gp.scale.com/reference/dex/extract/create-extract-job\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/dex/extract/create-extract-job.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.gp.scale.com/#organization\",\"name\":\"Scale AI\",\"url\":\"https://docs.gp.scale.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/light.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=46027042c16b373ac463148db5ad1d6b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.gp.scale.com#website\",\"name\":\"Scale AI\",\"url\":\"https://docs.gp.scale.com\",\"publisher\":{\"@id\":\"https://docs.gp.scale.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.gp.scale.com/reference/dex/extract/create-extract-job#webpage\",\"url\":\"https://docs.gp.scale.com/reference/dex/extract/create-extract-job\",\"name\":\"Create Extract Job\",\"description\":\"Create a new extract job. This endpoint creates an extraction job that runs single-pass LLM extraction from a parse result or vector store search context. For agentic (decompose / ReAct) extraction, use POST …/research instead; requests with use_agentic=True are rejected. Args: request: Extract job request containing source_id and parameters Returns: JobEntity: The created job entity Raises: HTTPException: If source not found or workflow startup fails\",\"dateModified\":\"2026-09-28T19:56:23.381Z\",\"isPartOf\":{\"@id\":\"https://docs.gp.scale.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gp.scale.com/reference/dex/extract/create-extract-job#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gp.scale.com/reference/dex/extract/create-extract-job#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Scale AI\",\"item\":\"https://docs.gp.scale.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Extract Job\",\"item\":\"https://docs.gp.scale.com/reference/dex/extract/create-extract-job\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.gp.scale.com/reference/dex/extract/create-extract-job#apireference\",\"headline\":\"Create Extract Job\",\"name\":\"Create Extract Job\",\"description\":\"Create a new extract job. This endpoint creates an extraction job that runs single-pass LLM extraction from a parse result or vector store search context. For agentic (decompose / ReAct) extraction, use POST …/research instead; requests with use_agentic=True are rejected. Args: request: Extract job request containing source_id and parameters Returns: JobEntity: The created job entity Raises: HTTPException: If source not found or workflow startup fails\",\"url\":\"https://docs.gp.scale.com/reference/dex/extract/create-extract-job\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gp.scale.com/reference/dex/extract/create-extract-job#webpage\"},\"dateModified\":\"2026-09-28T19:56:23.381Z\",\"publisher\":{\"@id\":\"https://docs.gp.scale.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.gp.scale.com#website\"}}]}\u003c/script>","siteName":"Scale AI","nav":{"global":null,"versions":[{"version":"V5","tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/docs/v5/overview"}]},{"tab":"AgentOps API","pages":[{"title":"AgentOps API","href":"/reference/v5/inference/run-inference-with-free-form-payload"}]},{"tab":"AgentOps SDK","href":"https://scaleapi.github.io/sgp-sdk-docs/api/python/"},{"tab":"Agentex API","pages":[{"title":"Agentex API","href":"/reference/agentex/agents/get-agent-by-id"}]},{"tab":"Agentex SDK","href":"https://scaleapi.github.io/agentex-sdk-docs/api/python/"},{"tab":"Capabilities","pages":[{"title":"Capabilities","href":"/docs/capabilities/overview"}]},{"tab":"Dex API","groups":[{"group":"Projects","pages":[{"title":"List Projects","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects","href":"/reference/dex/projects/list-projects"},{"title":"Create Project","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects","href":"/reference/dex/projects/create-project"},{"title":"Get Project","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}","href":"/reference/dex/projects/get-project"},{"title":"Update Project","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json put /v1/projects/{project_id}","href":"/reference/dex/projects/update-project"}]},{"group":"Files","pages":[{"title":"List Files","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files","href":"/reference/dex/files/list-files"},{"title":"Upload File","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/files","href":"/reference/dex/files/upload-file"},{"title":"Get By Id","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files/{file_id}","href":"/reference/dex/files/get-by-id"},{"title":"Delete File","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/files/{file_id}","href":"/reference/dex/files/delete-file"},{"title":"Get File Download Url","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files/{file_id}/download-url","href":"/reference/dex/files/get-file-download-url"},{"title":"Stream File Content","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files/{file_id}/stream","href":"/reference/dex/files/stream-file-content"}]},{"group":"Parse","pages":[{"title":"Create Parse Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse","href":"/reference/dex/parse/create-parse-job"},{"title":"Create Batch Parse Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse/batch","href":"/reference/dex/parse/create-batch-parse-job"},{"title":"List Parse Results","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/parse/results","href":"/reference/dex/parse/list-parse-results"},{"title":"Get Parse Result","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/parse/{parse_result_id}/result","href":"/reference/dex/parse/get-parse-result"},{"title":"Upload Parse Result","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse/upload-result","href":"/reference/dex/parse/upload-parse-result"},{"title":"Create Chunk Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse/{parse_result_id}/rechunk","href":"/reference/dex/parse/create-chunk-job"}]},{"group":"Vector Stores","pages":[{"title":"List vector stores","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/vector-stores","href":"/reference/dex/vector-stores/list-vector-stores"},{"title":"Create a new vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores","href":"/reference/dex/vector-stores/create-a-new-vector-store"},{"title":"Get vector store details","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/vector-stores/{vector_store_id}","href":"/reference/dex/vector-stores/get-vector-store-details"},{"title":"Delete a vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/vector-stores/{vector_store_id}","href":"/reference/dex/vector-stores/delete-a-vector-store"},{"title":"List files in vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/vector-stores/{vector_store_id}/files","href":"/reference/dex/vector-stores/list-files-in-vector-store"},{"title":"Add files to vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores/{vector_store_id}/files","href":"/reference/dex/vector-stores/add-files-to-vector-store"},{"title":"Remove files from vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/vector-stores/{vector_store_id}/files","href":"/reference/dex/vector-stores/remove-files-from-vector-store"},{"title":"Search in vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores/{vector_store_id}/search","href":"/reference/dex/vector-stores/search-in-vector-store"},{"title":"Search in vector store's file","description":"Perform semantic search within a vector store and filter down to a specific file.\n Provide the file_id to search within the file, don't confuse it with parse_result_id, because the two are connected.\n\n This endpoint performs vector-based semantic search to find the most relevant content\n based on the provided query. The search uses embeddings to find semantically similar content.\n\n **Search Parameters:**\n - `query`: The search query text\n - `top_k`: Number of results to return (ranked by relevance)\n - `filters`: Optional filters to narrow search scope (e.g., by file_id)\n\n **Authentication:**\n - Credentials can be provided either through project-level credentials or request-level credentials\n - For SGP Knowledge Base, SGP credentials are required\n\n **Returns:**\n - Ranked list of relevant content chunks\n - Each chunk includes content, source blocks, relevance score, and parse result ID\n - Results are ordered by relevance score (highest first)\n\n **Example Request:**\n ```json\n {\n \"query\": \"What are the main features of the product?\",\n \"top_k\": 5,\n \"filters\": {\n \"file_id\": \"file_123\"\n },\n \"credentials\": {\n \"sgp\": {\n \"api_key\": \"your-api-key\",\n \"base_url\": \"https://api.example.com\"\n }\n }\n }\n ```\n\n **Example Response:**\n ```json\n {\n \"chunks\": [\n {\n \"content\": \"The product includes advanced analytics, real-time monitoring, and automated reporting features.\",\n \"blocks\": [\n {\n \"id\": \"block_123\",\n \"content\": \"The product includes advanced analytics...\",\n \"type\": \"text\"\n }\n ],\n \"score\": 0.95,\n \"parse_result_id\": \"parse_123\"\n }\n ]\n }\n ```","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores/{vector_store_id}/files/{file_id}/search","href":"/reference/dex/vector-stores/search-in-vector-stores-file"}]},{"group":"Extract","pages":[{"title":"Create Extract Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/extract","href":"/reference/dex/extract/create-extract-job"},{"title":"Get Extraction","description":"Get an extraction by ID (job ID) within the specified project.\n\nArgs:\n project_id: Project ID that the extraction belongs to\n extraction_id: Extraction ID (job ID) to retrieve\n\nReturns:\n ExtractionEntity: The extraction details\n\nRaises:\n HTTPException: If project or extraction not found, or extraction doesn't belong to project","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/extract/{extraction_id}/result","href":"/reference/dex/extract/get-extraction"},{"title":"List Extractions","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/extract/results","href":"/reference/dex/extract/list-extractions"}]},{"group":"Research","pages":[{"title":"Create Research Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/research","href":"/reference/dex/research/create-research-job"},{"title":"List Research Results","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/research/results","href":"/reference/dex/research/list-research-results"}]},{"group":"Jobs","pages":[{"title":"Get Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/jobs/{job_id}","href":"/reference/dex/jobs/get-job"},{"title":"List Jobs","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/jobs","href":"/reference/dex/jobs/list-jobs"},{"title":"Cancel Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/jobs/{job_id}/cancel","href":"/reference/dex/jobs/cancel-job"},{"title":"Stream Job Updates","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/jobs/{job_id}/updates","href":"/reference/dex/jobs/stream-job-updates"}]},{"group":"Indexes","pages":[{"title":"List Indexes","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/indexes","href":"/reference/dex/indexes/list-indexes"},{"title":"Create Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes","href":"/reference/dex/indexes/create-index"},{"title":"Get Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/indexes/{index_id}","href":"/reference/dex/indexes/get-index"},{"title":"Delete Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/indexes/{index_id}","href":"/reference/dex/indexes/delete-index"},{"title":"Batch Upsert Files To Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes/{index_id}/files","href":"/reference/dex/indexes/batch-upsert-files-to-index"},{"title":"Batch Delete Files From Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/indexes/{index_id}/files","href":"/reference/dex/indexes/batch-delete-files-from-index"},{"title":"Search Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes/{index_id}/search","href":"/reference/dex/indexes/search-index"},{"title":"Navigate Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes/{index_id}/navigate","href":"/reference/dex/indexes/navigate-index"}]},{"group":"Data sources","pages":[{"title":"List Project Data Sources","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/data-sources","href":"/reference/dex/data-sources/list-project-data-sources"},{"title":"Link Project Data Source","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/data-sources","href":"/reference/dex/data-sources/link-project-data-source"},{"title":"Get Project Data Source","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/data-sources/{data_source_id}","href":"/reference/dex/data-sources/get-project-data-source"},{"title":"Unlink Project Data Source","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/data-sources/{data_source_id}","href":"/reference/dex/data-sources/unlink-project-data-source"},{"title":"Resync Data Source Deltas","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/data-sources/{data_source_id}/resync","href":"/reference/dex/data-sources/resync-data-source-deltas"}]},{"group":"Webhooks","pages":[{"title":"Ingest Data Sources Change Event","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/webhooks/data-sources","href":"/reference/dex/webhooks/ingest-data-sources-change-event"}]}]}]},{"version":"V4 (legacy)","pages":[{"title":"V4 (legacy)","href":"/home"}]}]},"title":"Create Extract Job - Scale AI","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}