POST
Submit a document for splitting
Request · Response · Guide: Split & classify
One endpoint covers all split modes; the mode is selected by the payload (not a separate endpoint):
  • no options -> normal split (the engine detects boundaries)
  • custom_instruction -> custom (guided) split
  • ranges -> deterministic split (explicit page ranges) Supplying both custom_instruction and ranges is a 422.
Always returns 202 Accepted with a job_id; results are retrieved via GET /v1/jobs/ (result.documents carries the per-split page ranges) or delivered to callback_url when the job settles.Supported input types: application/pdf, image/png, image/jpeg, image/tiff. Any other content type is rejected with 415.

Authorizations

x-api-key
string
header
required

API key for authentication

Body

multipart/form-data
file
file
required

The document. Must be application/pdf, image/png, image/jpeg, or image/tiff.

custom_instruction
string

Optional guided-split instruction, e.g. "group the invoice and packing list as one document". Selects custom (guided) split. Mutually exclusive with ranges.

ranges
string

Optional explicit page ranges as a JSON string of 1-indexed, inclusive [start, end] pairs, e.g. "[[1,3],[4,6]]". Selects deterministic split (no LLM judgment). Mutually exclusive with custom_instruction.

callback_url
string

Optional HTTPS URL to receive the extraction.job.settled webhook when the job settles. A blank value is treated as omitted.

client_ref
string

Opaque caller-supplied reference, echoed on the job and webhook payload.

Maximum string length: 256

Response

Job accepted and queued.

job_id
string
required
Example:

"job_01J9ZK3V6Q8W"

status
enum<string>
required
Available options:
queued
Example:

"queued"

created_at
string<date-time>
required
poll_url
string<uri-reference>
required

URL of GET /v1/jobs/{job_id}.