Skip to content

Create Split Job

client.Split.New(ctx, params) (*SplitNewResponse, error)
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
params SplitNewParams
FileInput param.Field[string]

Body param: File ID or parse job ID

OrganizationID param.Field[string]Optional

Query param

formatuuid
ProjectID param.Field[string]Optional

Query param

formatuuid
Configuration param.Field[SplitNewParamsConfiguration]Optional

Body param: Split configuration with categories and splitting strategy.

Categories []SplitCategory

Categories to split documents into.

Name string

Name of the category.

maxLength200
minLength1
Description stringOptional

Optional description of what content belongs in this category.

maxLength2000
minLength1
ParseConfigID stringOptional

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 stringOptional

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:
const SplitNewParamsConfigurationParseTierAgentic SplitNewParamsConfigurationParseTier = "agentic"
const SplitNewParamsConfigurationParseTierAgenticPlus SplitNewParamsConfigurationParseTier = "agentic_plus"
const SplitNewParamsConfigurationParseTierCostEffective SplitNewParamsConfigurationParseTier = "cost_effective"
const SplitNewParamsConfigurationParseTierFast SplitNewParamsConfigurationParseTier = "fast"
SplittingStrategy SplitNewParamsConfigurationSplittingStrategyOptional

Strategy for splitting documents.

AllowUncategorized stringOptional

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:
const SplitNewParamsConfigurationSplittingStrategyAllowUncategorizedForbid SplitNewParamsConfigurationSplittingStrategyAllowUncategorized = "forbid"
const SplitNewParamsConfigurationSplittingStrategyAllowUncategorizedInclude SplitNewParamsConfigurationSplittingStrategyAllowUncategorized = "include"
const SplitNewParamsConfigurationSplittingStrategyAllowUncategorizedOmit SplitNewParamsConfigurationSplittingStrategyAllowUncategorized = "omit"
CustomInstructions stringOptional

Free-form guidance for where segment boundaries are placed.

maxLength5000
MinPagesPerSplit int64Optional

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

minimum1
TargetPages stringOptional

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.

Version stringOptional

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

ConfigurationID param.Field[string]Optional

Body param: Saved configuration ID

TransactionID param.Field[string]Optional

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

maxLength255
WebhookConfigurationIDs param.Field[[]string]Optional

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

WebhookConfigurations param.Field[[]SplitNewParamsWebhookConfiguration]Optional

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

WebhookEvents []stringOptional

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

One of the following:
const SplitNewParamsWebhookConfigurationWebhookEventBatchCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "batch.cancelled"
const SplitNewParamsWebhookConfigurationWebhookEventBatchError SplitNewParamsWebhookConfigurationWebhookEvent = "batch.error"
const SplitNewParamsWebhookConfigurationWebhookEventBatchPending SplitNewParamsWebhookConfigurationWebhookEvent = "batch.pending"
const SplitNewParamsWebhookConfigurationWebhookEventBatchRunning SplitNewParamsWebhookConfigurationWebhookEvent = "batch.running"
const SplitNewParamsWebhookConfigurationWebhookEventBatchSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "batch.success"
const SplitNewParamsWebhookConfigurationWebhookEventClassifyCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "classify.cancelled"
const SplitNewParamsWebhookConfigurationWebhookEventClassifyError SplitNewParamsWebhookConfigurationWebhookEvent = "classify.error"
const SplitNewParamsWebhookConfigurationWebhookEventClassifyPartialSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "classify.partial_success"
const SplitNewParamsWebhookConfigurationWebhookEventClassifyPending SplitNewParamsWebhookConfigurationWebhookEvent = "classify.pending"
const SplitNewParamsWebhookConfigurationWebhookEventClassifyRunning SplitNewParamsWebhookConfigurationWebhookEvent = "classify.running"
const SplitNewParamsWebhookConfigurationWebhookEventClassifySuccess SplitNewParamsWebhookConfigurationWebhookEvent = "classify.success"
const SplitNewParamsWebhookConfigurationWebhookEventExtractCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "extract.cancelled"
const SplitNewParamsWebhookConfigurationWebhookEventExtractError SplitNewParamsWebhookConfigurationWebhookEvent = "extract.error"
const SplitNewParamsWebhookConfigurationWebhookEventExtractPartialSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "extract.partial_success"
const SplitNewParamsWebhookConfigurationWebhookEventExtractPending SplitNewParamsWebhookConfigurationWebhookEvent = "extract.pending"
const SplitNewParamsWebhookConfigurationWebhookEventExtractSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "extract.success"
const SplitNewParamsWebhookConfigurationWebhookEventParseCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "parse.cancelled"
const SplitNewParamsWebhookConfigurationWebhookEventParseError SplitNewParamsWebhookConfigurationWebhookEvent = "parse.error"
const SplitNewParamsWebhookConfigurationWebhookEventParsePartialSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "parse.partial_success"
const SplitNewParamsWebhookConfigurationWebhookEventParsePending SplitNewParamsWebhookConfigurationWebhookEvent = "parse.pending"
const SplitNewParamsWebhookConfigurationWebhookEventParseRunning SplitNewParamsWebhookConfigurationWebhookEvent = "parse.running"
const SplitNewParamsWebhookConfigurationWebhookEventParseSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "parse.success"
const SplitNewParamsWebhookConfigurationWebhookEventSheetsCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "sheets.cancelled"
const SplitNewParamsWebhookConfigurationWebhookEventSheetsError SplitNewParamsWebhookConfigurationWebhookEvent = "sheets.error"
const SplitNewParamsWebhookConfigurationWebhookEventSheetsPartialSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "sheets.partial_success"
const SplitNewParamsWebhookConfigurationWebhookEventSheetsPending SplitNewParamsWebhookConfigurationWebhookEvent = "sheets.pending"
const SplitNewParamsWebhookConfigurationWebhookEventSheetsSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "sheets.success"
const SplitNewParamsWebhookConfigurationWebhookEventSplitCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "split.cancelled"
const SplitNewParamsWebhookConfigurationWebhookEventSplitError SplitNewParamsWebhookConfigurationWebhookEvent = "split.error"
const SplitNewParamsWebhookConfigurationWebhookEventSplitPending SplitNewParamsWebhookConfigurationWebhookEvent = "split.pending"
const SplitNewParamsWebhookConfigurationWebhookEventSplitProcessing SplitNewParamsWebhookConfigurationWebhookEvent = "split.processing"
const SplitNewParamsWebhookConfigurationWebhookEventSplitSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "split.success"
const SplitNewParamsWebhookConfigurationWebhookEventUnmappedEvent SplitNewParamsWebhookConfigurationWebhookEvent = "unmapped_event"
const SplitNewParamsWebhookConfigurationWebhookEventVerifyCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "verify.cancelled"
const SplitNewParamsWebhookConfigurationWebhookEventVerifyError SplitNewParamsWebhookConfigurationWebhookEvent = "verify.error"
const SplitNewParamsWebhookConfigurationWebhookEventVerifyPending SplitNewParamsWebhookConfigurationWebhookEvent = "verify.pending"
const SplitNewParamsWebhookConfigurationWebhookEventVerifyRunning SplitNewParamsWebhookConfigurationWebhookEvent = "verify.running"
const SplitNewParamsWebhookConfigurationWebhookEventVerifySuccess SplitNewParamsWebhookConfigurationWebhookEvent = "verify.success"
WebhookHeaders map[string, string]Optional

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

WebhookOutputFormat stringOptional

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

WebhookSigningSecret stringOptional

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.

WebhookURL stringOptional

URL to receive webhook POST notifications

ReturnsExpand Collapse
type SplitNewResponse struct{…}

A split job.

ID string

Unique identifier for the split job.

Categories []SplitCategory

Categories used for splitting.

Name string

Name of the category.

maxLength200
minLength1
Description stringOptional

Optional description of what content belongs in this category.

maxLength2000
minLength1
DocumentInputType SplitNewResponseDocumentInputType

Whether the input was a file or parse job

One of the following:
const SplitNewResponseDocumentInputTypeFileID SplitNewResponseDocumentInputType = "file_id"
const SplitNewResponseDocumentInputTypeParseJobID SplitNewResponseDocumentInputType = "parse_job_id"
const SplitNewResponseDocumentInputTypeURL SplitNewResponseDocumentInputType = "url"
FileInput string

File ID or parse job ID

ProjectID string

Project this job belongs to.

Status string

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

UserID string

User who created this job.

ConfigurationID stringOptional

Split configuration ID used for this job.

CreatedAt TimeOptional

Creation datetime

formatdate-time
ErrorMessage stringOptional

Error message if the job failed.

ParseConfigID stringOptional

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

ParseTier stringOptional

Parse tier requested for this job, if any.

Result SplitResultResponseOptional

Result of a completed split job.

List of document segments.

Category string

Category name this split belongs to.

ConfidenceCategory string

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

Pages []int64

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

SplittingStrategy SplitNewResponseSplittingStrategyOptional

Strategy used for splitting.

AllowUncategorized stringOptional

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:
const SplitNewResponseSplittingStrategyAllowUncategorizedForbid SplitNewResponseSplittingStrategyAllowUncategorized = "forbid"
const SplitNewResponseSplittingStrategyAllowUncategorizedInclude SplitNewResponseSplittingStrategyAllowUncategorized = "include"
const SplitNewResponseSplittingStrategyAllowUncategorizedOmit SplitNewResponseSplittingStrategyAllowUncategorized = "omit"
CustomInstructions stringOptional

Free-form guidance for where segment boundaries are placed.

maxLength5000
MinPagesPerSplit int64Optional

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

minimum1
TargetPages stringOptional

Page selection requested for this job, if any.

TransactionID stringOptional

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

UpdatedAt TimeOptional

Update datetime

formatdate-time

Create Split Job

package main

import (
  "context"
  "fmt"

  "github.com/run-llama/llama-parse-go"
  "github.com/run-llama/llama-parse-go/option"
)

func main() {
  client := llamacloud.NewClient(
    option.WithAPIKey("My API Key"),
  )
  split, err := client.Split.New(context.TODO(), llamacloud.SplitNewParams{
    FileInput: "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", split.ID)
}
{
  "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/