Skip to content

Create Batch

POST/api/v2/batches

Create a batch over a source directory and start processing asynchronously.

To be notified as the batch progresses, pass webhook_configurations with inline endpoints and/or webhook_configuration_ids referencing saved configurations. Batches emit batch.pending on create, batch.running once processing starts, and a terminal batch.success or batch.error.

batch.success means the batch finished mapping every source file to a job — individual files may still have failed, so read results (with expand=results) for per-file outcomes.

Delivery order across events is not guaranteed; key on the status field in the payload rather than arrival order.

Query ParametersExpand Collapse
organization_id: optional string
project_id: optional string
Cookie ParametersExpand Collapse
session: optional string
Body ParametersJSONExpand Collapse
config: object { job }

Batch configuration snapshot to apply to this source directory.

job: object { configuration_id, type }

Job to create for each file in the source directory.

configuration_id: string

Product configuration ID or built-in preset ID matching the job type.

type: "parse_v2" or "extract_v2"

Product job type to run for each source directory file.

One of the following:
"parse_v2"
"extract_v2"
source_directory_id: string

Directory whose files should be processed.

webhook_configuration_ids: optional array of string

IDs of saved webhook configurations to notify for this job.

webhook_configurations: optional array of object { webhook_events, webhook_headers, webhook_output_format, 2 more }

Outbound webhook endpoints to notify on job status changes

webhook_events: optional array of "batch.cancelled" or "batch.error" or "batch.pending" or 30 more

Events to subscribe to (e.g. ‘parse.success’, ‘extract.error’). If null, all events are delivered.

One of the following:
"batch.cancelled"
"batch.error"
"batch.pending"
"batch.running"
"batch.success"
"classify.cancelled"
"classify.error"
"classify.partial_success"
"classify.pending"
"classify.running"
"classify.success"
"extract.cancelled"
"extract.error"
"extract.partial_success"
"extract.pending"
"extract.success"
"parse.cancelled"
"parse.error"
"parse.partial_success"
"parse.pending"
"parse.running"
"parse.success"
"sheets.cancelled"
"sheets.error"
"sheets.partial_success"
"sheets.pending"
"sheets.success"
"split.cancelled"
"split.error"
"split.pending"
"split.processing"
"split.success"
"unmapped_event"
webhook_headers: optional map[string]

Custom HTTP headers sent with each webhook request (e.g. auth tokens)

webhook_output_format: optional string

Response format sent to the webhook: ‘string’ (default) or ‘json’

webhook_signing_secret: optional string

Shared signing secret used to sign webhook deliveries. When set, each request includes an HMAC-SHA256 signature of the request body in the ‘LC-Signature’ header (value ‘sha256=’). Recompute the HMAC over the raw request body with this secret to verify the delivery is authentic.

webhook_url: optional string

URL to receive webhook POST notifications

ReturnsExpand Collapse
id: string

Unique identifier

config: object { job }

Batch configuration snapshot.

job: object { configuration_id, type }

Job to create for each file in the source directory.

configuration_id: string

Product configuration ID or built-in preset ID matching the job type.

type: "parse_v2" or "extract_v2"

Product job type to run for each source directory file.

One of the following:
"parse_v2"
"extract_v2"
project_id: string

Project this batch belongs to.

source_directory_id: string

Directory being processed.

status: "CANCELLED" or "COMPLETED" or "FAILED" or 3 more

Current batch status.

One of the following:
"CANCELLED"
"COMPLETED"
"FAILED"
"PENDING"
"RUNNING"
"THROTTLED"
created_at: optional string

Creation datetime

formatdate-time
results: optional array of object { source_directory_file_id, error_message, job_reference }

Expanded per-file result mappings. Null unless requested with expand=results, or while the batch is still running.

source_directory_file_id: string

Source directory file processed by this batch.

error_message: optional string

Batch-level mapping error if the system could not create or associate a job for this source file.

job_reference: optional object { id, type }

Reference to a job produced by a batch.

Example: { “type”: “parse_v2”, “id”: “pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee” }

id: string

Job ID, such as a parse job ID.

type: "parse_v2" or "extract_v2"

Type of job produced for the file.

One of the following:
"parse_v2"
"extract_v2"
updated_at: optional string

Update datetime

formatdate-time

Create Batch

curl https://api.cloud.llamaindex.ai/api/v2/batches \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $LLAMA_CLOUD_API_KEY" \
    -d '{
          "config": {
            "job": {
              "configuration_id": "cfg-PARSE_AGENTIC",
              "type": "parse_v2"
            }
          },
          "source_directory_id": "dir-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
        }'
{
  "id": "id",
  "config": {
    "job": {
      "configuration_id": "cfg-PARSE_AGENTIC",
      "type": "parse_v2"
    }
  },
  "project_id": "project_id",
  "source_directory_id": "source_directory_id",
  "status": "CANCELLED",
  "created_at": "2019-12-27T18:11:19.117Z",
  "results": [
    {
      "source_directory_file_id": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "error_message": "error_message",
      "job_reference": {
        "id": "pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
        "type": "parse_v2"
      }
    }
  ],
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Returns Examples
{
  "id": "id",
  "config": {
    "job": {
      "configuration_id": "cfg-PARSE_AGENTIC",
      "type": "parse_v2"
    }
  },
  "project_id": "project_id",
  "source_directory_id": "source_directory_id",
  "status": "CANCELLED",
  "created_at": "2019-12-27T18:11:19.117Z",
  "results": [
    {
      "source_directory_file_id": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "error_message": "error_message",
      "job_reference": {
        "id": "pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
        "type": "parse_v2"
      }
    }
  ],
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Note for AI agents: this documentation is built for programmatic access. - Overview of all docs: https://developers.llamaindex.ai/llms.txt - Any page is available as raw Markdown by appending index.md to its URL — e.g. https://developers.llamaindex.ai/llamaparse/parse/getting_started/index.md - Agent-friendly REST search APIs live under https://developers.llamaindex.ai/api/ — search (BM25 full-text), grep (regex), read (fetch a page), and list (browse the doc tree). See https://developers.llamaindex.ai/llms.txt for parameters. - A hosted documentation MCP server is available at https://developers.llamaindex.ai/mcp. If you support MCP, you can ask the user to install it for browsing these docs directly (an alternative to the REST API). Setup: https://developers.llamaindex.ai/for-agents/mcp/ - Other LlamaIndex tooling for agents — the LlamaParse Platform MCP server, agent skills and plugins, and the n8n node — is mapped at https://developers.llamaindex.ai/for-agents/