For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
GuidesAPI ReferenceChangelogModel Versioning
GuidesAPI ReferenceChangelogModel Versioning
    • Getting Started
    • Authentication
    • API Versioning
    • SDKs
    • Deployments
    • Error Codes
    • Async Processing
  • Endpoints
      • POSTSplit File (Sync)
      • POSTSplit File (Async)
      • GETGet Split Run
      • POSTCancel Split Run
      • DELDelete Split Run
      • GETList Split Runs
      • POSTCreate Splitter
      • GETGet Splitter
      • POSTUpdate Splitter
      • GETList Splitters
      • POSTCreate Splitter Version
      • GETGet Splitter Version
      • GETList Splitter Versions
  • Webhook Events
LogoLogo
EndpointsSplit

Create Splitter

POST
/splitters
POST
/splitters
1import { ExtendClient } from "extend-ai";
2
3const client = new ExtendClient({ token: "YOUR_TOKEN" });
4await client.splitters.create({
5 name: "Document Splitter",
6 config: {
7 splitClassifications: [{
8 id: "invoice",
9 type: "invoice",
10 description: "An invoice or bill for goods or services",
11 identifierKey: "invoice number from the document header"
12 }, {
13 id: "receipt",
14 type: "receipt",
15 description: "A receipt confirming payment",
16 identifierKey: "receipt number"
17 }, {
18 id: "other",
19 type: "other",
20 description: "Any other document type"
21 }]
22 }
23});
1{
2 "object": "splitter",
3 "id": "spl_Xj8mK2pL9nR4vT7qY5wZ",
4 "name": "Invoice Packet Splitter",
5 "createdAt": "2024-03-21T16:45:00Z",
6 "updatedAt": "2024-03-21T16:45:00Z",
7 "draftVersion": {
8 "object": "splitter_version",
9 "id": "splv_xK9mLPqRtN3vS8wF5hB2cQ",
10 "description": "Updated split rules for multi-invoice packets",
11 "version": "draft",
12 "config": {
13 "splitClassifications": [
14 {
15 "id": "my_unique_id",
16 "type": "invoice",
17 "description": "An invoice is a document that lists the items purchased and the total amount due.",
18 "identifierKey": "Extract the invoice number from the document header"
19 }
20 ],
21 "baseProcessor": "splitting_performance",
22 "baseVersion": "string",
23 "splitRules": "string",
24 "advancedOptions": {
25 "splitExcelDocumentsBySheetEnabled": false,
26 "pageRanges": [
27 {
28 "start": 1,
29 "end": 10
30 },
31 {
32 "start": 20,
33 "end": 30
34 }
35 ],
36 "pageOverlapEnabled": false,
37 "splitIdentifierRules": "string",
38 "splitMethod": "high_precision"
39 },
40 "parseConfig": {
41 "target": "markdown",
42 "chunkingStrategy": {
43 "type": "page",
44 "options": {
45 "minCharacters": 500,
46 "maxCharacters": 10000
47 }
48 },
49 "engine": "parse_performance",
50 "engineVersion": "latest",
51 "blockOptions": {
52 "figures": {
53 "enabled": true,
54 "figureImageClippingEnabled": true,
55 "advancedChartExtractionEnabled": false
56 },
57 "tables": {
58 "targetFormat": "html",
59 "tableHeaderContinuationEnabled": false,
60 "cellBlocksEnabled": false,
61 "agentic": {
62 "enabled": false,
63 "customInstructions": "string"
64 },
65 "enabled": true
66 },
67 "text": {
68 "signatureDetectionEnabled": false,
69 "agentic": {
70 "enabled": false,
71 "customInstructions": "string"
72 }
73 },
74 "keyValue": {
75 "blankFieldFormattingEnabled": false
76 },
77 "barcodes": {
78 "imageClippingEnabled": false,
79 "readingEnabled": false
80 },
81 "formulas": {
82 "enabled": false
83 }
84 },
85 "advancedOptions": {
86 "pageRotationEnabled": true,
87 "pageRanges": [
88 {
89 "start": 1,
90 "end": 10
91 },
92 {
93 "start": 20,
94 "end": 30
95 }
96 ],
97 "excelParsingMode": "basic",
98 "excelSkipHiddenContent": false,
99 "excelUseRawCellValues": false,
100 "excelSkipCalculation": true,
101 "verticalGroupingThreshold": 1,
102 "returnOcr": {
103 "words": false
104 },
105 "alwaysConvertToPdf": false,
106 "enrichmentFormat": "xml",
107 "imageConversionQuality": "medium",
108 "formattingDetection": [
109 {
110 "type": "change_tracking"
111 }
112 ]
113 }
114 }
115 },
116 "splitterId": "spl_Xj8mK2pL9nR4vT7qY5wZ",
117 "createdAt": "2024-03-21T16:45:00Z"
118 }
119}
Create a new splitter.
Was this page helpful?
Previous

Get Splitter

Next
Built with

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Headers

x-extend-api-version"2026-02-09"Optional
API version to use for the request. If you're using an SDK, you can ignore this parameter. If you are not using an SDK and do not specify a version, you will either receive a `400 Bad Request` or be set to a previous legacy version. See [API Versioning](https://docs.extend.ai/2026-02-09/developers/api-versioning) for more details.

Request

This endpoint expects an object.
namestringRequired
The name of the splitter.
cloneSplitterIdstringOptional

The ID of an existing splitter to clone. If provided, the new splitter will be created with the same config as the splitter with this ID. Cannot be provided together with config.

Example: "spl_BMdfq_yWM3sT-ZzvCnA3f"

configobjectOptional

The configuration for the splitter. Cannot be provided together with cloneSplitterId.

Response

Splitter created successfully
objectenum

The type of object. Will always be "splitter".

Allowed values:
idstring

The ID of the splitter.

Example: "spl_Xj8mK2pL9nR4vT7qY5wZ"

namestring

The name of the splitter.

Example: "Invoice Packet Splitter"

createdAtstringformat: "date-time"

The time (in UTC) at which the object was created. Will follow the RFC 3339 format.

Example: "2024-03-21T16:45:00Z"

updatedAtstringformat: "date-time"

The time (in UTC) at which the object was last updated. Will follow the RFC 3339 format.

Example: "2024-03-21T16:45:00Z"

draftVersionobject
The draft version of the splitter. This is the editable version in the Extend dashboard.

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error

API version to use for the request. If you’re using an SDK, you can ignore this parameter. If you are not using an SDK and do not specify a version, you will either receive a 400 Bad Request or be set to a previous legacy version. See API Versioning for more details.