Skip to content

Create Split Job

SplitCreateResponse Split.Create(SplitCreateParamsparameters, CancellationTokencancellationToken = default)
POST/api/v1/split/jobs

Create a split job.

Document input

Set file_input to a file ID or a completed parse job ID (pjb-...). Supplying a parse job reuses its output instead of reading the document again.

Page selection

configuration.target_pages selects which pages of a supplied parse job to split (1-based; 1-50, 1,3,5-7). Pages are read in ascending document order, and each segment’s pages are the parse job’s own page numbers, so segments map straight back to the original document. Requires a parse job as file_input; passing it with a file ID returns 400.

Parse settings

configuration.parse_tier and configuration.parse_config_id control how the document is read before splitting; both are ignored when a parse job is supplied. A parse configuration restricted to a page subset (target_pages or max_pages) is rejected, since split results always number pages relative to the full document.

The job runs asynchronously. Poll GET /split/jobs/{split_job_id} or register a webhook to monitor completion.

ParametersExpand Collapse
SplitCreateParams parameters
required string fileInput

Body param: File ID or parse job ID

string? organizationID

Query param

formatuuid
string? projectID

Query param

formatuuid
Configuration? configuration

Body param: Split configuration with categories and splitting strategy.

required IReadOnlyList<SplitCategory> Categories

Categories to split documents into.

required string Name

Name of the category.

maxLength200
minLength1
string? Description

Optional description of what content belongs in this category.

maxLength2000
minLength1
string? ParseConfigID

Saved parse configuration ID to control how the document is parsed before splitting. Takes precedence over parse_tier. Configurations that restrict pages (target_pages or max_pages on the parse configuration) are rejected: split results number pages relative to the full document. Ignored when a completed parse job is supplied as file_input.

ParseTier? ParseTier

Parse tier used to read the document before splitting. Defaults to fast. Ignored when a completed parse job is supplied as file_input.

One of the following:
"agentic"Agentic
"agentic_plus"AgenticPlus
"cost_effective"CostEffective
"fast"Fast
SplittingStrategy SplittingStrategy

Strategy for splitting documents.

AllowUncategorized AllowUncategorized

Controls handling of pages that don’t match any category. ‘include’: pages can be grouped as ‘uncategorized’ and included in results. ‘forbid’: all pages must be assigned to a defined category. ‘omit’: pages can be classified as ‘uncategorized’ but are excluded from results.

One of the following:
"forbid"Forbid
"include"Include
"omit"Omit
string? CustomInstructions

Free-form guidance for where segment boundaries are placed.

maxLength5000
Long MinPagesPerSplit

Minimum pages per segment. Shorter segments are merged into an adjacent segment; 1 disables merging.

minimum1
string? TargetPages

Comma-separated page numbers or ranges to split (1-based). Pages are split in the order listed. Omit to split all pages. Requires a completed parse job as file_input.

string? Version

Split version to run. Omit for the current release. Preview versions are selectable by name and never resolved automatically.

string? configurationID

Body param: Saved configuration ID

string? transactionID

Body param: Idempotency key scoped to the project. Reusing a key returns the original job; the new request body is ignored.

maxLength255
IReadOnlyList<string>? webhookConfigurationIds

Body param: IDs of saved webhook configurations to notify for this job.

IReadOnlyList<WebhookConfiguration>? webhookConfigurations

Body param: Outbound webhook endpoints to notify on job status changes

IReadOnlyList<WebhookEvent>? WebhookEvents

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

One of the following:
"batch.cancelled"BatchCancelled
"batch.error"BatchError
"batch.pending"BatchPending
"batch.running"BatchRunning
"batch.success"BatchSuccess
"classify.cancelled"ClassifyCancelled
"classify.error"ClassifyError
"classify.partial_success"ClassifyPartialSuccess
"classify.pending"ClassifyPending
"classify.running"ClassifyRunning
"classify.success"ClassifySuccess
"extract.cancelled"ExtractCancelled
"extract.error"ExtractError
"extract.partial_success"ExtractPartialSuccess
"extract.pending"ExtractPending
"extract.success"ExtractSuccess
"parse.cancelled"ParseCancelled
"parse.error"ParseError
"parse.partial_success"ParsePartialSuccess
"parse.pending"ParsePending
"parse.running"ParseRunning
"parse.success"ParseSuccess
"sheets.cancelled"SheetsCancelled
"sheets.error"SheetsError
"sheets.partial_success"SheetsPartialSuccess
"sheets.pending"SheetsPending
"sheets.success"SheetsSuccess
"split.cancelled"SplitCancelled
"split.error"SplitError
"split.pending"SplitPending
"split.processing"SplitProcessing
"split.success"SplitSuccess
"unmapped_event"UnmappedEvent
"verify.cancelled"VerifyCancelled
"verify.error"VerifyError
"verify.pending"VerifyPending
"verify.running"VerifyRunning
"verify.success"VerifySuccess
IReadOnlyDictionary<string, string>? WebhookHeaders

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

string? WebhookOutputFormat

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

string? WebhookSigningSecret

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.

string? WebhookUrl

URL to receive webhook POST notifications

ReturnsExpand Collapse
class SplitCreateResponse:

A split job.

required string ID

Unique identifier for the split job.

required IReadOnlyList<SplitCategory> Categories

Categories used for splitting.

required string Name

Name of the category.

maxLength200
minLength1
string? Description

Optional description of what content belongs in this category.

maxLength2000
minLength1
required DocumentInputType DocumentInputType

Whether the input was a file or parse job

One of the following:
"file_id"FileID
"parse_job_id"ParseJobID
"url"Url
required string FileInput

File ID or parse job ID

required string ProjectID

Project this job belongs to.

required string Status

Current job status. Valid values are: pending, processing, completed, failed, cancelled.

required string UserID

User who created this job.

string? ConfigurationID

Split configuration ID used for this job.

DateTimeOffset? CreatedAt

Creation datetime

formatdate-time
string? ErrorMessage

Error message if the job failed.

string? ParseConfigID

Saved parse configuration ID requested for this job, if any.

string? ParseTier

Parse tier requested for this job, if any.

Result of a completed split job.

required IReadOnlyList<SplitSegmentResponse> Segments

List of document segments.

required string Category

Category name this split belongs to.

required string ConfidenceCategory

Categorical confidence level. Valid values are: high, medium, low.

required IReadOnlyList<Long> Pages

Page numbers in this segment, as numbered by the input document.

SplittingStrategy SplittingStrategy

Strategy used for splitting.

AllowUncategorized AllowUncategorized

Controls handling of pages that don’t match any category. ‘include’: pages can be grouped as ‘uncategorized’ and included in results. ‘forbid’: all pages must be assigned to a defined category. ‘omit’: pages can be classified as ‘uncategorized’ but are excluded from results.

One of the following:
"forbid"Forbid
"include"Include
"omit"Omit
string? CustomInstructions

Free-form guidance for where segment boundaries are placed.

maxLength5000
Long MinPagesPerSplit

Minimum pages per segment. Shorter segments are merged into an adjacent segment; 1 disables merging.

minimum1
string? TargetPages

Page selection requested for this job, if any.

string? TransactionID

Idempotency key scoped to the project, if one was provided.

DateTimeOffset? UpdatedAt

Update datetime

formatdate-time

Create Split Job

SplitCreateParams parameters = new()
{
    FileInput = "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
};

var split = await client.Split.Create(parameters);

Console.WriteLine(split);
{
  "id": "id",
  "categories": [
    {
      "name": "x",
      "description": "x"
    }
  ],
  "document_input_type": "file_id",
  "file_input": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "project_id": "project_id",
  "status": "status",
  "user_id": "user_id",
  "configuration_id": "configuration_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "parse_config_id": "parse_config_id",
  "parse_tier": "parse_tier",
  "result": {
    "segments": [
      {
        "category": "category",
        "confidence_category": "confidence_category",
        "pages": [
          0
        ]
      }
    ]
  },
  "splitting_strategy": {
    "allow_uncategorized": "forbid",
    "custom_instructions": "Start a new segment at every signature page.",
    "min_pages_per_split": 1
  },
  "target_pages": "target_pages",
  "transaction_id": "transaction_id",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Returns Examples
{
  "id": "id",
  "categories": [
    {
      "name": "x",
      "description": "x"
    }
  ],
  "document_input_type": "file_id",
  "file_input": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "project_id": "project_id",
  "status": "status",
  "user_id": "user_id",
  "configuration_id": "configuration_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "parse_config_id": "parse_config_id",
  "parse_tier": "parse_tier",
  "result": {
    "segments": [
      {
        "category": "category",
        "confidence_category": "confidence_category",
        "pages": [
          0
        ]
      }
    ]
  },
  "splitting_strategy": {
    "allow_uncategorized": "forbid",
    "custom_instructions": "Start a new segment at every signature page.",
    "min_pages_per_split": 1
  },
  "target_pages": "target_pages",
  "transaction_id": "transaction_id",
  "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/