Split a multi-document file into segments
split_documentDivide a combined file, e.g. a scanned bundle of invoices or a merged PDF of statements, into typed segments with page ranges (split group), using a saved splitter or inline split classifications. Also the right FIRST step to locate one document or section inside a larger bundle — split, then parse/extract only the relevant segment instead of processing the whole file. Provide exactly one of splitter or config; inline config.splitClassifications needs a type: "other" entry. Each split includes startPage/endPage and, when Extend materializes child files, a fileId usable directly in other tools. Raw text input is not supported — splitting is page-based. Creates a split run: may return status: "running" with a runId — normal, not an error; poll it with get_split_run. Follow any llmContext guidance included in results.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The bundle to split. Exactly one of id/url — e.g. { "url": "https://..." } or { "id": "file_..." }, never a bare string. | |
| config | No | Inline split config: { splitClassifications: [{ id, type, description, identifierKey? }], splitRules?, advancedOptions?, parseConfig? }. Must include a type: "other" entry; ids must be unique. identifierKey names a per-segment value the splitter reads off each segment (e.g. an invoice number), surfaced as identifier on each returned split. Before authoring a config by hand, call get_documentation with https://docs.extend.ai/splitting/configuration.md and follow it. | |
| detail | No | "concise" (default): status, output, failure fields, dashboardUrl. "full": adds config, confidence/citations, usage, timestamps. | |
| metadata | No | Arbitrary key-value metadata stored on the run. | |
| priority | No | Queue priority (1-100). | |
| splitter | No | Saved splitter to run. Provide exactly one of splitter or config. | |
| environment | Yes | "TEST" = the Test (development) environment, "PRODUCTION" = live. Must match a granted target from get_me (an API key pins one environment). | |
| waitSeconds | No | Max seconds to block waiting on the run (clamped to the server wait budget). | |
| workspaceId | Yes | Target workspace (ws_...). Must be a granted workspace — get_me lists the accepted values. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | ||
| runId | Yes | ||
| output | No | Typed segments with page ranges (PROCESSED only). | |
| status | Yes | Terminal status, or "running" (resume via the get tool). | |
| runType | No | ||
| llmContext | No | ||
| dashboardUrl | No | ||
| failureReason | No | ||
| failureMessage | No |