Skip to main content
POST
Create Research Job

Authorizations

x-api-key
string
header
required

API key for authentication

x-selected-account-id
string
header
required

Selected Account ID

Path Parameters

project_id
string
required

Body

application/json

Kickoff body for POST /v1/projects/{project_id}/research.

Use tools for per-tool enablement and configuration (same map shape as :class:~dex_core.models.extraction.ExtractionParameters.agentic_tools on extract jobs).

task
ResearchTask · object
required

User task: goal, optional plan, and structured or report-shaped output.

model
string
required

Default model for all agent steps unless overridden in advanced

inputs
ResearchInputs · object

Explicit scope. Empty lists: the API resolves to the project's sole vector store when exactly one exists; otherwise set vector_stores or parse_results explicitly.

tools
Tools · object

Map tool name → enablement + config

advanced
ResearchAdvanced · object | null

Per-stage model/prompt/temperature/reasoning overrides

execute_dependent_subtask_tool_hints
boolean
default:false

When True, DECOMPOSE tool hints for dependent subtasks are executed as warm-start searches (same semantics as extract execute_dependent_subtask_tool_hints). Default False (intent-only hints for dependents).

Response

Successful Response

Job response model representing an asynchronous operation.

id
string
required

ID of the entity

project_id
string
required

ID of the project

operation
enum<string>
required

Operation type (e.g., 'parse')

Available options:
parse,
batch_parse,
extract,
research,
vector_store,
chunk,
summarization,
create_index,
update_index
status
enum<string>
required

Current job status

Available options:
pending,
running,
succeeded,
partially_succeeded,
failed,
cancelled
created_at
string<date-time>
required

When the job was created

object
string
default:job
Allowed value: "job"
source_id
string | null

Source document/file ID

correlation_id
string | null

Request correlation ID for tracing

started_at
string<date-time> | null

When the job started processing

completed_at
string<date-time> | null

When the job completed

result
Result · object | null

Job result payload when completed

progress
BatchParseProgress · object | null

Live progress payload (used by batch jobs)

error
string | null

Error message if job failed

history
JobHistoryEvent · object[] | null

Timeline of job execution events