Skip to main content

Overview

The batch endpoints let you run any step of the Pulse pipeline across many documents at once. Each batch call is fully asynchronous — it returns a batch_job_id immediately and orchestrates parallel workers behind the scenes. Poll GET /job/batch_job_id for real-time progress including per-item completion status and individual child job IDs.
Batch endpoints mirror the individual pipeline steps. Each child call goes through the exact same code path as calling the individual endpoint directly — batch is orchestration, not a separate implementation.

Pipeline

Batch endpoints can be chained together, just like their single-document counterparts: Each step takes the output of a previous step as input, either via a batch_extract_id / batch_split_id that references the parent batch job, or via an explicit list of individual IDs.

Workers

Workers process items in parallel. You can control concurrency with the workers parameter on every batch endpoint.

Batch Extract

Enumerate files from an input source and extract content from each one.
See Extract for details on extract_options (pages, figure processing, extensions, etc.).

Request — POST /batch/extract

Response (202)

The batch_job_id from a batch extract can be used in two ways:
  • Batch Schema — Pass it as batch_extract_id to POST /batch/schema to apply the same schema to each document independently (one result per document).
  • Multi-Extraction — Pass it as extraction_id to POST /schema to combine all documents and apply the schema to the composite (one merged result). See Multi-Extraction Mode.

Example — S3 Source

Example — Upload Files from Folder


Batch Schema

Apply the same schema to each document independently, producing one result per extraction. Supports two modes, inferred from input:
  • Single mode — Provide extraction_ids or batch_extract_id with schema_config
  • Split mode — Provide split_ids or batch_split_id with split_schema_config
Batch Schema vs Multi-Extraction — these solve different problems:
  • Batch Schema (POST /batch/schema) applies the same schema to each document separately — you get N results for N documents.
  • Multi-Extraction (POST /schema with a batch extract ID or extraction_ids) combines all documents into one composite and applies the schema once — you get a single result with data merged from all sources.
If you need to pull data that spans across multiple files (e.g., loss data in one file + exposure data in another), use Multi-Extraction instead.
See Schema for details on schema_config, split_schema_config, and the difference between single and split modes.

Request — POST /batch/schema

Response (202)

Example — Single Mode

Example — Split Mode


Batch Tables

Extract tables from multiple existing extractions.
See Tables for details on tables_config (merge, table format, etc.).

Request — POST /batch/tables

Response (202)

Example


Batch Split

Split multiple extractions into topics.
See Split for details on split_config (topic definitions with names and descriptions).

Request — POST /batch/split

Response (202)

Example


Input and Output

Input Sources

Batch Extract accepts one of the following input sources via JSON body: Alternatively, you can upload files directly via multipart form data instead of a JSON body:
All other batch endpoints reference prior results via IDs rather than raw files.

Output Destinations

Every batch endpoint writes results to an output destination. You can specify one or both:

Monitoring Progress

Poll GET /job/batch_job_id to monitor a batch job. The response includes a result object with structured progress:
Each child job_id can be polled individually for detailed results.

Polling Example


Cancellation

Cancel a batch job with DELETE /job/batch_job_id. This cascades to all child jobs that are still pending or processing.

Full Pipeline Example

Process a folder of SEC filings: extract all files, apply a schema, extract tables, split by topic, and apply per-topic schemas.

Extract

Individual file extraction — config options apply to Batch Extract

Schema

Single/split schema extraction — config options apply to Batch Schema

Tables

Table extraction — config options apply to Batch Tables

Split

Topic splitting — config options apply to Batch Split

Poll Job

Poll batch job progress

Cancel Job

Cancel a batch job and all child jobs