{"openapi":"3.1.0","info":{"title":"API Reference","version":"1.0.0"},"paths":{"/files/upload":{"post":{"operationId":"upload","summary":"Upload File","description":"Upload and create a new file in Extend.\n\nThis endpoint accepts file contents and registers them as a File in Extend, which can be used for [running workflows](https://docs.extend.ai/2026-02-09/api-reference/endpoints/workflow/create-workflow-run), [creating evaluation set items](https://docs.extend.ai/2026-02-09/api-reference/endpoints/evaluation/create-evaluation-set-item), [parsing](https://docs.extend.ai/2026-02-09/api-reference/endpoints/parse/parse-file), etc.\n\nIf an uploaded file is detected as a Word or PowerPoint document, it will be automatically converted to a PDF.\n\nSupported file types can be found [here](https://docs.extend.ai/2026-02-09/general/supported-file-types).\n\nThis endpoint requires multipart form encoding. Most HTTP clients will handle this encoding automatically (see the examples).\n","tags":["subpackage_files"],"parameters":[{"name":"convertToPdf","in":"query","description":"When true, converts the uploaded file to PDF. Supported file types include images (JPEG, PNG, TIFF, GIF, BMP, WebP, HEIC/HEIF), Word documents, PowerPoint, Excel, and HTML.","required":false,"schema":{"type":"boolean","default":false}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully uploaded file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The file contents to upload"},"password":{"type":"string","description":"The password to unlock a password-protected PDF."}},"required":["file"]}}}}}},"/files/{id}":{"get":{"operationId":"retrieve","summary":"Get File","description":"Fetch a file by its ID.","tags":["subpackage_files"],"parameters":[{"name":"id","in":"path","description":"ID for the file. It will always start with `\"file_\"`.\n\nExample: `\"file_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"rawText","in":"query","description":"**Deprecated:** Use `POST /parse_runs` instead to parse file contents.\n\nIf set to true, the raw text content of the file will be included in the response.\n","required":false,"schema":{"type":"boolean","default":false}},{"name":"markdown","in":"query","description":"**Deprecated:** Use `POST /parse_runs` instead to parse file contents.\n\nIf set to true, the markdown content of the file will be included in the response.\n\nOnly available for files with a type of PDF, IMG, or DOCX files that were auto-converted to PDFs.\n","required":false,"schema":{"type":"boolean","default":false}},{"name":"html","in":"query","description":"**Deprecated:** Use `POST /parse_runs` instead to parse file contents.\n\nIf set to true, the html content of the file will be included in the response.\n\nOnly available for files with a type of DOCX.\n","required":false,"schema":{"type":"boolean","default":false}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Retrieved file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"operationId":"delete","summary":"Delete File","description":"Delete a file and all associated data from Extend. This operation is permanent and cannot be undone.\n\nThis endpoint can be used if you'd like to manage data retention on your own rather than automated data retention policies. Or make one-off deletions for your downstream customers.\n","tags":["subpackage_files"],"parameters":[{"name":"id","in":"path","description":"The ID of the file to delete.\n\nExample: `\"file_xK9mLPqRtN3vS8wF5hB2cQ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/files_delete_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/files":{"get":{"operationId":"list","summary":"List Files","description":"List files.","tags":["subpackage_files"],"parameters":[{"name":"nameContains","in":"query","description":"Filters files to only include those that contain the given string in the name.\n\nExample: `\"invoice\"`\n","required":false,"schema":{"type":"string"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of files","content":{"application/json":{"schema":{"$ref":"#/components/schemas/files_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/parse":{"post":{"operationId":"parse","summary":"Parse File (Sync)","description":"Parse a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.\n\n**Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /parse_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/general/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.\n\nThe Parse endpoint allows you to convert documents into structured, machine-readable formats with fine-grained control over the parsing process. This endpoint is ideal for extracting cleaned document content to be used as context for downstream processing, e.g. RAG pipelines, custom ingestion pipelines, embeddings classification, etc.\n\nFor more details, see the [Parse File guide](https://docs.extend.ai/2026-02-09/parsing/overview).\n","tags":[""],"parameters":[{"name":"responseType","in":"query","description":"Controls the format of the response chunks. Defaults to `json` if not specified.\n* `json` - Returns parsed outputs in the response body\n* `url` - Return a presigned URL to the parsed content in the response body\n","required":false,"schema":{"$ref":"#/components/schemas/ParsePostParametersResponseType"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully parsed file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParseRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/ParsePostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be parsed. Files can be provided as a URL or an Extend file ID."},"config":{"$ref":"#/components/schemas/ParseConfig"},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"]}}}}}},"/parse_runs":{"post":{"operationId":"create","summary":"Parse File (Async)","description":"Parse files to get cleaned, chunked target content (e.g. markdown).\n\nThe Parse endpoint allows you to convert documents into structured, machine-readable formats with fine-grained control over the parsing process. This endpoint is ideal for extracting cleaned document content to be used as context for downstream processing, e.g. RAG pipelines, custom ingestion pipelines, embeddings classification, etc.\n\nFor more details, see the [Parse File guide](https://docs.extend.ai/2026-02-09/parsing/overview). See [Async Processing](https://docs.extend.ai/2026-02-09/general/async-processing) for a full guide on polling helpers and webhooks.\n\n## Polling with the SDK\n\nThe SDK provides a `createAndPoll` / `create_and_poll` method that handles polling automatically, returning when the run reaches a terminal state (`PROCESSED` or `FAILED`):\n\n<Tabs>\n<Tab title=\"TypeScript\">\n```typescript\nconst result = await client.parseRuns.createAndPoll({\n  file: { url: \"https://...\" }\n});\n// Returns when the run reaches a terminal state\nconsole.log(result.output);\n```\n</Tab>\n<Tab title=\"Python\">\n```python\nresult = client.parse_runs.create_and_poll(\n    file={\"url\": \"https://...\"}\n)\n# Returns when the run reaches a terminal state\nprint(result.output)\n```\n</Tab>\n<Tab title=\"Java\">\n```java\nvar result = client.parseRuns().createAndPoll(ParseRunsCreateRequest.builder()\n    .file(ParseRunsCreateRequestFile.of(FileFromUrl.builder().url(\"https://...\").build()))\n    .build());\n// Returns when the run reaches a terminal state\nSystem.out.println(result.getOutput());\n```\n</Tab>\n</Tabs>\n","tags":["subpackage_parseRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully parsed file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParseRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/ParseRunsPostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be parsed. Files can be provided as a URL or an Extend file ID."},"config":{"$ref":"#/components/schemas/ParseConfig"},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"]}}}}},"get":{"operationId":"list","summary":"List Parse Runs","description":"List parse runs, with optional filters for status, batch ID, source, and file name.\n\nReturns a paginated list of parse runs. Use `GET /parse_runs/{id}` to retrieve the full result including output for a specific run.\n","tags":["subpackage_parseRuns"],"parameters":[{"name":"status","in":"query","description":"Filter parse runs by status.","required":false,"schema":{"$ref":"#/components/schemas/ParseRunsGetParametersStatus"}},{"name":"batchId","in":"query","description":"Filter parse runs by the batch they belong to. Use this after submitting a batch via `POST /parse_runs/batch` to retrieve individual run results.\n\nExample: `\"bpar_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":false,"schema":{"type":"string"}},{"name":"source","in":"query","description":"Filters parse runs by the source that created them. If not provided, runs from all sources are returned.\n\n**Note:** When `batchId` is provided, it takes precedence and this filter is ignored.\n","required":false,"schema":{"$ref":"#/components/schemas/ParseRunSource"}},{"name":"sourceId","in":"query","description":"Filters runs by the source ID.","required":false,"schema":{"$ref":"#/components/schemas/RunSourceId"}},{"name":"fileNameContains","in":"query","description":"Filters runs by the name of the file. Only returns runs where the file name contains this string.\n\nExample: `\"invoice\"`\n","required":false,"schema":{"type":"string"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved parse runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/parseRuns_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/parse_runs/{id}":{"get":{"operationId":"retrieve","summary":"Get Parse Run","description":"Retrieve the status and results of a parse run.\n\nUse this endpoint to get results for a parse run that has already completed, or to check on the status of a parse run initiated by the [Create Parse Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/parse/create-parse-run) endpoint.\n","tags":["subpackage_parseRuns"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for the parse run.\n\nExample: `\"pr_xK9mLPqRtN3vS8wF5hB2cQ\"`\n","required":true,"schema":{"type":"string"}},{"name":"responseType","in":"query","description":"Controls how the output is delivered. Defaults to `inline`.\n* `json` - Returns the output directly in the `output` field of the response body.\n* `url` - Returns a presigned URL in the `outputUrl` field to download the output as a JSON file. The URL expires after 15 minutes. Useful for large outputs.\n","required":false,"schema":{"$ref":"#/components/schemas/ParseRunsIdGetParametersResponseType"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved parse run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParseRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"operationId":"delete","summary":"Delete Parse Run","description":"Delete a parse run and all associated data from Extend. This operation is permanent and cannot be undone.\n\nThis endpoint can be used if you'd like to manage data retention on your own rather than automated data retention policies. Or make one-off deletions for your downstream customers.\n","tags":["subpackage_parseRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the parse run to delete.\n\nExample: `\"pr_xK9mLPqRtN3vS8wF5hB2cQ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted parse run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/parseRuns_delete_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/parse_runs/{id}/cancel":{"post":{"operationId":"cancel","summary":"Cancel Parse Run","description":"Cancel an in-progress parse run.\n\nNote: Only parse runs with a status of `\"PROCESSING\"` can be cancelled. Parse runs that have already completed, failed, or been cancelled cannot be cancelled again.\n","tags":["subpackage_parseRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the parse run to cancel.\n\nExample: `\"pr_xK9mLPqRtN3vS8wF5hB2cQ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Parse run cancelled successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParseRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/extract":{"post":{"operationId":"extract","summary":"Extract File (Sync)","description":"Extract structured data from a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.\n\n**Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /extract_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/general/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.\n\nThe Extract endpoint allows you to extract structured data from files using an existing extractor, an inline configuration, or no configuration at all. When neither is provided, Extend automatically infers a schema from the document before extraction — no extractor or schema is required.\n\nFor more details, see the [Extract File guide](https://docs.extend.ai/2026-02-09/extraction/overview).\n","tags":[""],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully extracted data from file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"extractor":{"$ref":"#/components/schemas/ExtractPostRequestBodyContentApplicationJsonSchemaExtractor","description":"Reference to an existing extractor. Mutually exclusive with `config` — provide one or the other, or omit both to have Extend infer a schema from the document.\n"},"config":{"$ref":"#/components/schemas/ExtractConfigJson","description":"Inline extract configuration. Mutually exclusive with `extractor` — provide one or the other, or omit both to have Extend infer a schema from the document.\n"},"file":{"$ref":"#/components/schemas/ExtractPostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be extracted from. Files can be provided as a URL, Extend file ID, or raw text."},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"]}}}}}},"/extract_runs":{"post":{"operationId":"create","summary":"Extract File (Async)","description":"Extract structured data from a file using an existing extractor, an inline configuration, or no configuration at all. When neither is provided, Extend automatically infers a schema from the document before extraction — no extractor or schema is required.\n\nThe request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Extract Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/extract/get-extract-run) endpoint for results. See [Async Processing](https://docs.extend.ai/2026-02-09/general/async-processing) for a full guide on polling helpers and webhooks.\n\nIf you're processing multiple files, consider using the [Batch Extract endpoint](https://docs.extend.ai/2026-02-09/api-reference/endpoints/batch/batch-create-extract-runs) instead.\n\n## Polling with the SDK\n\nThe SDK provides a `createAndPoll` / `create_and_poll` method that handles polling automatically, returning when the run reaches a terminal state (`PROCESSED`, `FAILED`, or `CANCELLED`):\n\n<Tabs>\n<Tab title=\"TypeScript\">\n```typescript\nconst result = await client.extractRuns.createAndPoll({\n  extractor: { id: \"ex_abc123\" },\n  file: { url: \"https://...\" }\n});\n// Returns when the run reaches a terminal state\nconsole.log(result.output?.value);\n```\n</Tab>\n<Tab title=\"Python\">\n```python\nresult = client.extract_runs.create_and_poll(\n    extractor={\"id\": \"ex_abc123\"},\n    file={\"url\": \"https://...\"}\n)\n# Returns when the run reaches a terminal state\nprint(result.output.value)\n```\n</Tab>\n<Tab title=\"Java\">\n```java\nvar result = client.extractRuns().createAndPoll(ExtractRunsCreateRequest.builder()\n    .file(ExtractRunsCreateRequestFile.of(FileFromUrl.builder().url(\"https://...\").build()))\n    .extractor(ExtractRunsCreateRequestExtractor.builder().id(\"ex_abc123\").build())\n    .build());\n// Returns when the run reaches a terminal state\nresult.getOutput().ifPresent(output ->\n    System.out.println(((ExtractOutputJson) output.get()).getValue()));\n```\n</Tab>\n</Tabs>\n","tags":["subpackage_extractRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Extract completed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"extractor":{"$ref":"#/components/schemas/ExtractRunsPostRequestBodyContentApplicationJsonSchemaExtractor","description":"Reference to an existing extractor. Mutually exclusive with `config` — provide one or the other, or omit both to have Extend infer a schema from the document.\n"},"config":{"$ref":"#/components/schemas/ExtractConfigJson","description":"Inline extract configuration. Mutually exclusive with `extractor` — provide one or the other, or omit both to have Extend infer a schema from the document.\n"},"file":{"$ref":"#/components/schemas/ExtractRunsPostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be extracted from. Files can be provided as a URL, Extend file ID, or raw text."},"priority":{"$ref":"#/components/schemas/RunPriority","default":50},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"]}}}}},"get":{"operationId":"list","summary":"List Extract Runs","description":"List all extract runs.\n\nReturns a summary of each run. Use `GET /extract_runs/{id}` to retrieve the full object including `output` and `config`.\n","tags":["subpackage_extractRuns"],"parameters":[{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ProcessorRunStatus"}},{"name":"extractorId","in":"query","description":"Filters extract runs by the extractor ID. If not provided, all extract runs are returned.\n\nExample: `\"ex_BMdfq_yWM3sT-ZzvCnA3f\"`\n","required":false,"schema":{"type":"string"}},{"name":"batchId","in":"query","description":"Filters runs by the batch they belong to. Only returns runs created as part of the specified batch.\n\nExample: `\"bpr_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":false,"schema":{"type":"string"}},{"name":"sourceId","in":"query","description":"Filters runs by the source ID.","required":false,"schema":{"$ref":"#/components/schemas/RunSourceId"}},{"name":"source","in":"query","description":"Filters runs by the source that created them. If not provided, runs from all sources are returned.","required":false,"schema":{"$ref":"#/components/schemas/RunSource"}},{"name":"fileNameContains","in":"query","description":"Filters runs by the name of the file. Only returns runs where the file name contains this string.\n\nExample: `\"invoice\"`\n","required":false,"schema":{"type":"string"}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"You will get a list of summaries for each extract run. These are shortened versions of the full extract run object.\n\nTo get the full object, use the [Get Extract Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/extract/get-extract-run) endpoint.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extractRuns_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/extract_runs/{id}":{"get":{"operationId":"retrieve","summary":"Get Extract Run","description":"Retrieve details about a specific extract run, including its status, outputs, and any edits made during review.\n\nA common use case for this endpoint is to poll for the status and final output of an extract run when using the [Create Extract Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/extract/create-extract-run) endpoint. For instance, if you do not want to not configure webhooks to receive the output via completion/failure events.\n","tags":["subpackage_extractRuns"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for this extract run.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved extract run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"operationId":"delete","summary":"Delete Extract Run","description":"Delete an extract run and all associated data from Extend. This operation is permanent and cannot be undone.\n\nThis endpoint can be used if you'd like to manage data retention on your own rather than automated data retention policies. Or make one-off deletions for your downstream customers.\n","tags":["subpackage_extractRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the extract run.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Extractor run deleted successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extractRuns_delete_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/extract_runs/{id}/cancel":{"post":{"operationId":"cancel","summary":"Cancel Extract Run","description":"Cancel an in-progress extract run.\n\nNote: Only extract runs with a status of `\"PROCESSING\"` can be cancelled. Extractor runs that have already completed, failed, or been cancelled cannot be cancelled again.\n","tags":["subpackage_extractRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the extract run to cancel.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Extractor run cancelled successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/extractors":{"post":{"operationId":"create","summary":"Create Extractor","description":"Create a new extractor.\n\nYou can optionally provide a `generate` object to automatically generate an extraction schema from sample documents using AI. `generate` is mutually exclusive with `config` and `cloneExtractorId`.\n","tags":["subpackage_extractors"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Extractor created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extractor"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the extractor."},"cloneExtractorId":{"type":"string","description":"The ID of an existing extractor to clone. If provided, the new extractor will be created with the same config as the extractor with this ID. Cannot be provided together with `config` or `generate`.\n\nExample: `\"ex_BMdfq_yWM3sT-ZzvCnA3f\"`\n"},"config":{"$ref":"#/components/schemas/ExtractConfigJson","description":"The configuration for the extractor. Cannot be provided together with `cloneExtractorId` or `generate`.\n"},"generate":{"$ref":"#/components/schemas/ExtractorsPostRequestBodyContentApplicationJsonSchemaGenerate","description":"If provided, an extraction schema is automatically generated from the supplied sample documents and applied to the extractor's draft. The response includes the extractor with the generated schema already in place.\n\nCannot be provided together with `config` or `cloneExtractorId`.\n"}},"required":["name"]}}}}},"get":{"operationId":"list","summary":"List Extractors","description":"List all extractors.\n\nReturns a summary of each extractor. Use `GET /extractors/{id}` to retrieve the full object including `draftVersion`.\n","tags":["subpackage_extractors"],"parameters":[{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved extractors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extractors_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/extractors/{id}":{"get":{"operationId":"retrieve","summary":"Get Extractor","description":"Get details of an extractor.","tags":["subpackage_extractors"],"parameters":[{"name":"id","in":"path","description":"The ID of the extractor to get.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Extractor details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extractor"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"operationId":"update","summary":"Update Extractor","description":"Update an existing extractor.","tags":["subpackage_extractors"],"parameters":[{"name":"id","in":"path","description":"The ID of the extractor to update.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Extractor updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extractor"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The new name of the extractor."},"config":{"$ref":"#/components/schemas/ExtractConfigJson","description":"The new configuration for the extractor. This will update the draft version of the extractor."}}}}}}}},"/extractors/{extractorId}/versions":{"post":{"operationId":"create","summary":"Create Extractor Version","description":"This endpoint allows you to publish a new version of an existing extractor. Publishing a new version creates a snapshot of the extractor's current configuration and makes it available for use in workflows.\n\nPublishing a new version does not automatically update existing workflows using this extractor. You may need to manually update workflows to use the new version if desired.\n","tags":["subpackage_extractorVersions"],"parameters":[{"name":"extractorId","in":"path","description":"The ID of the extractor.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully published extractor version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractorVersion"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"releaseType":{"$ref":"#/components/schemas/ReleaseType"},"description":{"$ref":"#/components/schemas/VersionDescription"},"config":{"$ref":"#/components/schemas/ExtractConfigJson","description":"The configuration for this version of the extractor."}},"required":["releaseType"]}}}}},"get":{"operationId":"list","summary":"List Extractor Versions","description":"This endpoint allows you to fetch all versions of a given extractor, including the current `draft` version.\n\nVersions are returned in descending order of creation (newest first) with the `draft` version first. The `draft` version is the latest unpublished version of the extractor, which can be published to create a new version. It might not have any changes from the last published version.\n","tags":["subpackage_extractorVersions"],"parameters":[{"name":"extractorId","in":"path","description":"The ID of the extractor.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved extractor versions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extractorVersions_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/extractors/{extractorId}/versions/{versionId}":{"get":{"operationId":"retrieve","summary":"Get Extractor Version","description":"Retrieve a specific version of an extractor in Extend","tags":["subpackage_extractorVersions"],"parameters":[{"name":"extractorId","in":"path","description":"The ID of the extractor.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"versionId","in":"path","description":"The version to retrieve. Accepts any of the following:\n\n- `\"draft\"` — returns the current draft version\n- `\"latest\"` — returns the latest published version (falls back to draft if none published)\n- A version number (e.g. `\"0.1\"`, `\"1.0\"`) — returns that specific published version\n- A version ID (e.g. `\"extv_QYk6jgHA_8CsO8rVWhyNC\"`) — returns that specific version by ID\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved extractor version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractorVersion"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/classify":{"post":{"operationId":"classify","summary":"Classify File (Sync)","description":"Classify a document synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.\n\n**Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /classify_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/general/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.\n\nThe Classify endpoint allows you to classify documents using an existing classifier or an inline configuration.\n\nFor more details, see the [Classify File guide](https://docs.extend.ai/2026-02-09/classification/configuring-a-classifier).\n","tags":[""],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully classified file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifyRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"classifier":{"$ref":"#/components/schemas/ClassifyPostRequestBodyContentApplicationJsonSchemaClassifier","description":"Reference to an existing classifier. One of `classifier` or `config` must be provided.\n"},"config":{"$ref":"#/components/schemas/ClassifyConfig","description":"Inline classify configuration. One of `classifier` or `config` must be provided.\n"},"file":{"$ref":"#/components/schemas/ClassifyPostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be classified. Files can be provided as a URL, an Extend file ID, or raw text."},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"]}}}}}},"/classify_runs":{"post":{"operationId":"create","summary":"Classify File (Async)","description":"Classify a document using an existing classifier or an inline configuration.\n\nThe request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Classify Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/classify/get-classify-run) endpoint for results. See [Async Processing](https://docs.extend.ai/2026-02-09/general/async-processing) for a full guide on polling helpers and webhooks.\n\nIf you're processing multiple files, consider using the [Batch Classify endpoint](https://docs.extend.ai/2026-02-09/api-reference/endpoints/batch/batch-create-classify-runs) instead.\n\n## Polling with the SDK\n\nThe SDK provides a `createAndPoll` / `create_and_poll` method that handles polling automatically, returning when the run reaches a terminal state (`PROCESSED`, `FAILED`, or `CANCELLED`):\n\n<Tabs>\n<Tab title=\"TypeScript\">\n```typescript\nconst result = await client.classifyRuns.createAndPoll({\n  classifier: { id: \"cl_abc123\" },\n  file: { url: \"https://...\" }\n});\n// Returns when the run reaches a terminal state\nconsole.log(result.output);\n```\n</Tab>\n<Tab title=\"Python\">\n```python\nresult = client.classify_runs.create_and_poll(\n    classifier={\"id\": \"cl_abc123\"},\n    file={\"url\": \"https://...\"}\n)\n# Returns when the run reaches a terminal state\nprint(result.output)\n```\n</Tab>\n<Tab title=\"Java\">\n```java\nvar result = client.classifyRuns().createAndPoll(ClassifyRunsCreateRequest.builder()\n    .file(ClassifyRunsCreateRequestFile.of(FileFromUrl.builder().url(\"https://...\").build()))\n    .classifier(ClassifyRunsCreateRequestClassifier.builder().id(\"cl_abc123\").build())\n    .build());\n// Returns when the run reaches a terminal state\nSystem.out.println(result.getOutput());\n```\n</Tab>\n</Tabs>\n","tags":["subpackage_classifyRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Classification completed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifyRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"classifier":{"$ref":"#/components/schemas/ClassifyRunsPostRequestBodyContentApplicationJsonSchemaClassifier","description":"Reference to an existing classifier. One of `classifier` or `config` must be provided.\n"},"config":{"$ref":"#/components/schemas/ClassifyConfig","description":"Inline classify configuration. One of `classifier` or `config` must be provided.\n"},"file":{"$ref":"#/components/schemas/ClassifyRunsPostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be classified. Files can be provided as a URL, an Extend file ID, or raw text."},"priority":{"$ref":"#/components/schemas/RunPriority","default":50},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"]}}}}},"get":{"operationId":"list","summary":"List Classify Runs","description":"List all classify runs.\n\nReturns a summary of each run. Use `GET /classify_runs/{id}` to retrieve the full object including `output` and `config`.\n","tags":["subpackage_classifyRuns"],"parameters":[{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ProcessorRunStatus"}},{"name":"classifierId","in":"query","description":"Filters classify runs by the classifier ID. If not provided, all classify runs are returned.\n\nExample: `\"cl_BMdfq_yWM3sT-ZzvCnA3f\"`\n","required":false,"schema":{"type":"string"}},{"name":"batchId","in":"query","description":"Filters runs by the batch they belong to. Only returns runs created as part of the specified batch.\n\nExample: `\"bpr_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":false,"schema":{"type":"string"}},{"name":"sourceId","in":"query","description":"Filters runs by the source ID.","required":false,"schema":{"$ref":"#/components/schemas/RunSourceId"}},{"name":"source","in":"query","description":"Filters runs by the source that created them. If not provided, runs from all sources are returned.","required":false,"schema":{"$ref":"#/components/schemas/RunSource"}},{"name":"fileNameContains","in":"query","description":"Filters runs by the name of the file. Only returns runs where the file name contains this string.\n\nExample: `\"invoice\"`\n","required":false,"schema":{"type":"string"}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"You will get a list of summaries for each classify run. These are shortened versions of the full classify run object.\n\nTo get the full object, use the [Get Classify Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/classify/get-classify-run) endpoint.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/classifyRuns_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/classify_runs/{id}":{"get":{"operationId":"retrieve","summary":"Get Classify Run","description":"Retrieve details about a specific classify run, including its status and outputs.\n\nA common use case for this endpoint is to poll for the status and final output of a classify run when using the [Create Classify Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/classify/create-classify-run) endpoint. For instance, if you do not want to not configure webhooks to receive the output via completion/failure events.\n","tags":["subpackage_classifyRuns"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for this classify run.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved classify run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifyRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"operationId":"delete","summary":"Delete Classify Run","description":"Delete a classify run and all associated data from Extend. This operation is permanent and cannot be undone.\n\nThis endpoint can be used if you'd like to manage data retention on your own rather than automated data retention policies. Or make one-off deletions for your downstream customers.\n","tags":["subpackage_classifyRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the classify run.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Classifier run deleted successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/classifyRuns_delete_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/classify_runs/{id}/cancel":{"post":{"operationId":"cancel","summary":"Cancel Classify Run","description":"Cancel an in-progress classify run.\n\nNote: Only classify runs with a status of `\"PROCESSING\"` can be cancelled. Classifier runs that have already completed, failed, or been cancelled cannot be cancelled again.\n","tags":["subpackage_classifyRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the classify run to cancel.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Classifier run cancelled successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifyRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/classifiers":{"post":{"operationId":"create","summary":"Create Classifier","description":"Create a new classifier.","tags":["subpackage_classifiers"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Classifier created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Classifier"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the classifier."},"cloneClassifierId":{"type":"string","description":"The ID of an existing classifier to clone. If provided, the new classifier will be created with the same config as the classifier with this ID. Cannot be provided together with `config`.\n\nExample: `\"cl_BMdfq_yWM3sT-ZzvCnA3f\"`\n"},"config":{"$ref":"#/components/schemas/ClassifyConfig","description":"The configuration for the classifier. Cannot be provided together with `cloneClassifierId`.\n"}},"required":["name"]}}}}},"get":{"operationId":"list","summary":"List Classifiers","description":"List all classifiers.\n\nReturns a summary of each classifier. Use `GET /classifiers/{id}` to retrieve the full object including `draftVersion`.\n","tags":["subpackage_classifiers"],"parameters":[{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved classifiers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/classifiers_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/classifiers/{id}":{"get":{"operationId":"retrieve","summary":"Get Classifier","description":"Get details of a classifier.","tags":["subpackage_classifiers"],"parameters":[{"name":"id","in":"path","description":"The ID of the classifier to get.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Classifier details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Classifier"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"operationId":"update","summary":"Update Classifier","description":"Update an existing classifier.","tags":["subpackage_classifiers"],"parameters":[{"name":"id","in":"path","description":"The ID of the classifier to update.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Classifier updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Classifier"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The new name of the classifier."},"config":{"$ref":"#/components/schemas/ClassifyConfig","description":"The new configuration for the classifier. This will update the draft version of the classifier."}}}}}}}},"/classifiers/{classifierId}/versions":{"post":{"operationId":"create","summary":"Create Classifier Version","description":"This endpoint allows you to publish a new version of an existing classifier. Publishing a new version creates a snapshot of the classifier's current configuration and makes it available for use in workflows.\n\nPublishing a new version does not automatically update existing workflows using this classifier. You may need to manually update workflows to use the new version if desired.\n","tags":["subpackage_classifierVersions"],"parameters":[{"name":"classifierId","in":"path","description":"The ID of the classifier.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully published classifier version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifierVersion"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"releaseType":{"$ref":"#/components/schemas/ReleaseType"},"description":{"$ref":"#/components/schemas/VersionDescription"},"config":{"$ref":"#/components/schemas/ClassifyConfig","description":"The configuration for this version of the classifier."}},"required":["releaseType"]}}}}},"get":{"operationId":"list","summary":"List Classifier Versions","description":"This endpoint allows you to fetch all versions of a given classifier, including the current `draft` version.\n\nVersions are returned in descending order of creation (newest first) with the `draft` version first. The `draft` version is the latest unpublished version of the classifier, which can be published to create a new version. It might not have any changes from the last published version.\n","tags":["subpackage_classifierVersions"],"parameters":[{"name":"classifierId","in":"path","description":"The ID of the classifier.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved classifier versions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/classifierVersions_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/classifiers/{classifierId}/versions/{versionId}":{"get":{"operationId":"retrieve","summary":"Get Classifier Version","description":"Retrieve a specific version of a classifier in Extend","tags":["subpackage_classifierVersions"],"parameters":[{"name":"classifierId","in":"path","description":"The ID of the classifier.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"versionId","in":"path","description":"The version to retrieve. Accepts any of the following:\n\n- `\"draft\"` — returns the current draft version\n- `\"latest\"` — returns the latest published version (falls back to draft if none published)\n- A version number (e.g. `\"0.1\"`, `\"1.0\"`) — returns that specific published version\n- A version ID (e.g. `\"clsv_QYk6jgHA_8CsO8rVWhyNC\"`) — returns that specific version by ID\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved classifier version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifierVersion"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/split":{"post":{"operationId":"split","summary":"Split File (Sync)","description":"Split a document synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.\n\n**Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /split_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/general/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.\n\nThe Split endpoint allows you to split documents into multiple parts using an existing splitter or an inline configuration.\n\nFor more details, see the [Split File guide](https://docs.extend.ai/2026-02-09/splitting/configuring-a-splitter).\n","tags":[""],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully split file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"splitter":{"$ref":"#/components/schemas/SplitPostRequestBodyContentApplicationJsonSchemaSplitter","description":"Reference to an existing splitter. One of `splitter` or `config` must be provided.\n"},"config":{"$ref":"#/components/schemas/SplitConfig","description":"Inline splitter configuration. One of `splitter` or `config` must be provided.\n"},"file":{"$ref":"#/components/schemas/SplitPostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be split. Files can be provided as a URL or an Extend file ID."},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"]}}}}}},"/split_runs":{"post":{"operationId":"create","summary":"Split File (Async)","description":"Split a document into multiple parts using an existing splitter or an inline configuration.\n\nThe request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Split Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/split/get-split-run) endpoint for results. See [Async Processing](https://docs.extend.ai/2026-02-09/general/async-processing) for a full guide on polling helpers and webhooks.\n\nIf you're processing multiple files, consider using the [Batch Split endpoint](https://docs.extend.ai/2026-02-09/api-reference/endpoints/batch/batch-create-split-runs) instead.\n\n## Polling with the SDK\n\nThe SDK provides a `createAndPoll` / `create_and_poll` method that handles polling automatically, returning when the run reaches a terminal state (`PROCESSED`, `FAILED`, or `CANCELLED`):\n\n<Tabs>\n<Tab title=\"TypeScript\">\n```typescript\nconst result = await client.splitRuns.createAndPoll({\n  splitter: { id: \"spl_abc123\" },\n  file: { url: \"https://...\" }\n});\n// Returns when the run reaches a terminal state\nconsole.log(result.output);\n```\n</Tab>\n<Tab title=\"Python\">\n```python\nresult = client.split_runs.create_and_poll(\n    splitter={\"id\": \"spl_abc123\"},\n    file={\"url\": \"https://...\"}\n)\n# Returns when the run reaches a terminal state\nprint(result.output)\n```\n</Tab>\n<Tab title=\"Java\">\n```java\nvar result = client.splitRuns().createAndPoll(SplitRunsCreateRequest.builder()\n    .file(SplitRunsCreateRequestFile.of(FileFromUrl.builder().url(\"https://...\").build()))\n    .splitter(SplitRunsCreateRequestSplitter.builder().id(\"spl_abc123\").build())\n    .build());\n// Returns when the run reaches a terminal state\nSystem.out.println(result.getOutput());\n```\n</Tab>\n</Tabs>\n","tags":["subpackage_splitRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Split completed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"splitter":{"$ref":"#/components/schemas/SplitRunsPostRequestBodyContentApplicationJsonSchemaSplitter","description":"Reference to an existing splitter. One of `splitter` or `config` must be provided.\n"},"config":{"$ref":"#/components/schemas/SplitConfig","description":"Inline splitter configuration. One of `splitter` or `config` must be provided.\n"},"file":{"$ref":"#/components/schemas/SplitRunsPostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be split. Files can be provided as a URL or an Extend file ID."},"priority":{"$ref":"#/components/schemas/RunPriority","default":50},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"]}}}}},"get":{"operationId":"list","summary":"List Split Runs","description":"List all split runs.\n\nReturns a summary of each run. Use `GET /split_runs/{id}` to retrieve the full object including `output` and `config`.\n","tags":["subpackage_splitRuns"],"parameters":[{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ProcessorRunStatus"}},{"name":"splitterId","in":"query","description":"Filters split runs by the splitter ID. If not provided, all split runs are returned.\n\nExample: `\"spl_BMdfq_yWM3sT-ZzvCnA3f\"`\n","required":false,"schema":{"type":"string"}},{"name":"batchId","in":"query","description":"Filters runs by the batch they belong to. Only returns runs created as part of the specified batch.\n\nExample: `\"bpr_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":false,"schema":{"type":"string"}},{"name":"sourceId","in":"query","description":"Filters runs by the source ID.","required":false,"schema":{"$ref":"#/components/schemas/RunSourceId"}},{"name":"source","in":"query","description":"Filters runs by the source that created them. If not provided, runs from all sources are returned.","required":false,"schema":{"$ref":"#/components/schemas/RunSource"}},{"name":"fileNameContains","in":"query","description":"Filters runs by the name of the file. Only returns runs where the file name contains this string.\n\nExample: `\"invoice\"`\n","required":false,"schema":{"type":"string"}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"You will get a list of summaries for each split run. These are shortened versions of the full split run object.\n\nTo get the full object, use the [Get Split Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/split/get-split-run) endpoint.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/splitRuns_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/split_runs/{id}":{"get":{"operationId":"retrieve","summary":"Get Split Run","description":"Retrieve details about a specific split run, including its status and outputs.\n\nA common use case for this endpoint is to poll for the status and final output of a split run when using the [Create Split Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/split/create-split-run) endpoint. For instance, if you do not want to not configure webhooks to receive the output via completion/failure events.\n","tags":["subpackage_splitRuns"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for this split run.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved split run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"operationId":"delete","summary":"Delete Split Run","description":"Delete a split run and all associated data from Extend. This operation is permanent and cannot be undone.\n\nThis endpoint can be used if you'd like to manage data retention on your own rather than automated data retention policies. Or make one-off deletions for your downstream customers.\n","tags":["subpackage_splitRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the split run.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Splitter run deleted successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/splitRuns_delete_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/split_runs/{id}/cancel":{"post":{"operationId":"cancel","summary":"Cancel Split Run","description":"Cancel an in-progress split run.\n\nNote: Only split runs with a status of `\"PROCESSING\"` can be cancelled. Splitter runs that have already completed, failed, or been cancelled cannot be cancelled again.\n","tags":["subpackage_splitRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the split run to cancel.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Splitter run cancelled successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/splitters":{"post":{"operationId":"create","summary":"Create Splitter","description":"Create a new splitter.","tags":["subpackage_splitters"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Splitter created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Splitter"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the splitter."},"cloneSplitterId":{"type":"string","description":"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`.\n\nExample: `\"spl_BMdfq_yWM3sT-ZzvCnA3f\"`\n"},"config":{"$ref":"#/components/schemas/SplitConfig","description":"The configuration for the splitter. Cannot be provided together with `cloneSplitterId`.\n"}},"required":["name"]}}}}},"get":{"operationId":"list","summary":"List Splitters","description":"List all splitters.\n\nReturns a summary of each splitter. Use `GET /splitters/{id}` to retrieve the full object including `draftVersion`.\n","tags":["subpackage_splitters"],"parameters":[{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved splitters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/splitters_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/splitters/{id}":{"get":{"operationId":"retrieve","summary":"Get Splitter","description":"Get details of a splitter.","tags":["subpackage_splitters"],"parameters":[{"name":"id","in":"path","description":"The ID of the splitter to get.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Splitter details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Splitter"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"operationId":"update","summary":"Update Splitter","description":"Update an existing splitter.","tags":["subpackage_splitters"],"parameters":[{"name":"id","in":"path","description":"The ID of the splitter to update.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Splitter updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Splitter"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The new name of the splitter."},"config":{"$ref":"#/components/schemas/SplitConfig","description":"The new configuration for the splitter. This will update the draft version of the splitter."}}}}}}}},"/splitters/{splitterId}/versions":{"post":{"operationId":"create","summary":"Create Splitter Version","description":"This endpoint allows you to publish a new version of an existing splitter. Publishing a new version creates a snapshot of the splitter's current configuration and makes it available for use in workflows.\n\nPublishing a new version does not automatically update existing workflows using this splitter. You may need to manually update workflows to use the new version if desired.\n","tags":["subpackage_splitterVersions"],"parameters":[{"name":"splitterId","in":"path","description":"The ID of the splitter.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully published splitter version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitterVersion"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"releaseType":{"$ref":"#/components/schemas/ReleaseType"},"description":{"$ref":"#/components/schemas/VersionDescription"},"config":{"$ref":"#/components/schemas/SplitConfig","description":"The configuration for this version of the splitter."}},"required":["releaseType"]}}}}},"get":{"operationId":"list","summary":"List Splitter Versions","description":"This endpoint allows you to fetch all versions of a given splitter, including the current `draft` version.\n\nVersions are returned in descending order of creation (newest first) with the `draft` version first. The `draft` version is the latest unpublished version of the splitter, which can be published to create a new version. It might not have any changes from the last published version.\n","tags":["subpackage_splitterVersions"],"parameters":[{"name":"splitterId","in":"path","description":"The ID of the splitter.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved splitter versions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/splitterVersions_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/splitters/{splitterId}/versions/{versionId}":{"get":{"operationId":"retrieve","summary":"Get Splitter Version","description":"Retrieve a specific version of a splitter in Extend","tags":["subpackage_splitterVersions"],"parameters":[{"name":"splitterId","in":"path","description":"The ID of the splitter.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"versionId","in":"path","description":"The version to retrieve. Accepts any of the following:\n\n- `\"draft\"` — returns the current draft version\n- `\"latest\"` — returns the latest published version (falls back to draft if none published)\n- A version number (e.g. `\"0.1\"`, `\"1.0\"`) — returns that specific published version\n- A version ID (e.g. `\"splv_QYk6jgHA_8CsO8rVWhyNC\"`) — returns that specific version by ID\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved splitter version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitterVersion"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/edit":{"post":{"operationId":"edit","summary":"Edit File (Sync)","description":"Edit a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.\n\n**Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /edit_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/general/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.\n\nThe Edit endpoint allows you to detect and fill form fields in PDF documents.\n\nFor more details, see the [Edit File guide](https://docs.extend.ai/2026-02-09/editing/edit).\n","tags":[""],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully edited file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/EditPostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be edited. Files can be provided as a URL or an Extend file ID."},"config":{"$ref":"#/components/schemas/EditConfig"}},"required":["file"]}}}}}},"/edit_runs":{"post":{"operationId":"create","summary":"Edit File (Async)","description":"Edit and manipulate PDF documents by detecting and filling form fields.\n\nThe Edit Runs endpoint allows you to convert and edit documents and get an edit run ID that can be used to check status and retrieve results with the [Get Edit Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/edit/get-edit-run) endpoint.\n\nFor more details, see the [Edit File guide](https://docs.extend.ai/2026-02-09/editing/edit). See [Async Processing](https://docs.extend.ai/2026-02-09/general/async-processing) for a full guide on polling helpers and webhooks.\n\n## Polling with the SDK\n\nThe SDK provides a `createAndPoll` / `create_and_poll` method that handles polling automatically, returning when the run reaches a terminal state (`PROCESSED` or `FAILED`):\n\n<Tabs>\n<Tab title=\"TypeScript\">\n```typescript\nconst result = await client.editRuns.createAndPoll({\n  file: { url: \"https://...\" },\n  config: { /* edit config */ }\n});\n// Returns when the run reaches a terminal state\nconsole.log(result.output);\n```\n</Tab>\n<Tab title=\"Python\">\n```python\nresult = client.edit_runs.create_and_poll(\n    file={\"url\": \"https://...\"},\n    config={ ... }  # edit config\n)\n# Returns when the run reaches a terminal state\nprint(result.output)\n```\n</Tab>\n<Tab title=\"Java\">\n```java\nvar result = client.editRuns().createAndPoll(EditRunsCreateRequest.builder()\n    .file(EditRunsCreateRequestFile.of(FileFromUrl.builder().url(\"https://...\").build()))\n    .config(EditConfig.builder().instructions(\"Fill out the form\").build())\n    .build());\n// Returns when the run reaches a terminal state\nSystem.out.println(result.getOutput());\n```\n</Tab>\n</Tabs>\n","tags":["subpackage_editRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully initiated edit run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/EditRunsPostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be edited. Files can be provided as a URL or an Extend file ID."},"config":{"$ref":"#/components/schemas/EditConfig"}},"required":["file"]}}}}}},"/edit_runs/{id}":{"get":{"operationId":"retrieve","summary":"Get Edit Run","description":"Retrieve the status and results of an edit run.\n\nUse this endpoint to get results for an edit run that has already completed, or to check on the status of an edit run initiated via the [Create Edit Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/edit/create-edit-run) endpoint.\n","tags":["subpackage_editRuns"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for the edit run.\n\nExample: `\"edr_xK9mLPqRtN3vS8wF5hB2cQ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved edit run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"operationId":"delete","summary":"Delete Edit Run","description":"Delete an edit run and all associated data from Extend. This operation is permanent and cannot be undone.\n\nThis endpoint can be used if you'd like to manage data retention on your own rather than relying on automated data retention policies, or to make one-off deletions for your downstream customers.\n","tags":["subpackage_editRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the edit run to delete.\n\nExample: `\"edr_xK9mLPqRtN3vS8wF5hB2cQ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted edit run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/editRuns_delete_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/edit_templates/{id}":{"get":{"operationId":"retrieve","summary":"Get Edit Template","description":"Retrieve a saved edit template by ID.\n\nUse this endpoint to inspect the source file, default edit configuration, and optional schema generation configuration saved on an edit template. You can reuse the returned `config` with `POST /edit` or `POST /edit_runs`, and reuse `schemaConfig` with `POST /edit_schemas/generate`.\n","tags":["subpackage_editTemplates"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for the edit template.\n\nExample: `\"edt_xK9mLPqRtN3vS8wF5hB2cQ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved edit template","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditTemplate"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/edit_schemas/generate":{"post":{"operationId":"generate","summary":"Generate Edit Schema","description":"Detect fields in a PDF form and synchronously return an edit schema payload.\n\nUse this endpoint when you want Extend to bootstrap an `EditRootJSON` schema from an existing form, optionally mapping an existing schema onto the detected fields.\n\nThis endpoint returns the generated schema directly. There are no schema generation run resources to poll or delete.\n\nFor more details, see the [Generate Edit Schema guide](https://docs.extend.ai/2026-02-09/editing/generate-edit-schema) and the [Edit File guide](https://docs.extend.ai/2026-02-09/editing/edit).\n","tags":["subpackage_editSchemas"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully generated edit schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditSchemaGenerationResponse"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/EditSchemasGeneratePostRequestBodyContentApplicationJsonSchemaFile","description":"The file to analyze. Files can be provided as a URL or an Extend file ID."},"config":{"$ref":"#/components/schemas/EditSchemaGenerationConfig"}},"required":["file"]}}}}}},"/workflow_runs":{"post":{"operationId":"create","summary":"Run Workflow","description":"Run a workflow with a file. A workflow is a sequence of steps that process files and data in a specific order to achieve a desired outcome. See [Async Processing](https://docs.extend.ai/2026-02-09/general/async-processing) for a full guide on polling helpers and webhooks.\n\n## Polling with the SDK\n\nThe SDK provides a `createAndPoll` / `create_and_poll` method that handles polling automatically, returning when the run reaches a terminal state (`PROCESSED`, `FAILED`, `CANCELLED`, `NEEDS_REVIEW`, or `REJECTED`):\n\n<Tabs>\n<Tab title=\"TypeScript\">\n```typescript\nconst result = await client.workflowRuns.createAndPoll({\n  workflow: { id: \"wf_abc123\" },\n  file: { url: \"https://...\" }\n});\n// Returns when the workflow run reaches a terminal state\nconsole.log(result.status);\nconsole.log(result.stepRuns);\n```\n</Tab>\n<Tab title=\"Python\">\n```python\nresult = client.workflow_runs.create_and_poll(\n    workflow={\"id\": \"wf_abc123\"},\n    file={\"url\": \"https://...\"}\n)\n# Returns when the workflow run reaches a terminal state\nprint(result.status)\nprint(result.step_runs)\n```\n</Tab>\n<Tab title=\"Java\">\n```java\nvar result = client.workflowRuns().createAndPoll(WorkflowRunsCreateRequest.builder()\n    .workflow(WorkflowReference.builder().id(\"wf_abc123\").build())\n    .file(WorkflowRunsCreateRequestFile.of(FileFromUrl.builder().url(\"https://...\").build()))\n    .build());\n// Returns when the workflow run reaches a terminal state\nSystem.out.println(result.getStatus());\nSystem.out.println(result.getStepRuns());\n```\n</Tab>\n</Tabs>\n\n<Warning>Workflow runs can take a long time. Complex workflows may run for hours. For long-running workflows, consider using [webhooks](https://docs.extend.ai/2026-02-09/webhooks/configuration) instead of polling.</Warning>\n","tags":["subpackage_workflowRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully created workflow run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"workflow":{"$ref":"#/components/schemas/WorkflowReference"},"file":{"$ref":"#/components/schemas/WorkflowRunsPostRequestBodyContentApplicationJsonSchemaFile","description":"The file to be processed. Supported file types can be found [here](https://docs.extend.ai/2026-02-09/general/supported-file-types). Files can be provided as a URL, an Extend file ID, or raw text. If you wish to process more at a time, consider using the [Batch Run Workflow](https://docs.extend.ai/2026-02-09/api-reference/endpoints/workflow/batch-create-workflow-runs) endpoint."},"outputs":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowRunsPostRequestBodyContentApplicationJsonSchemaOutputsItems"},"description":"Predetermined outputs to be used for the workflow run. Generally not recommended for most use cases, however, can be useful in cases of overriding a classification in a workflow, or a subset of extraction fields when data is known."},"priority":{"$ref":"#/components/schemas/RunPriority","default":50},"metadata":{"$ref":"#/components/schemas/RunMetadata"},"secrets":{"$ref":"#/components/schemas/RunSecrets"}},"required":["workflow","file"]}}}}},"get":{"operationId":"list","summary":"List Workflow Runs","description":"List runs of a Workflow. Workflows are sequences of steps that process files and data in a specific order to achieve a desired outcome. A WorkflowRun represents a single execution of a workflow against a file.\n","tags":["subpackage_workflowRuns"],"parameters":[{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WorkflowRunStatus"}},{"name":"workflowId","in":"query","description":"Filters workflow runs by the workflow ID. If not provided, runs for all workflows are returned.\n\nExample: `\"workflow_BMdfq_yWM3sT-ZzvCnA3f\"`\n","required":false,"schema":{"type":"string"}},{"name":"batchId","in":"query","description":"Filters workflow runs by the batch ID. This is useful for fetching all runs for a given batch created via the [Batch Run Workflow](https://docs.extend.ai/2026-02-09/api-reference/endpoints/workflow/batch-create-workflow-runs) endpoint.\n\nExample: `\"batch_7Ws31-F5\"`\n","required":false,"schema":{"type":"string"}},{"name":"fileNameContains","in":"query","description":"Filters runs by the name of the file. Only returns runs where the file name contains this string.\n\nExample: `\"invoice\"`\n","required":false,"schema":{"type":"string"}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"You will get a list of summaries for each workflow run. These are shortened versions of the full WorkflowRun object.\n\nTo get the full object, use the [Get WorkflowRun](https://docs.extend.ai/2026-02-09/api-reference/endpoints/workflow/get-workflow-run) endpoint.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/workflowRuns_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/workflow_runs/batch":{"post":{"operationId":"create-batch","summary":"Batch Run Workflow","description":"This endpoint allows you to efficiently initiate large batches of workflow runs in a single request (up to 1,000 in a single request, but you can queue up multiple batches in rapid succession). It accepts an array of inputs, each containing a file and metadata pair. The primary use case for this endpoint is for doing large bulk runs of >1000 files at a time that can process over the course of a few hours without needing to manage rate limits that would likely occur using the primary run endpoint.\n\nUnlike the single [Run Workflow](https://docs.extend.ai/2026-02-09/api-reference/endpoints/workflow/create-workflow-run) endpoint which returns the details of the created workflow runs immediately, this batch endpoint returns a `batchId`.\n\nOur recommended usage pattern is to integrate with [Webhooks](https://docs.extend.ai/2026-02-09/webhooks/configuration) for consuming results, using the `metadata` and `batchId` to match up results to the original inputs in your downstream systems. However, you can integrate in a polling mechanism by using a combination of the [List Workflow Runs](https://docs.extend.ai/2026-02-09/api-reference/endpoints/workflow/list-workflow-runs) endpoint to fetch all runs via a batch, and then [Get Workflow Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/workflow/get-workflow-run) to fetch the full outputs each run.\n\n**Priority:** By default, workflow runs created through this batch endpoint are assigned a priority of 90. You can override this by passing an optional `priority` value (1–100) in the request body — lower values run first.\n\n**Processing and Monitoring:**\nUpon successful submission, the endpoint returns a `batchId`. The individual workflow runs are then queued for processing.\n\n- **Monitoring:** Track the progress and consume results of individual runs using [Webhooks](https://docs.extend.ai/2026-02-09/webhooks/configuration). Subscribe to events like `workflow_run.completed`, `workflow_run.failed`, etc. The webhook payload for these events will include the corresponding `batchId` and the `metadata` you provided for each input.\n- **Fetching Results:** You can also use the [List Workflow Runs](https://docs.extend.ai/2026-02-09/api-reference/endpoints/workflow/list-workflow-runs) endpoint and filter using the `batchId` query param.\n","tags":["subpackage_workflowRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully queued batch workflow run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/workflowRuns_createBatch_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"workflow":{"$ref":"#/components/schemas/WorkflowReference"},"inputs":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems"},"description":"An array of input objects to be processed by the workflow. Each object represents a single workflow run to be created. The array must contain at least 1 input and at most 1000 inputs."},"priority":{"type":"integer","default":90,"description":"An optional value used to determine the relative order of runs when rate limiting is in effect. Lower values will be prioritized before higher values. Defaults to 90 if not specified."}},"required":["workflow","inputs"]}}}}}},"/workflow_runs/{id}":{"get":{"operationId":"retrieve","summary":"Get Workflow Run","description":"Once a workflow has been run, you can check the status and output of a specific WorkflowRun.","tags":["subpackage_workflowRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved workflow run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"operationId":"update","summary":"Update Workflow Run","description":"You can update the name and metadata of an in progress WorkflowRun at any time using this endpoint.","tags":["subpackage_workflowRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully updated workflow run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"An optional name that can be assigned to a specific WorkflowRun"},"metadata":{"type":"object","additionalProperties":{"description":"Any type"},"description":"A metadata object that can be assigned to a specific WorkflowRun. If metadata already exists on this WorkflowRun, the newly incoming metadata will be merged with the existing metadata, with the incoming metadata taking field precedence.\n\nYou can include any arbitrary `key : value` pairs in this object.\n\nTo categorize workflow runs for billing and usage tracking, include `extend:usage_tags` with an array of string values (e.g., `{\"extend:usage_tags\": [\"production\", \"team-eng\", \"customer-123\"]}`). Tags must contain only alphanumeric characters, hyphens, and underscores; any special characters will be automatically removed.\n"}}}}}}},"delete":{"operationId":"delete","summary":"Delete Workflow Run","description":"Delete a workflow run and all associated data from Extend. This operation is permanent and cannot be undone.\n\nThis endpoint can be used if you'd like to manage data retention on your own rather than automated data retention policies. Or make one-off deletions for your downstream customers.\n","tags":["subpackage_workflowRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted workflow run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/workflowRuns_delete_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/workflow_runs/{id}/cancel":{"post":{"operationId":"cancel","summary":"Cancel Workflow Run","description":"Cancel a running workflow run by its ID. This endpoint allows you to stop a workflow run that is currently in progress.\n\nNote: Only workflow runs with a status of `PROCESSING` or `PENDING` can be cancelled. Workflow runs that are completed, failed, in review, rejected, or already cancelled cannot be cancelled.\n","tags":["subpackage_workflowRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully cancelled workflow run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/workflows":{"post":{"operationId":"create","summary":"Create Workflow","description":"Create a new workflow. Optionally provide `steps` to define the workflow's step graph.\n\nWhen `steps` is omitted, the workflow is created with default steps (`TRIGGER` → `PARSE`). When `steps` is provided, the step graph is validated and the draft version is populated with the given steps.\n\n**Note:** The default steps may change in the future. If your integration depends on a specific step graph, provide `steps` explicitly.\n","tags":["subpackage_workflows"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Workflow created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."},"steps":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowStepDefinition"},"description":"The steps that define the workflow's processing graph. Each step has a `type`, a unique `name`, and optional `next` entries that define routing to downstream steps.\n\nWhen omitted, the workflow is created with default steps (`TRIGGER` → `PARSE`). The default steps may change in the future.\n\nSee the [Configuring Workflows via API guide](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows) for step definitions, branching patterns, and examples.\n"}},"required":["name"]}}}}},"get":{"operationId":"list","summary":"List Workflows","description":"List all workflows. Returns a paginated list of workflow summaries.\n","tags":["subpackage_workflows"],"parameters":[{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully retrieved workflows","content":{"application/json":{"schema":{"$ref":"#/components/schemas/workflows_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/workflows/{id}":{"get":{"operationId":"retrieve","summary":"Get Workflow","description":"Get details of a workflow, including its draft version and steps.","tags":["subpackage_workflows"],"parameters":[{"name":"id","in":"path","description":"The ID of the workflow.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Workflow details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"operationId":"update","summary":"Update Workflow","description":"Update a workflow's draft. You can update the name, the steps, or both.\n\nWhen `steps` is provided, the draft version's steps are replaced with the new set. Steps with matching names from the previous draft preserve their internal identity.\n","tags":["subpackage_workflows"],"parameters":[{"name":"id","in":"path","description":"The ID of the workflow to update.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Workflow updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The new name for the workflow."},"steps":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowStepDefinition"},"description":"The new step definitions for the draft version. Replaces all existing draft steps.\n\nSee the [Configuring Workflows via API guide](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows) for step definitions, branching patterns, and examples.\n"}}}}}}}},"/workflows/{id}/versions":{"post":{"operationId":"create","summary":"Create Workflow Version","description":"Deploy a new version of a workflow. The deployed version becomes available for running workflow runs.\n\nWhen `steps` is omitted, the current draft is deployed as-is. When `steps` is provided, the given steps are deployed directly without modifying the draft.\n","tags":["subpackage_workflowVersions"],"parameters":[{"name":"id","in":"path","description":"The ID of the workflow to deploy.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Version deployed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowVersion"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"An optional name for this deployed version."},"steps":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowStepDefinition"},"description":"Optional step definitions. When provided, these steps are deployed directly without modifying the draft. When omitted, the current draft is deployed.\n\nAll configurable steps (`EXTRACT`, `CLASSIFY`, `SPLIT`, `CONDITIONAL_EXTRACT`, `RULE_VALIDATION`, `EXTERNAL_DATA_VALIDATION`) must include `config` when deploying. Unconfigured steps are rejected with a 400.\n\nSee the [Configuring Workflows via API guide](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows) for step definitions, branching patterns, and examples.\n"}}}}}}},"get":{"operationId":"list","summary":"List Workflow Versions","description":"List all versions of a workflow, including the draft version. Returns a paginated list of version summaries.\n","tags":["subpackage_workflowVersions"],"parameters":[{"name":"id","in":"path","description":"The ID of the workflow.","required":true,"schema":{"type":"string"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully retrieved versions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/workflowVersions_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/workflows/{id}/versions/{versionId}":{"get":{"operationId":"retrieve","summary":"Get Workflow Version","description":"Get a specific version of a workflow, including its step definitions.","tags":["subpackage_workflowVersions"],"parameters":[{"name":"id","in":"path","description":"The ID of the workflow.","required":true,"schema":{"type":"string"}},{"name":"versionId","in":"path","description":"The version to retrieve. Accepts any of the following:\n\n- `\"draft\"` — returns the current draft version\n- `\"latest\"` — returns the latest published version (falls back to draft if none published)\n- A version number (e.g. `\"1\"`, `\"2\"`) — returns that specific published version\n- A version ID (e.g. `\"workflow_version_abc123\"`) — returns that specific version by ID\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Version details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowVersion"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/evaluation_sets":{"post":{"operationId":"create","summary":"Create Evaluation Set","description":"Evaluation sets are collections of files and expected outputs that are used to evaluate the performance of a given extractor, classifier, or splitter. This endpoint will create a new evaluation set, which items can be added to using the [Create Evaluation Set Item](https://docs.extend.ai/2026-02-09/api-reference/endpoints/evaluation/create-evaluation-set-item) endpoint.\n\nNote: It is not necessary to create an evaluation set via API. You can also create an evaluation set via the Extend dashboard and take the ID from there. To learn more about how to create evaluation sets, see the [Evaluation Sets](https://docs.extend.ai/2026-02-09/evaluation/overview) product page.\n","tags":["subpackage_evaluationSets"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully created evaluation set","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationSet"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the evaluation set.\n\nExample: `\"Invoice Processing Test Set\"`\n"},"description":{"type":"string","description":"A description of what this evaluation set is used for.\n\nExample: `\"Q4 2023 vendor invoices\"`\n"},"entityId":{"type":"string","description":"The ID of the extractor, classifier, or splitter to create an evaluation set for. Evaluation sets can in theory be run against any extractor, classifier, or splitter, but it is required to associate the evaluation set with a primary extractor, classifier, or splitter.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"}},"required":["name","entityId"]}}}}},"get":{"operationId":"list","summary":"List Evaluation Sets","description":"List evaluation sets in your account.","tags":["subpackage_evaluationSets"],"parameters":[{"name":"entityId","in":"query","description":"The ID of the extractor, classifier, or splitter to filter evaluation sets by.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":false,"schema":{"type":"string"}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved evaluation sets","content":{"application/json":{"schema":{"$ref":"#/components/schemas/evaluationSets_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/evaluation_sets/{id}":{"get":{"operationId":"retrieve","summary":"Get Evaluation Set","description":"Retrieve a specific evaluation set by ID. This returns an evaluation set object, but does not include the items in the evaluation set. You can use the [List Evaluation Set Items](https://docs.extend.ai/2026-02-09/api-reference/endpoints/evaluation/list-evaluation-set-items) endpoint to get the items in an evaluation set.\n","tags":["subpackage_evaluationSets"],"parameters":[{"name":"id","in":"path","description":"The ID of the evaluation set.\n\nExample: `\"ev_2LcgeY_mp2T5yPaEuq5Lw\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved evaluation set","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationSet"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/evaluation_sets/{evaluationSetId}/items":{"post":{"operationId":"create","summary":"Create Evaluation Set Items","description":"Evaluation set items are the individual files and expected outputs that are used to evaluate the performance of a given extractor, classifier, or splitter in Extend. This endpoint will create new evaluation set items in Extend, which will be used during an evaluation run.\n\n**Limit:** You can create up to 100 items at a time.\n\nLearn more about how to create evaluation set items in the [Evaluation Sets](https://docs.extend.ai/2026-02-09/evaluation/overview) product page.\n","tags":["subpackage_evaluationSetItems"],"parameters":[{"name":"evaluationSetId","in":"path","description":"The ID of the evaluation set.\n\nExample: `\"ev_2LcgeY_mp2T5yPaEuq5Lw\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Evaluation set items created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/evaluationSetItems_create_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EvaluationSetsEvaluationSetIdItemsPostRequestBodyContentApplicationJsonSchemaItemsItems"},"description":"An array of objects representing the evaluation set items to create."}},"required":["items"]}}}}},"get":{"operationId":"list","summary":"List Evaluation Set Items","description":"List items in a specific evaluation set.\n\nReturns a summary of each evaluation set item. Use the [Get Evaluation Set Item](https://docs.extend.ai/2026-02-09/api-reference/endpoints/evaluation/get-evaluation-set-item) endpoint to get the full details of an evaluation set item.\n","tags":["subpackage_evaluationSetItems"],"parameters":[{"name":"evaluationSetId","in":"path","description":"The ID of the evaluation set.\n\nExample: `\"ev_2LcgeY_mp2T5yPaEuq5Lw\"`\n","required":true,"schema":{"type":"string"}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of evaluation set items","content":{"application/json":{"schema":{"$ref":"#/components/schemas/evaluationSetItems_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/evaluation_sets/{evaluationSetId}/items/{itemId}":{"get":{"operationId":"retrieve","summary":"Get Evaluation Set Item","description":"Get details of an evaluation set item.","tags":["subpackage_evaluationSetItems"],"parameters":[{"name":"evaluationSetId","in":"path","description":"The ID of the evaluation set.\n\nExample: `\"ev_2LcgeY_mp2T5yPaEuq5Lw\"`\n","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the evaluation set item.\n\nExample: `\"evi_kR9mNP12Qw4yTv8BdR3H\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Evaluation set item details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationSetItem"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"operationId":"update","summary":"Update Evaluation Set Item","description":"If you need to change the expected output for a given evaluation set item, you can use this endpoint to update the item. This can be useful if you need to correct an error in the expected output or if the output of the extractor, classifier, or splitter has changed.","tags":["subpackage_evaluationSetItems"],"parameters":[{"name":"evaluationSetId","in":"path","description":"The ID of the evaluation set.\n\nExample: `\"ev_2LcgeY_mp2T5yPaEuq5Lw\"`\n","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the evaluation set item.\n\nExample: `\"evi_kR9mNP12Qw4yTv8BdR3H\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully updated evaluation set item","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationSetItem"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"expectedOutput":{"$ref":"#/components/schemas/ProvidedProcessorOutput","description":"The expected output of the extractor, classifier, or splitter when run against the file. This must conform to the output schema of the entity associated with the evaluation set."}},"required":["expectedOutput"]}}}}},"delete":{"operationId":"delete","summary":"Delete Evaluation Set Item","description":"Delete an evaluation set item.","tags":["subpackage_evaluationSetItems"],"parameters":[{"name":"evaluationSetId","in":"path","description":"The ID of the evaluation set.\n\nExample: `\"ev_2LcgeY_mp2T5yPaEuq5Lw\"`\n","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the evaluation set item.\n\nExample: `\"evi_kR9mNP12Qw4yTv8BdR3H\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Evaluation set item deleted successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/evaluationSetItems_delete_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/evaluation_set_runs":{"post":{"operationId":"create","summary":"Create Evaluation Set Run","description":"Create and start an async evaluation set run. The response returns the evaluation set run object with its initial status; use `GET /evaluation_set_runs/{id}` to poll for completion.\n\nEvaluation set runs are currently supported for document processor evaluation sets.\n","tags":["subpackage_evaluationSetRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Evaluation set run created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationSetRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"evaluationSetId":{"type":"string","description":"The ID of the evaluation set to run."},"entity":{"$ref":"#/components/schemas/EvaluationSetRunsPostRequestBodyContentApplicationJsonSchemaEntity","description":"Optional processor and version to run against the evaluation set. If omitted, the evaluation set's processor is run at its draft version.\n"},"evaluationSetItemIds":{"type":"array","items":{"type":"string"},"description":"Optional list of evaluation set item IDs to run. If omitted, all items in the evaluation set are run."}},"required":["evaluationSetId"]}}}}}},"/evaluation_set_runs/{id}":{"get":{"operationId":"retrieve","summary":"Get Evaluation Set Run","description":"Get details of an evaluation set run.","tags":["subpackage_evaluationSetRuns"],"parameters":[{"name":"id","in":"path","description":"The ID of the evaluation set run.\n\nExample: `\"bpr_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved evaluation set run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationSetRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/webhook_endpoints":{"post":{"operationId":"create","summary":"Create Webhook Endpoint","description":"Create a new webhook endpoint. The response includes a `signingSecret` that is only returned once — store it securely for verifying webhook signatures.\n\nThe `enabledEvents` array specifies which global event types this endpoint should receive. Use the [Webhook Events](https://docs.extend.ai/2026-02-09/api-reference/webhook-events) reference to see available event types.\n\nTo subscribe to events scoped to a specific resource (e.g., a single extractor or workflow), use [Create Webhook Subscription](https://docs.extend.ai/2026-02-09/api-reference/endpoints/webhook/create-webhook-subscription) after creating the endpoint.\n","tags":["subpackage_webhookEndpoints"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully created webhook endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointCreate"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL that webhook events will be sent to."},"name":{"type":"string","description":"A human-readable name for the webhook endpoint."},"status":{"$ref":"#/components/schemas/WebhookEndpointStatus"},"enabledEvents":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpointEventType"},"description":"The list of global event types to subscribe to. Pass an empty array to create an endpoint with no global events (useful if you only plan to use resource-scoped subscriptions).\n"},"apiVersion":{"$ref":"#/components/schemas/ApiVersionEnum"},"advancedOptions":{"$ref":"#/components/schemas/WebhookAdvancedOptions"}},"required":["url","name","enabledEvents","apiVersion"]}}}}},"get":{"operationId":"list","summary":"List Webhook Endpoints","description":"List all webhook endpoints.","tags":["subpackage_webhookEndpoints"],"parameters":[{"name":"status","in":"query","description":"Filter by endpoint status.","required":false,"schema":{"$ref":"#/components/schemas/WebhookEndpointStatus"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of webhook endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/webhookEndpoints_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/webhook_endpoints/{id}":{"get":{"operationId":"retrieve","summary":"Get Webhook Endpoint","description":"Retrieve a webhook endpoint by ID.","tags":["subpackage_webhookEndpoints"],"parameters":[{"name":"id","in":"path","description":"The ID of the webhook endpoint.\n\nExample: `\"wh_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Retrieved webhook endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpoint"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"operationId":"update","summary":"Update Webhook Endpoint","description":"Update a webhook endpoint. Only the fields you include in the request body will be updated; omitted fields remain unchanged.\n\nThe `apiVersion` of a webhook endpoint cannot be changed after creation.\n","tags":["subpackage_webhookEndpoints"],"parameters":[{"name":"id","in":"path","description":"The ID of the webhook endpoint to update.\n\nExample: `\"wh_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully updated webhook endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpoint"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL that webhook events will be sent to."},"name":{"type":"string","description":"A human-readable name for the webhook endpoint."},"status":{"$ref":"#/components/schemas/WebhookEndpointStatus"},"enabledEvents":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpointEventType"},"description":"The list of global event types to subscribe to."},"advancedOptions":{"$ref":"#/components/schemas/WebhookAdvancedOptions"}}}}}}},"delete":{"operationId":"delete","summary":"Delete Webhook Endpoint","description":"Delete a webhook endpoint and all of its subscriptions. This operation is permanent and cannot be undone.\n","tags":["subpackage_webhookEndpoints"],"parameters":[{"name":"id","in":"path","description":"The ID of the webhook endpoint to delete.\n\nExample: `\"wh_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted webhook endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/webhookEndpoints_delete_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/webhook_subscriptions":{"post":{"operationId":"create","summary":"Create Webhook Subscription","description":"Create a resource-scoped webhook subscription on an existing webhook endpoint.\n\nSubscriptions let you receive events for a specific resource (e.g., a single extractor or workflow) rather than all resources of that type. The `enabledEvents` must be valid for the given `resourceType` and the endpoint's `apiVersion`.\n\nIf a subscription already exists for the same endpoint and resource, it will be updated with the new `enabledEvents` instead of creating a duplicate.\n","tags":["subpackage_webhookSubscriptions"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully created webhook subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscription"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"webhookEndpointId":{"type":"string","description":"The ID of the webhook endpoint to attach this subscription to."},"resourceType":{"$ref":"#/components/schemas/WebhookSubscriptionResourceType"},"resourceId":{"type":"string","description":"The ID of the resource to scope this subscription to.\n"},"enabledEvents":{"type":"array","items":{"$ref":"#/components/schemas/WebhookSubscriptionEventType"},"description":"The event types to subscribe to. Must be valid for the given `resourceType`.\n"}},"required":["webhookEndpointId","resourceType","resourceId","enabledEvents"]}}}}},"get":{"operationId":"list","summary":"List Webhook Subscriptions","description":"List webhook subscriptions. You can filter by `webhookEndpointId` to see all subscriptions for a given endpoint, or by `resourceId` to see all subscriptions for a given resource.\n","tags":["subpackage_webhookSubscriptions"],"parameters":[{"name":"webhookEndpointId","in":"query","description":"Filter subscriptions by the webhook endpoint they belong to.","required":false,"schema":{"type":"string"}},{"name":"resourceId","in":"query","description":"Filter subscriptions by the resource they are scoped to.","required":false,"schema":{"type":"string"}},{"name":"sortDir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDir","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/NextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of webhook subscriptions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/webhookSubscriptions_list_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/webhook_subscriptions/{id}":{"get":{"operationId":"retrieve","summary":"Get Webhook Subscription","description":"Retrieve a webhook subscription by ID.","tags":["subpackage_webhookSubscriptions"],"parameters":[{"name":"id","in":"path","description":"The ID of the webhook subscription.\n\nExample: `\"whes_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Retrieved webhook subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscription"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"operationId":"update","summary":"Update Webhook Subscription","description":"Update the enabled events on a webhook subscription.\n","tags":["subpackage_webhookSubscriptions"],"parameters":[{"name":"id","in":"path","description":"The ID of the webhook subscription to update.\n\nExample: `\"whes_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully updated webhook subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscription"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"enabledEvents":{"type":"array","items":{"$ref":"#/components/schemas/WebhookSubscriptionEventType"},"description":"The event types to subscribe to. Must be valid for the subscription's resource type.\n"}},"required":["enabledEvents"]}}}}},"delete":{"operationId":"delete","summary":"Delete Webhook Subscription","description":"Delete a webhook subscription. This operation is permanent and cannot be undone.\n","tags":["subpackage_webhookSubscriptions"],"parameters":[{"name":"id","in":"path","description":"The ID of the webhook subscription to delete.\n\nExample: `\"whes_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted webhook subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/webhookSubscriptions_delete_Response_200"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/parse_runs/batch":{"post":{"operationId":"create-batch","summary":"Batch Parse Files","description":"Submit up to **1,000 files** for parsing in a single request. Each file is processed as an independent parse run using the same configuration.\n\nUnlike the single [Parse File (Async)](https://docs.extend.ai/2026-02-09/api-reference/endpoints/parse/create-parse-run) endpoint, this batch endpoint accepts an `inputs` array and immediately returns a `BatchRun` object containing a batch `id` and a `PENDING` status. The individual runs are then queued and processed asynchronously.\n\n**Monitoring results:**\n- **Webhooks (recommended):** Subscribe to `batch_parse_run.processed` and `batch_parse_run.failed` events. The webhook payload indicates the batch has finished — fetch individual run results using `GET /parse_runs?batchId={id}`.\n- **Polling:** Call `GET /batch_runs/{id}` to check the overall batch status, and use `GET /parse_runs?batchId={id}` to retrieve individual run results.\n\n**Notes:**\n- `inputs` must contain between 1 and 1,000 items.\n- File input supports URLs, Extend file IDs, and raw text strings.\n","tags":["subpackage_parseRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully queued batch parse run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"inputs":{"type":"array","items":{"$ref":"#/components/schemas/ParseRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems"},"description":"An array of inputs to parse. Each item produces one parse run. Must contain between 1 and 1,000 items.\n"},"config":{"$ref":"#/components/schemas/ParseConfig","description":"Optional parsing configuration applied to every run in this batch. If omitted, default parse settings are used.\n"},"priority":{"$ref":"#/components/schemas/RunPriority","default":50}},"required":["inputs"]}}}}}},"/extract_runs/batch":{"post":{"operationId":"create-batch","summary":"Batch Extract Files","description":"Submit up to **1,000 files** for extraction in a single request. Each file is processed as an independent extract run using the same extractor and configuration.\n\nUnlike the single [Extract File (Async)](https://docs.extend.ai/2026-02-09/api-reference/endpoints/extract/create-extract-run) endpoint, this batch endpoint accepts an `inputs` array and immediately returns a `BatchRun` object containing a batch `id` and a `PENDING` status. The individual runs are then queued and processed asynchronously.\n\n**Monitoring results:**\n- **Webhooks (recommended):** Subscribe to `batch_processor_run.processed` and `batch_processor_run.failed` events. The webhook payload indicates the batch has finished — fetch individual run results using `GET /extract_runs?batchId={id}`.\n- **Polling:** Call `GET /batch_runs/{id}` to check the overall batch status, and use `GET /extract_runs` filtered by `batchId` to retrieve individual run results.\n\n**Notes:**\n- A processor reference (`extractor.id`) is required — inline `config` is not supported for batch requests.\n- `inputs` must contain between 1 and 1,000 items.\n- All inputs in a batch use the same extractor version and override config.\n","tags":["subpackage_extractRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully queued batch extract run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"extractor":{"$ref":"#/components/schemas/ExtractRunsBatchPostRequestBodyContentApplicationJsonSchemaExtractor","description":"Reference to the extractor to run against every input in this batch."},"inputs":{"type":"array","items":{"$ref":"#/components/schemas/ExtractRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems"},"description":"An array of inputs to process. Each item produces one extract run. Must contain between 1 and 1,000 items.\n"},"priority":{"$ref":"#/components/schemas/RunPriority","default":50}},"required":["extractor","inputs"]}}}}}},"/classify_runs/batch":{"post":{"operationId":"create-batch","summary":"Batch Classify Files","description":"Submit up to **1,000 files** for classification in a single request. Each file is processed as an independent classify run using the same classifier and configuration.\n\nUnlike the single [Classify File (Async)](https://docs.extend.ai/2026-02-09/api-reference/endpoints/classify/create-classify-run) endpoint, this batch endpoint accepts an `inputs` array and immediately returns a `BatchRun` object containing a batch `id` and a `PENDING` status. The individual runs are then queued and processed asynchronously.\n\n**Monitoring results:**\n- **Webhooks (recommended):** Subscribe to `batch_processor_run.processed` and `batch_processor_run.failed` events. The webhook payload indicates the batch has finished — fetch individual run results using `GET /classify_runs?batchId={id}`.\n- **Polling:** Call `GET /batch_runs/{id}` to check the overall batch status, and use `GET /classify_runs` filtered by `batchId` to retrieve individual run results.\n\n**Notes:**\n- A processor reference (`classifier.id`) is required — inline `config` is not supported for batch requests.\n- `inputs` must contain between 1 and 1,000 items.\n- All inputs in a batch use the same classifier version and override config.\n","tags":["subpackage_classifyRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully queued batch classify run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"classifier":{"$ref":"#/components/schemas/ClassifyRunsBatchPostRequestBodyContentApplicationJsonSchemaClassifier","description":"Reference to the classifier to run against every input in this batch."},"inputs":{"type":"array","items":{"$ref":"#/components/schemas/ClassifyRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems"},"description":"An array of inputs to process. Each item produces one classify run. Must contain between 1 and 1,000 items.\n"},"priority":{"$ref":"#/components/schemas/RunPriority","default":50}},"required":["classifier","inputs"]}}}}}},"/split_runs/batch":{"post":{"operationId":"create-batch","summary":"Batch Split Files","description":"Submit up to **1,000 files** for splitting in a single request. Each file is processed as an independent split run using the same splitter and configuration.\n\nUnlike the single [Split File (Async)](https://docs.extend.ai/2026-02-09/api-reference/endpoints/split/create-split-run) endpoint, this batch endpoint accepts an `inputs` array and immediately returns a `BatchRun` object containing a batch `id` and a `PENDING` status. The individual runs are then queued and processed asynchronously.\n\n**Monitoring results:**\n- **Webhooks (recommended):** Subscribe to `batch_processor_run.processed` and `batch_processor_run.failed` events. The webhook payload indicates the batch has finished — fetch individual run results using `GET /split_runs?batchId={id}`.\n- **Polling:** Call `GET /batch_runs/{id}` to check the overall batch status, and use `GET /split_runs` filtered by `batchId` to retrieve individual run results.\n\n**Notes:**\n- A processor reference (`splitter.id`) is required — inline `config` is not supported for batch requests.\n- `inputs` must contain between 1 and 1,000 items.\n- All inputs in a batch use the same splitter version and override config.\n- Raw text input (`FileFromText`) is not supported for split runs. Use a URL or file ID.\n","tags":["subpackage_splitRuns"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully queued batch split run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"splitter":{"$ref":"#/components/schemas/SplitRunsBatchPostRequestBodyContentApplicationJsonSchemaSplitter","description":"Reference to the splitter to run against every input in this batch."},"inputs":{"type":"array","items":{"$ref":"#/components/schemas/SplitRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems"},"description":"An array of inputs to process. Each item produces one split run. Must contain between 1 and 1,000 items. Raw text input is not supported — use a URL or file ID.\n"},"priority":{"$ref":"#/components/schemas/RunPriority","default":50}},"required":["splitter","inputs"]}}}}}},"/batch_runs/{id}":{"get":{"operationId":"get","summary":"Get Batch Run","description":"Retrieve the status of a batch run by its ID. The `status` field reflects the aggregate state of the batch.\n\nThis is a unified endpoint that works for batches created via any of the batch submission endpoints (`POST /parse_runs/batch`, `POST /extract_runs/batch`, `POST /classify_runs/batch`, `POST /split_runs/batch`).\n\n| Status | Meaning |\n|---|---|\n| `PENDING` | Queued, not yet started |\n| `PROCESSING` | Runs are actively being processed |\n| `PROCESSED` | All runs have completed |\n| `FAILED` | The batch encountered a fatal error |\n| `CANCELLED` | The batch was cancelled |\n\nTo retrieve individual run results, use the List endpoint for the relevant type filtered by `batchId`:\n- `GET /parse_runs?batchId={id}`\n- `GET /extract_runs?batchId={id}`\n- `GET /classify_runs?batchId={id}`\n- `GET /split_runs?batchId={id}`\n","tags":["subpackage_batchRuns"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the batch processor run to retrieve.\n\nExample: `\"bpr_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully retrieved batch processor run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRun"}}}},"400":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/processor_runs":{"post":{"operationId":"create","summary":"Run Processor","description":"Run processors (extraction, classification, splitting, etc.) on a given document.\n\n**Synchronous vs Asynchronous Processing:**\n- **Asynchronous (default)**: Returns immediately with `PROCESSING` status. Use webhooks or polling to get results.\n- **Synchronous**: Set `sync: true` to wait for completion and get final results in the response (5-minute timeout).\n\n**For asynchronous processing:**\n- You can [configure webhooks](https://docs.extend.ai/2026-02-09/webhooks/configuration) to receive notifications when a processor run is complete or failed.\n- Or you can [poll the get endpoint](https://docs.extend.ai/2026-02-09/api-reference/endpoints/legacy/get-processor-run) for updates on the status of the processor run.\n","tags":["subpackage_processorRun"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully created processor run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/processorRun_create_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"429":{"description":"Too Many Requests - Processing runs limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunProcessorRequestTooManyRequestsError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"processorId":{"$ref":"#/components/schemas/LegacyProcessorId"},"version":{"type":"string","default":"latest","description":"An optional version of the processor to use. When not supplied, the most recent published version of the processor will be used. Special values include:\n- `\"latest\"` for the most recent published version. If there are no published versions, the draft version will be used.\n- `\"draft\"` for the draft version.\n- Specific version numbers corresponding to versions your team has published, e.g. `\"1.0\"`, `\"2.2\"`, etc.\n"},"file":{"$ref":"#/components/schemas/LegacyProcessorRunFileInput","description":"The file to be processed. One of `file` or `rawText` must be provided. Supported file types can be found [here](https://docs.extend.ai/2026-02-09/general/supported-file-types)."},"rawText":{"type":"string","description":"A raw string to be processed. Can be used in place of file when passing raw text data streams. One of `file` or `rawText` must be provided."},"sync":{"type":"boolean","default":false,"description":"Whether to run the processor synchronously. When `true`, the request will wait for the processor run to complete and return the final results. When `false` (default), the request returns immediately with a `PROCESSING` status, and you can poll for completion or use webhooks. For production use cases, we recommending leaving sync off and building around an async integration for more resiliency, unless your use case is predictably fast (e.g. sub < 30 seconds) run time or otherwise have integration constraints that require a synchronous API. See [Async Processing](https://docs.extend.ai/2026-02-09/general/async-processing) for more details.\n\n**Timeout**: Synchronous requests have a 5-minute timeout. If the processor run takes longer, it will continue processing asynchronously and you can retrieve the results via the GET endpoint.\n"},"priority":{"type":"integer","default":50,"description":"An optional value used to determine the relative order of ProcessorRuns when rate limiting is in effect. Lower values will be prioritized before higher values."},"metadata":{"$ref":"#/components/schemas/LegacyJsonObject","description":"An optional object that can be passed in to identify the run of the document processor. It will be returned back to you in the response and webhooks.\n\nTo categorize processor runs for billing and usage tracking, include `extend:usage_tags` with an array of string values (e.g., `{\"extend:usage_tags\": [\"production\", \"team-eng\", \"customer-123\"]}`). Tags must contain only alphanumeric characters, hyphens, and underscores; any special characters will be automatically removed.\n"},"config":{"$ref":"#/components/schemas/ProcessorRunsPostRequestBodyContentApplicationJsonSchemaConfig","description":"The configuration for the processor run. If this is provided, this config will be used. If not provided, the config for the specific version you provide will be used. The type of configuration must match the processor type."}},"required":["processorId"]}}}}},"get":{"operationId":"list","summary":"List Processor Runs","description":"List runs of a Processor. A ProcessorRun represents a single execution of a processor against a file.\n","tags":["subpackage_processorRun"],"parameters":[{"name":"status","in":"query","description":"Filters processor runs by their status. If not provided, no filter is applied.\n\n The status of a processor run:\n * `\"PENDING\"` - The processor run has not started yet\n * `\"PROCESSING\"` - The processor run is in progress\n * `\"PROCESSED\"` - The processor run completed successfully\n * `\"FAILED\"` - The processor run encountered an error\n * `\"CANCELLED\"` - The processor run was cancelled\n","required":false,"schema":{"$ref":"#/components/schemas/LegacyProcessorStatus"}},{"name":"processorId","in":"query","description":"Filters processor runs by the processor ID. If not provided, runs for all processors are returned.\n\nExample: `\"ex_BMdfq_yWM3sT-ZzvCnA3f\"`\n","required":false,"schema":{"type":"string"}},{"name":"processorType","in":"query","description":"Filters processor runs by the processor type. If not provided, runs for all processor types are returned.\n\nExample: `\"EXTRACT\"`\n","required":false,"schema":{"$ref":"#/components/schemas/LegacyProcessorType"}},{"name":"sourceId","in":"query","description":"Filters processor runs by the source ID. The source ID corresponds to the entity that created the processor run.\n\nExample: `\"workflow_run_123\"`\n","required":false,"schema":{"type":"string"}},{"name":"source","in":"query","description":"Filters processor runs by the source that created them. If not provided, runs from all sources are returned.\n\nThe source of the processor run:\n* `\"ADMIN\"` - Created by admin\n* `\"BATCH_PROCESSOR_RUN\"` - Created from a batch processor run\n* `\"PLAYGROUND\"` - Created from playground\n* `\"WORKFLOW_CONFIGURATION\"` - Created from workflow configuration\n* `\"WORKFLOW_RUN\"` - Created from a workflow run\n* `\"STUDIO\"` - Created from Studio\n* `\"API\"` - Created via API\n","required":false,"schema":{"$ref":"#/components/schemas/ProcessorRunsGetParametersSource"}},{"name":"fileNameContains","in":"query","description":"Filters processor runs by the name of the file. Only returns processor runs where the file name contains this string.\n\nExample: `\"invoice\"`\n","required":false,"schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Sorts the processor runs by the given field.","required":false,"schema":{"$ref":"#/components/schemas/LegacySortByEnum","default":"updatedAt"}},{"name":"sortDir","in":"query","description":"Sorts the processor runs in ascending or descending order. Ascending order means the earliest processor run is returned first.","required":false,"schema":{"$ref":"#/components/schemas/LegacySortDirEnum","default":"desc"}},{"name":"nextPageToken","in":"query","required":false,"schema":{"$ref":"#/components/schemas/LegacyNextPageToken"}},{"name":"maxPageSize","in":"query","required":false,"schema":{"$ref":"#/components/schemas/LegacyMaxPageSize","default":10}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"You will get a list of summaries for each processor run. These are shortened versions of the full ProcessorRun object.\n\nTo get the full object, use the [Get ProcessorRun](https://docs.extend.ai/2026-02-09/api-reference/endpoints/legacy/get-processor-run) endpoint.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/processorRun_list_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}}}},"/processor_runs/{id}":{"get":{"operationId":"get","summary":"Get Processor Run","description":"Retrieve details about a specific processor run, including its status, outputs, and any edits made during review.\n\nA common use case for this endpoint is to poll for the status and final output of an async processor run when using the [Run Processor](https://docs.extend.ai/2026-02-09/api-reference/endpoints/legacy/create-processor-run) endpoint. For instance, if you do not want to not configure webhooks to receive the output via completion/failure events.\n","tags":["subpackage_processorRun"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for this processor run.\n\nExample: `\"exr_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved processor run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/processorRun_get_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}}},"delete":{"operationId":"delete","summary":"Delete Processor Run","description":"Delete a processor run and all associated data from Extend. This operation is permanent and cannot be undone.\n\nThis endpoint can be used if you'd like to manage data retention on your own rather than automated data retention policies. Or make one-off deletions for your downstream customers.\n","tags":["subpackage_processorRun"],"parameters":[{"name":"id","in":"path","description":"The ID of the processor run to delete.\n\nExample: `\"exr_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted processor run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/processorRun_delete_Response_200"}}}},"404":{"description":"Processor run not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyExtendError"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyExtendError"}}}}}}},"/processor_runs/{id}/cancel":{"post":{"operationId":"cancel","summary":"Cancel Processor Run","description":"Cancel a running processor run by its ID. This endpoint allows you to stop a processor run that is currently in progress.\n\nNote: Only processor runs with a status of `\"PROCESSING\"` can be cancelled. Processor runs that have already completed, failed, or been cancelled cannot be cancelled again.\n","tags":["subpackage_processorRun"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for the processor run to cancel.\n\nExample: `\"exr_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully cancelled processor run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/processorRun_cancel_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}}}},"/processors":{"post":{"operationId":"create","summary":"Create Processor","description":"Create a new processor in Extend, optionally cloning from an existing processor","tags":["subpackage_processor"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}}],"responses":{"200":{"description":"Successfully created processor","content":{"application/json":{"schema":{"$ref":"#/components/schemas/processor_create_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"404":{"description":"Processor to clone not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the new processor"},"type":{"$ref":"#/components/schemas/LegacyProcessorType"},"cloneProcessorId":{"type":"string","description":"The ID of an existing processor to clone. One of `cloneProcessorId` or `config` must be provided.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"config":{"$ref":"#/components/schemas/ProcessorsPostRequestBodyContentApplicationJsonSchemaConfig","description":"The configuration for the processor. The type of configuration must match the processor type. One of `cloneProcessorId` or `config` must be provided."}},"required":["name","type"]}}}}},"get":{"operationId":"list","summary":"List Processors","description":"List all processors in your organization","tags":["subpackage_processor"],"parameters":[{"name":"type","in":"query","description":"Filter processors by type","required":false,"schema":{"$ref":"#/components/schemas/LegacyProcessorType"}},{"name":"nextPageToken","in":"query","description":"Token for retrieving the next page of results","required":false,"schema":{"type":"string"}},{"name":"maxPageSize","in":"query","description":"Maximum number of processors to return per page","required":false,"schema":{"type":"integer","default":25}},{"name":"sortBy","in":"query","description":"Field to sort by","required":false,"schema":{"$ref":"#/components/schemas/ProcessorsGetParametersSortBy","default":"updatedAt"}},{"name":"sortDir","in":"query","description":"Sort direction","required":false,"schema":{"$ref":"#/components/schemas/ProcessorsGetParametersSortDir","default":"desc"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved processors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyListProcessorsResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"429":{"description":"Rate Limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}}}},"/processors/{id}":{"post":{"operationId":"update","summary":"Update Processor","description":"Update an existing processor in Extend","tags":["subpackage_processor"],"parameters":[{"name":"id","in":"path","description":"The ID of the processor to update.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully updated processor","content":{"application/json":{"schema":{"$ref":"#/components/schemas/processor_update_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The new name for the processor"},"config":{"$ref":"#/components/schemas/ProcessorsIdPostRequestBodyContentApplicationJsonSchemaConfig","description":"The new configuration for the processor. The type of configuration must match the processor type:\n* For classification processors, use `ClassificationConfig`\n* For extraction processors, use `ExtractionConfig`\n* For splitter processors, use `SplitterConfig`\n"}}}}}}}},"/processors/{id}/versions":{"get":{"operationId":"list","summary":"List Processor Versions","description":"This endpoint allows you to fetch all versions of a given processor, including the current `draft` version.\n\nVersions are typically returned in descending order of creation (newest first), but this should be confirmed in the actual implementation.\nThe `draft` version is the latest unpublished version of the processor, which can be published to create a new version. It might not have any changes from the last published version.\n","tags":["subpackage_processorVersion"],"parameters":[{"name":"id","in":"path","description":"The ID of the processor to retrieve versions for.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved processor versions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/processorVersion_list_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"404":{"description":"Processor not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}}}},"/processors/{id}/publish":{"post":{"operationId":"create","summary":"Publish Processor Version","description":"This endpoint allows you to publish a new version of an existing processor. Publishing a new version creates a snapshot of the processor's current configuration and makes it available for use in workflows.\n\nPublishing a new version does not automatically update existing workflows using this processor. You may need to manually update workflows to use the new version if desired.\n","tags":["subpackage_processorVersion"],"parameters":[{"name":"id","in":"path","description":"The ID of the processor to publish a new version for.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully published processor version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/processorVersion_create_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"releaseType":{"$ref":"#/components/schemas/ProcessorsIdPublishPostRequestBodyContentApplicationJsonSchemaReleaseType","description":"The type of release for this version. The two options are \"major\" and \"minor\", which will increment the version number accordingly."},"description":{"type":"string","description":"A description of the changes in this version. This helps track the evolution of the processor over time."},"config":{"$ref":"#/components/schemas/ProcessorsIdPublishPostRequestBodyContentApplicationJsonSchemaConfig","description":"The configuration for this version of the processor. The type of configuration must match the processor type."}},"required":["releaseType"]}}}}}},"/processors/{processorId}/versions/{processorVersionId}":{"get":{"operationId":"get","summary":"Get Processor Version","description":"Retrieve a specific version of a processor in Extend","tags":["subpackage_processorVersion"],"parameters":[{"name":"processorId","in":"path","description":"The ID of the processor.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"processorVersionId","in":"path","description":"The ID of the specific processor version to retrieve.\n\nExample: `\"exv_QYk6jgHA_8CsO8rVWhyNC\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved processor version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/processorVersion_get_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"404":{"description":"Processor or version not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}}}},"/batch_processor_runs/{id}":{"get":{"operationId":"get","summary":"Get Batch Processor Run (Deprecated)","description":"Retrieve details about a batch processor run, including evaluation runs.\n\n**Deprecated:** This endpoint is maintained for backwards compatibility only and will be replaced in a future API version. Use [Get Evaluation Set Run](https://docs.extend.ai/2026-02-09/api-reference/endpoints/evaluation/get-evaluation-set-run) for interacting with evaluation set runs.\n","tags":["subpackage_batchProcessorRun"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the batch processor run to retrieve.\n\nExample: `\"bpr_Xj8mK2pL9nR4vT7qY5wZ\"`\n","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Bearer authentication","required":true,"schema":{"type":"string"}},{"name":"x-extend-api-version","in":"header","description":"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/api-reference/api-versioning) for more details.","required":false,"schema":{"type":"string","enum":["2026-02-09"],"default":"2026-02-09"}},{"name":"x-extend-workspace-id","in":"header","description":"The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/api-reference/authentication) for details on API key scopes.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved batch processor run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/batchProcessorRun_get_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}}}}},"servers":[{"url":"https://api.extend.ai","description":"Production"},{"url":"https://api.us2.extend.app","description":"Production US2"},{"url":"https://api.eu1.extend.ai","description":"Production EU1"}],"webhooks":{"parse-run-processed-webhook":{"post":{"operationId":"parse-run-processed-webhook","summary":"Parse Run Processed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParseRunProcessedWebhookEvent"}}}}}},"parse-run-failed-webhook":{"post":{"operationId":"parse-run-failed-webhook","summary":"Parse Run Failed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParseRunFailedWebhookEvent"}}}}}},"extract-run-processed-webhook":{"post":{"operationId":"extract-run-processed-webhook","summary":"Extract Run Processed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractRunProcessedWebhookEvent"}}}}}},"extract-run-failed-webhook":{"post":{"operationId":"extract-run-failed-webhook","summary":"Extract Run Failed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractRunFailedWebhookEvent"}}}}}},"extractor-created-webhook":{"post":{"operationId":"extractor-created-webhook","summary":"Extractor Created","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractorCreatedWebhookEvent"}}}}}},"extractor-updated-webhook":{"post":{"operationId":"extractor-updated-webhook","summary":"Extractor Updated","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractorUpdatedWebhookEvent"}}}}}},"extractor-deleted-webhook":{"post":{"operationId":"extractor-deleted-webhook","summary":"Extractor Deleted","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractorDeletedWebhookEvent"}}}}}},"extractor-draft-updated-webhook":{"post":{"operationId":"extractor-draft-updated-webhook","summary":"Extractor Draft Updated","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractorDraftUpdatedWebhookEvent"}}}}}},"extractor-version-published-webhook":{"post":{"operationId":"extractor-version-published-webhook","summary":"Extractor Version Published","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractorVersionPublishedWebhookEvent"}}}}}},"classify-run-processed-webhook":{"post":{"operationId":"classify-run-processed-webhook","summary":"Classify Run Processed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifyRunProcessedWebhookEvent"}}}}}},"classify-run-failed-webhook":{"post":{"operationId":"classify-run-failed-webhook","summary":"Classify Run Failed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifyRunFailedWebhookEvent"}}}}}},"classifier-created-webhook":{"post":{"operationId":"classifier-created-webhook","summary":"Classifier Created","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifierCreatedWebhookEvent"}}}}}},"classifier-updated-webhook":{"post":{"operationId":"classifier-updated-webhook","summary":"Classifier Updated","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifierUpdatedWebhookEvent"}}}}}},"classifier-deleted-webhook":{"post":{"operationId":"classifier-deleted-webhook","summary":"Classifier Deleted","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifierDeletedWebhookEvent"}}}}}},"classifier-draft-updated-webhook":{"post":{"operationId":"classifier-draft-updated-webhook","summary":"Classifier Draft Updated","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifierDraftUpdatedWebhookEvent"}}}}}},"classifier-version-published-webhook":{"post":{"operationId":"classifier-version-published-webhook","summary":"Classifier Version Published","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifierVersionPublishedWebhookEvent"}}}}}},"split-run-processed-webhook":{"post":{"operationId":"split-run-processed-webhook","summary":"Split Run Processed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitRunProcessedWebhookEvent"}}}}}},"split-run-failed-webhook":{"post":{"operationId":"split-run-failed-webhook","summary":"Split Run Failed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitRunFailedWebhookEvent"}}}}}},"splitter-created-webhook":{"post":{"operationId":"splitter-created-webhook","summary":"Splitter Created","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitterCreatedWebhookEvent"}}}}}},"splitter-updated-webhook":{"post":{"operationId":"splitter-updated-webhook","summary":"Splitter Updated","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitterUpdatedWebhookEvent"}}}}}},"splitter-deleted-webhook":{"post":{"operationId":"splitter-deleted-webhook","summary":"Splitter Deleted","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitterDeletedWebhookEvent"}}}}}},"splitter-draft-updated-webhook":{"post":{"operationId":"splitter-draft-updated-webhook","summary":"Splitter Draft Updated","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitterDraftUpdatedWebhookEvent"}}}}}},"splitter-version-published-webhook":{"post":{"operationId":"splitter-version-published-webhook","summary":"Splitter Version Published","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitterVersionPublishedWebhookEvent"}}}}}},"batch-processor-run-completed-webhook":{"post":{"operationId":"batch-processor-run-completed-webhook","summary":"Batch Processor Run Completed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchProcessorRunCompletedWebhookEvent"}}}}}},"batch-processor-run-failed-webhook":{"post":{"operationId":"batch-processor-run-failed-webhook","summary":"Batch Processor Run Failed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchProcessorRunFailedWebhookEvent"}}}}}},"batch-parse-run-completed-webhook":{"post":{"operationId":"batch-parse-run-completed-webhook","summary":"Batch Parse Run Completed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchParseRunCompletedWebhookEvent"}}}}}},"batch-parse-run-failed-webhook":{"post":{"operationId":"batch-parse-run-failed-webhook","summary":"Batch Parse Run Failed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchParseRunFailedWebhookEvent"}}}}}},"edit-run-processed-webhook":{"post":{"operationId":"edit-run-processed-webhook","summary":"Edit Run Processed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditRunProcessedWebhookEvent"}}}}}},"edit-run-failed-webhook":{"post":{"operationId":"edit-run-failed-webhook","summary":"Edit Run Failed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditRunFailedWebhookEvent"}}}}}},"workflow-run-completed-webhook":{"post":{"operationId":"workflow-run-completed-webhook","summary":"Workflow Run Completed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRunCompletedWebhookEvent"}}}}}},"workflow-run-failed-webhook":{"post":{"operationId":"workflow-run-failed-webhook","summary":"Workflow Run Failed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRunFailedWebhookEvent"}}}}}},"workflow-run-needs-review-webhook":{"post":{"operationId":"workflow-run-needs-review-webhook","summary":"Workflow Run Needs Review","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRunNeedsReviewWebhookEvent"}}}}}},"workflow-run-rejected-webhook":{"post":{"operationId":"workflow-run-rejected-webhook","summary":"Workflow Run Rejected","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRunRejectedWebhookEvent"}}}}}},"workflow-run-cancelled-webhook":{"post":{"operationId":"workflow-run-cancelled-webhook","summary":"Workflow Run Cancelled","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRunCancelledWebhookEvent"}}}}}},"workflow-run-step-run-processed-webhook":{"post":{"operationId":"workflow-run-step-run-processed-webhook","summary":"Workflow Run Step Run Processed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRunStepRunProcessedWebhookEvent"}}}}}},"workflow-created-webhook":{"post":{"operationId":"workflow-created-webhook","summary":"Workflow Created","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowCreatedWebhookEvent"}}}}}},"workflow-deployed-webhook":{"post":{"operationId":"workflow-deployed-webhook","summary":"Workflow Deployed","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowDeployedWebhookEvent"}}}}}},"workflow-deleted-webhook":{"post":{"operationId":"workflow-deleted-webhook","summary":"Workflow Deleted","responses":{"200":{"description":"Webhook received successfully"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowDeletedWebhookEvent"}}}}}}},"components":{"schemas":{"FileObject":{"type":"string","enum":["file"],"description":"The type of object. Will always be `\"file\"`.","title":"FileObject"},"FileType":{"type":"string","enum":["PDF","CSV","IMG","TXT","DOCX","EXCEL","XML","HTML"],"description":"The type of the file based on the file extension or content type.","title":"FileType"},"FileContentsPagesItems":{"type":"object","properties":{"pageNumber":{"type":"integer","description":"The page number of this page in the document."},"pageHeight":{"type":"number","format":"double","description":"The height of the page in points. Available for PDF and IMG file types."},"pageWidth":{"type":"number","format":"double","description":"The width of the page in points. Available for PDF and IMG file types."},"markdown":{"type":"string","description":"Cleaned and structured markdown content of this page. Available for PDF and IMG file types when the `markdown` query parameter is set to true.\n"},"html":{"type":"string","description":"HTML content of the page. Available for DOCX file types when the `html` query parameter is set to true.\n"}},"required":["pageNumber"],"title":"FileContentsPagesItems"},"FileContentsSectionsItems":{"type":"object","properties":{"startPageNumber":{"type":"integer","description":"The starting page number of this section."},"endPageNumber":{"type":"integer","description":"The ending page number of this section."},"markdown":{"type":"string","description":"The markdown content of this section."}},"required":["startPageNumber","endPageNumber","markdown"],"title":"FileContentsSectionsItems"},"FileContentsSheetsItems":{"type":"object","properties":{"sheetName":{"type":"string","description":"The name of the sheet."},"rawText":{"type":"string","description":"The raw text content of the sheet in CSV format."}},"required":["sheetName"],"title":"FileContentsSheetsItems"},"FileContents":{"type":"object","properties":{"rawText":{"type":"string","description":"The raw text content of the file. Available for all file types when the `rawText` query parameter is set to true.\n\n- **PDF/IMG**: Concatenated raw text from all pages\n- **DOCX**: The document's raw text\n- **CSV**: Concatenated chunks or CSV text\n- **EXCEL**: Not included (use `sheets` instead)\n- **TXT/XML/HTML**: The file's text content\n"},"pages":{"type":"array","items":{"$ref":"#/components/schemas/FileContentsPagesItems"},"description":"Page-level content for document file types.\n\n- **PDF/IMG**: Contains `pageNumber`, `pageHeight`, `pageWidth`, and `markdown` (if `markdown` query param is true)\n- **DOCX**: Contains `pageNumber` and `html` (if `html` query param is true)\n- **Other file types**: Empty array\n"},"sections":{"type":"array","items":{"$ref":"#/components/schemas/FileContentsSectionsItems"},"description":"Section-level content for documents that support section-based chunking. Available for PDF and IMG file types.\n"},"sheets":{"type":"array","items":{"$ref":"#/components/schemas/FileContentsSheetsItems"},"description":"Sheet-level content for spreadsheet file types. Available for EXCEL files.\n"}},"description":"**Deprecated:** Use the `POST /parse_runs` endpoint instead to parse and retrieve file contents. The parse runs endpoint provides more control over parsing configuration and better performance.\n\nThe parsed content of the file. This field will only contain data after the file has been parsed via a parse run, extract run, classify run, split run, edit run, or workflow run.\n\n**Availability:** Only present and populated on `GET /files/{id}` when the file has been previously parsed and the corresponding query parameters are set to true. Will be `null` on `POST /files/upload` and for files that haven't been parsed. The structure varies based on file type.\n","title":"FileContents"},"ParentSplit":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the split."},"type":{"type":"string","description":"The type of the split."},"identifier":{"type":"string","description":"The identifier of the split."},"startPage":{"type":"integer","description":"The start page of the split."},"endPage":{"type":"integer","description":"The end page of the split."}},"required":["id","type","identifier","startPage","endPage"],"description":"The split metadata details for a derivative file.\n\n**Availability:** Only included if this file is a derivative of another file, for instance if it was created via a Splitter in a workflow.\n","title":"ParentSplit"},"FileMetadata":{"type":"object","properties":{"pageCount":{"type":"number","format":"double","description":"The number of pages in the file. This is only set for PDF/DOCX files."},"parentSplit":{"$ref":"#/components/schemas/ParentSplit"}},"title":"FileMetadata"},"CreatedAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which the object was created. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T16:45:00Z\"`\n","title":"CreatedAt"},"UpdatedAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which the object was last updated. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T16:45:00Z\"`\n","title":"UpdatedAt"},"File":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/FileObject","description":"The type of object. Will always be `\"file\"`."},"id":{"type":"string","description":"ID for the file.\n\nExample: `\"file_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"name":{"type":"string","description":"The name of the file\n\nExample: `\"Invoices.pdf\"`\n"},"type":{"oneOf":[{"$ref":"#/components/schemas/FileType"},{"type":"null"}],"description":"The type of the file.\n\n**Availability:** Present when the file type could be determined.\n"},"presignedUrl":{"type":["string","null"],"description":"A presigned URL to download the file. Expires after 15 minutes.\n\n**Availability:** Present on `GET /files/{id}`. Not present on `POST /files/upload` or when the file is embedded in other resources (e.g., in run responses).\n"},"parentFileId":{"type":["string","null"],"description":"ID of the parent file.\n\n**Availability:** Present for files created via a Splitter in a workflow.\n"},"contents":{"oneOf":[{"$ref":"#/components/schemas/FileContents"},{"type":"null"}],"description":"**Deprecated:** Use the `POST /parse_runs` endpoint instead to parse and retrieve file contents. The parse runs endpoint provides more control over parsing configuration and better performance.\n\nThe parsed content of the file. This field will only contain data after the file has been parsed via a parse run, extract run, classify run, split run, edit run, or workflow run.\n\n**Availability:** Only present and populated on `GET /files/{id}` when the file has been previously parsed and the corresponding query parameters are set to true. Will be `null` on `POST /files/upload` and for files that haven't been parsed. The structure varies based on file type.\n"},"metadata":{"$ref":"#/components/schemas/FileMetadata"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","name","type","presignedUrl","parentFileId","contents","metadata","createdAt","updatedAt"],"title":"File"},"ApiError":{"type":"object","properties":{"code":{"type":"string","description":"Error code for programmatic handling."},"message":{"type":"string","description":"Human-readable error message suitable for displaying to developers. \nDo not rely on the exact text of this message as it may change.\n"},"retryable":{"type":"boolean","description":"Whether the request can be retried. When true, retry with exponential backoff.\nWhen false, fix the underlying issue before retrying.\n"},"requestId":{"type":"string","description":"Unique request identifier for support purposes. Always include this \nwhen contacting Extend support about an error.\n"}},"required":["code","message","retryable"],"description":"Standard error response format for all Extend API errors.\n\nSee the [Error Codes documentation](https://docs.extend.ai/2026-02-09/api-reference/error-handling) for error handling recommendations.\n","title":"ApiError"},"SortDir":{"type":"string","enum":["asc","desc"],"default":"desc","description":"Sort in ascending or descending order. Ascending order means the earliest result is returned first.","title":"SortDir"},"NextPageToken":{"type":"string","description":"The token used to fetch the page of results from a previous request. We use cursor based pagination and will return a `nextPageToken` in the response if there are more results.\n\nNote that if other parameters are changed in subsequent requests, you may receive inconsistent data.\n","title":"NextPageToken"},"MaxPageSize":{"type":"integer","default":10,"description":"The maximum number of results to return in the response. You may receive less than this number if there are fewer results than the maximum.","title":"MaxPageSize"},"FilesGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"FilesGetResponsesContentApplicationJsonSchemaObject"},"FileSummaryObject":{"type":"string","enum":["file"],"description":"The type of object. Will always be `\"file\"`.","title":"FileSummaryObject"},"FileSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/FileSummaryObject","description":"The type of object. Will always be `\"file\"`."},"id":{"type":"string","description":"ID for the file.\n\nExample: `\"file_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"name":{"type":"string","description":"The name of the file\n\nExample: `\"Invoices.pdf\"`\n"},"type":{"oneOf":[{"$ref":"#/components/schemas/FileType"},{"type":"null"}],"description":"The type of the file.\n\n**Availability:** Present when the file type could be determined.\n"},"parentFileId":{"type":["string","null"],"description":"ID of the parent file.\n\n**Availability:** Present for files created via a Splitter in a workflow.\n"},"metadata":{"$ref":"#/components/schemas/FileMetadata"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","name","type","parentFileId","metadata","createdAt","updatedAt"],"title":"FileSummary"},"files_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/FilesGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/FileSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"files_list_Response_200"},"files_delete_Response_200":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the deleted file."}},"required":["id"],"title":"files_delete_Response_200"},"ParsePostParametersResponseType":{"type":"string","enum":["json","url"],"title":"ParsePostParametersResponseType"},"FileFromUrlSettings":{"type":"object","properties":{"password":{"type":"string","description":"The password to unlock a password-protected PDF."}},"description":"Optional settings for the file, such as a password for password-protected PDFs.","title":"FileFromUrlSettings"},"FileFromUrl":{"type":"object","properties":{"url":{"type":"string","description":"A URL to download the file. For production use cases, we recommend using presigned URLs with a 5-15 minute expiration time.\n\nSupported file types can be found [here](https://docs.extend.ai/2026-02-09/general/supported-file-types).\n"},"name":{"type":"string","description":"The name of the file. If not set, the file name is taken from the URL."},"settings":{"$ref":"#/components/schemas/FileFromUrlSettings","description":"Optional settings for the file, such as a password for password-protected PDFs."}},"required":["url"],"title":"FileFromUrl"},"FileFromId":{"type":"object","properties":{"id":{"type":"string","description":"An Extend file ID.\n\nExample: `\"file_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"}},"required":["id"],"description":"An Extend file ID (for instance from another run or a previous file upload).\n","title":"FileFromId"},"ParsePostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"}],"description":"The file to be parsed. Files can be provided as a URL or an Extend file ID.","title":"ParsePostRequestBodyContentApplicationJsonSchemaFile"},"ParseConfigTarget":{"type":"string","enum":["markdown","spatial"],"default":"markdown","description":"The target format for the parsed content.\n\nSupported values:\n\n* `markdown`: True markdown with logical reading order (headings, lists, tables, checkboxes). Best default for LLMs/RAG and enables section-based chunking.\n* `spatial`: Layout/position-preserving text that uses markdown elements for block types but is not strictly markdown due to whitespace/tabs used to maintain placement. Only page-based chunking is supported.\n\nGuidance:\n\n* Prefer `markdown` for most documents, multi-column reading order, and retrieval use cases\n* Prefer `spatial` for messy/scanned/handwritten or skewed documents, when you need near 1:1 layout fidelity, or for BOL-like logistics docs\n\nSee “Markdown vs Spatial” in the [Parse guide](https://docs.extend.ai/2026-02-09/parsing/configuration#target-format) for details.\n","title":"ParseConfigTarget"},"ParseConfigChunkingStrategyType":{"type":"string","enum":["page","document","section"],"default":"page","description":"The type of chunking strategy. Supported values:\n\n* `page`: Chunk document by pages.\n* `document`: Entire document is a single chunk. Essentially no chunking.\n* `section`: Split by logical sections. Not supported for target=spatial.\n","title":"ParseConfigChunkingStrategyType"},"ParseConfigChunkingStrategyOptions":{"type":"object","properties":{"minCharacters":{"type":"integer","default":500,"description":"Specify a minimum number of characters per chunk."},"maxCharacters":{"type":"integer","default":10000,"description":"Specify a maximum number of characters per chunk."}},"description":"Additional options for the chunking strategy.","title":"ParseConfigChunkingStrategyOptions"},"ParseConfigChunkingStrategy":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/ParseConfigChunkingStrategyType","default":"page","description":"The type of chunking strategy. Supported values:\n\n* `page`: Chunk document by pages.\n* `document`: Entire document is a single chunk. Essentially no chunking.\n* `section`: Split by logical sections. Not supported for target=spatial.\n"},"options":{"$ref":"#/components/schemas/ParseConfigChunkingStrategyOptions","description":"Additional options for the chunking strategy."}},"description":"Strategy for dividing the document into chunks.","title":"ParseConfigChunkingStrategy"},"ParseConfigEngine":{"type":"string","enum":["parse_performance","parse_light"],"default":"parse_performance","description":"The parsing engine to use. Supported values:\n* `parse_performance`: Full-featured parsing engine with highest accuracy (default)\n* `parse_light`: Lightweight parsing engine optimized for high-volume, cost-sensitive ingestion. Uses the new layout model with full layout support and the markdown target at lower cost and latency, but performs worse than `parse_performance` on lower-quality scans, harder handwriting, larger tables, non-Latin-based languages, and dense checkbox regions.\n","title":"ParseConfigEngine"},"ParseConfigBlockOptionsFigures":{"type":"object","properties":{"enabled":{"type":"boolean","default":true,"description":"Whether to include figures in the output."},"figureImageClippingEnabled":{"type":"boolean","default":true,"description":"Whether to clip and extract images from figures."},"advancedChartExtractionEnabled":{"type":"boolean","default":false,"description":"Whether to enable advanced chart extraction using vision models for improved data extraction from charts."},"customInstructions":{"type":"string","description":"Custom instructions injected into the vision model prompt used to analyze and summarize figures. Use to steer figure descriptions toward your use case (e.g. domain terminology, details to always capture). Requires `enabled: true`. Available on `parse_performance` >= `2.0.0` and `parse_light` >= `1.0.0`.\n"}},"description":"Options for figure blocks.","title":"ParseConfigBlockOptionsFigures"},"ParseConfigBlockOptionsTablesTargetFormat":{"type":"string","enum":["markdown","html"],"default":"html","description":"The target format for the table blocks. Supported values:\n* `markdown`: Convert table to Markdown format\n* `html`: Convert table to HTML format\n","title":"ParseConfigBlockOptionsTablesTargetFormat"},"ParseConfigBlockOptionsTablesAgentic":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable agentic table processing."},"customInstructions":{"type":"string","description":"Custom instructions to guide the agentic table processing."}},"description":"Options for agentic table processing using VLM-based review and correction.","title":"ParseConfigBlockOptionsTablesAgentic"},"ParseConfigBlockOptionsTables":{"type":"object","properties":{"enabled":{"type":"boolean","default":true,"description":"This option is deprecated and will have no effect. It will be removed in the next API version."},"targetFormat":{"$ref":"#/components/schemas/ParseConfigBlockOptionsTablesTargetFormat","default":"html","description":"The target format for the table blocks. Supported values:\n* `markdown`: Convert table to Markdown format\n* `html`: Convert table to HTML format\n"},"tableHeaderContinuationEnabled":{"type":"boolean","default":false,"description":"Whether to automatically copy table headers to headerless tables on subsequent pages when they have matching column counts. Useful for multi-page tables."},"cellBlocksEnabled":{"type":"boolean","default":false,"description":"Whether to include individual table cell blocks in the output. When enabled, each cell in a table will be represented as a separate block with its own bounding box and content and will be `children` of the table block."},"agentic":{"$ref":"#/components/schemas/ParseConfigBlockOptionsTablesAgentic","description":"Options for agentic table processing using VLM-based review and correction."}},"description":"Options for table blocks.","title":"ParseConfigBlockOptionsTables"},"ParseConfigBlockOptionsTextAgentic":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable agentic text processing for OCR corrections."},"customInstructions":{"type":"string","description":"Custom instructions to guide the agentic text processing."}},"description":"Options for agentic text processing using VLM-based review and correction.","title":"ParseConfigBlockOptionsTextAgentic"},"ParseConfigBlockOptionsText":{"type":"object","properties":{"signatureDetectionEnabled":{"type":"boolean","default":false,"description":"Whether an additional vision model will be utilized for advanced signature detection. Recommended for most use cases, but should be disabled if signature detection is not necessary and latency is a concern."},"agentic":{"$ref":"#/components/schemas/ParseConfigBlockOptionsTextAgentic","description":"Options for agentic text processing using VLM-based review and correction."}},"description":"Options for text blocks.","title":"ParseConfigBlockOptionsText"},"ParseConfigBlockOptionsKeyValue":{"type":"object","properties":{"blankFieldFormattingEnabled":{"type":"boolean","default":false,"description":"Whether to preserve blank field formatting for key-value pairs with empty values."}},"description":"Options for key-value pair blocks.","title":"ParseConfigBlockOptionsKeyValue"},"ParseConfigBlockOptionsBarcodes":{"type":"object","properties":{"imageClippingEnabled":{"type":"boolean","default":false,"description":"Whether to clip and extract images of barcodes. When enabled, barcode images will be available in the `imageUrl` field of BarcodeDetails."},"readingEnabled":{"type":"boolean","default":false,"description":"Whether to decode and read barcode values. When enabled, decoded values will be available in the `decodedValue` field of BarcodeDetails."}},"description":"Options for barcode blocks.","title":"ParseConfigBlockOptionsBarcodes"},"ParseConfigBlockOptionsFormulas":{"type":"object","properties":{"enabled":{"type":"boolean","default":false,"description":"Whether to enable formula detection and parsing. When enabled, mathematical formulas and equations are detected and their LaTeX representations are included in the output. When disabled, formulas will be detected as text blocks and may not be accurately parsed."}},"description":"Options for formula blocks.","title":"ParseConfigBlockOptionsFormulas"},"ParseConfigBlockOptions":{"type":"object","properties":{"figures":{"$ref":"#/components/schemas/ParseConfigBlockOptionsFigures","description":"Options for figure blocks."},"tables":{"$ref":"#/components/schemas/ParseConfigBlockOptionsTables","description":"Options for table blocks."},"text":{"$ref":"#/components/schemas/ParseConfigBlockOptionsText","description":"Options for text blocks."},"keyValue":{"$ref":"#/components/schemas/ParseConfigBlockOptionsKeyValue","description":"Options for key-value pair blocks."},"barcodes":{"$ref":"#/components/schemas/ParseConfigBlockOptionsBarcodes","description":"Options for barcode blocks."},"formulas":{"$ref":"#/components/schemas/ParseConfigBlockOptionsFormulas","description":"Options for formula blocks."}},"description":"Options for controlling how different block types are processed.","title":"ParseConfigBlockOptions"},"PageRangesItems":{"type":"object","properties":{"start":{"type":"integer","description":"The start page of the range."},"end":{"type":"integer","default":750,"description":"The end page of the range."}},"required":["start","end"],"title":"PageRangesItems"},"PageRanges":{"type":"array","items":{"$ref":"#/components/schemas/PageRangesItems"},"description":"Limit processing to the specified page ranges. See [Page Ranges](https://docs.extend.ai/2026-02-09/page-ranges).","title":"PageRanges"},"ParseConfigAdvancedOptionsExcelParsingMode":{"type":"string","enum":["basic","advanced"],"description":"Controls how Excel files are parsed.\n\n* `basic`: Fast, deterministic parsing.\n* `advanced`: Enable layout block detection for complex spreadsheets.\n\nFor `.xls` files, `basic` mode is always used.\n","title":"ParseConfigAdvancedOptionsExcelParsingMode"},"ParseConfigAdvancedOptionsReturnOcr":{"type":"object","properties":{"words":{"type":"boolean","default":false,"description":"Whether to include word-level OCR data in the response, including word bounding boxes and confidence scores. This meaningfully impacts the response size, consider using the signed url return format."}},"description":"Options for returning raw OCR data in the response.","title":"ParseConfigAdvancedOptionsReturnOcr"},"ParseConfigAdvancedOptionsEnrichmentFormat":{"type":"string","enum":["xml","bracket"],"default":"xml","description":"The format used for enrichment annotations in the output.\n\n* `xml`: Use XML-style tags for enrichment annotations, e.g. <page_number>1</page_number> or <barcode>1234567890</barcode>\n* `bracket`: Use bracket-style notation for enrichment annotations, e.g. [page_number: 1] or [barcode: 1234567890]\n","title":"ParseConfigAdvancedOptionsEnrichmentFormat"},"ParseConfigAdvancedOptionsImageConversionQuality":{"type":"string","enum":["high","medium","low"],"default":"medium","description":"Controls the quality level when converting images or documents to PDF for parsing.\n\n* `high`: Maximum quality, can add some latency for large/dense documents\n* `medium`: Balanced quality and speed\n* `low`: Lower quality, smaller file sizes, faster processing\n","title":"ParseConfigAdvancedOptionsImageConversionQuality"},"ParseConfigAdvancedOptionsFormattingDetectionItemsType":{"type":"string","enum":["change_tracking"],"description":"The type of formatting detection to enable.\n\n* `\"change_tracking\"` — Detect tracked changes (insertions, deletions, substitutions) indicated by strikethroughs, colored text, or underlines in the source document.\n","title":"ParseConfigAdvancedOptionsFormattingDetectionItemsType"},"ParseConfigAdvancedOptionsFormattingDetectionItems":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/ParseConfigAdvancedOptionsFormattingDetectionItemsType","description":"The type of formatting detection to enable.\n\n* `\"change_tracking\"` — Detect tracked changes (insertions, deletions, substitutions) indicated by strikethroughs, colored text, or underlines in the source document.\n"}},"required":["type"],"title":"ParseConfigAdvancedOptionsFormattingDetectionItems"},"ParseConfigAdvancedOptions":{"type":"object","properties":{"pageRotationEnabled":{"type":"boolean","default":true,"description":"Whether to automatically detect and correct page rotation."},"pageRanges":{"$ref":"#/components/schemas/PageRanges"},"excelParsingMode":{"$ref":"#/components/schemas/ParseConfigAdvancedOptionsExcelParsingMode","description":"Controls how Excel files are parsed.\n\n* `basic`: Fast, deterministic parsing.\n* `advanced`: Enable layout block detection for complex spreadsheets.\n\nFor `.xls` files, `basic` mode is always used.\n"},"excelSkipHiddenContent":{"type":"boolean","default":false,"description":"Whether to exclude hidden rows, columns, and sheets when parsing Excel files."},"excelUseRawCellValues":{"type":"boolean","default":false,"description":"Whether to return raw calculated cell values instead of locale-formatted values when parsing Excel files. Useful when downstream processing needs the underlying numeric or unformatted data."},"excelSkipCalculation":{"type":"boolean","default":true,"description":"Whether to skip formula recalculation when opening Excel workbooks. Significantly improves parsing speed for formula-heavy spreadsheets. Disable if cell values depend on volatile functions like NOW() or TODAY()."},"verticalGroupingThreshold":{"type":"number","format":"double","default":1,"description":"Multiplier for the Y-axis threshold used to determine if text blocks should be placed on the same line or not (0.1-5.0, default 1.0). Higher values group elements that are further apart vertically. Only applies when the spatial target is set."},"returnOcr":{"$ref":"#/components/schemas/ParseConfigAdvancedOptionsReturnOcr","description":"Options for returning raw OCR data in the response."},"alwaysConvertToPdf":{"type":"boolean","default":false,"description":"Whether to convert supported file types (images, Word documents, PowerPoint, Excel, HTML) to PDF before parsing. This can improve parsing quality for some file types and ensures spatial output with bounding boxes."},"enrichmentFormat":{"$ref":"#/components/schemas/ParseConfigAdvancedOptionsEnrichmentFormat","default":"xml","description":"The format used for enrichment annotations in the output.\n\n* `xml`: Use XML-style tags for enrichment annotations, e.g. <page_number>1</page_number> or <barcode>1234567890</barcode>\n* `bracket`: Use bracket-style notation for enrichment annotations, e.g. [page_number: 1] or [barcode: 1234567890]\n"},"imageConversionQuality":{"$ref":"#/components/schemas/ParseConfigAdvancedOptionsImageConversionQuality","default":"medium","description":"Controls the quality level when converting images or documents to PDF for parsing.\n\n* `high`: Maximum quality, can add some latency for large/dense documents\n* `medium`: Balanced quality and speed\n* `low`: Lower quality, smaller file sizes, faster processing\n"},"formattingDetection":{"type":"array","items":{"$ref":"#/components/schemas/ParseConfigAdvancedOptionsFormattingDetectionItems"},"description":"Enable detection of formatting-based annotations in the document. Currently supports change tracking detection.\n\nWhen enabled, detected changes are represented inline within the `content` field of applicable blocks using standard HTML change-tracking elements: [`<ins>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins) for insertions and [`<del>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del) for deletions, grouped inside a `<change>` wrapper.\n\nAffected block types: `text`, `heading`, `section_heading`, `header`, `footer`.\n\n**Note:** Requires `engine: \"parse_performance\"` with `engineVersion >= \"2.0.0\"`.\n"}},"title":"ParseConfigAdvancedOptions"},"ParseConfig":{"type":"object","properties":{"target":{"$ref":"#/components/schemas/ParseConfigTarget","default":"markdown","description":"The target format for the parsed content.\n\nSupported values:\n\n* `markdown`: True markdown with logical reading order (headings, lists, tables, checkboxes). Best default for LLMs/RAG and enables section-based chunking.\n* `spatial`: Layout/position-preserving text that uses markdown elements for block types but is not strictly markdown due to whitespace/tabs used to maintain placement. Only page-based chunking is supported.\n\nGuidance:\n\n* Prefer `markdown` for most documents, multi-column reading order, and retrieval use cases\n* Prefer `spatial` for messy/scanned/handwritten or skewed documents, when you need near 1:1 layout fidelity, or for BOL-like logistics docs\n\nSee “Markdown vs Spatial” in the [Parse guide](https://docs.extend.ai/2026-02-09/parsing/configuration#target-format) for details.\n"},"chunkingStrategy":{"$ref":"#/components/schemas/ParseConfigChunkingStrategy","description":"Strategy for dividing the document into chunks."},"engine":{"$ref":"#/components/schemas/ParseConfigEngine","default":"parse_performance","description":"The parsing engine to use. Supported values:\n* `parse_performance`: Full-featured parsing engine with highest accuracy (default)\n* `parse_light`: Lightweight parsing engine optimized for high-volume, cost-sensitive ingestion. Uses the new layout model with full layout support and the markdown target at lower cost and latency, but performs worse than `parse_performance` on lower-quality scans, harder handwriting, larger tables, non-Latin-based languages, and dense checkbox regions.\n"},"engineVersion":{"type":"string","default":"latest","description":"Pin a specific parser engine version for reproducibility. When set to `latest`, the most recent stable version of the selected engine is used.\n"},"blockOptions":{"$ref":"#/components/schemas/ParseConfigBlockOptions","description":"Options for controlling how different block types are processed."},"advancedOptions":{"$ref":"#/components/schemas/ParseConfigAdvancedOptions"}},"description":"Configuration options for the parsing process. Defaults depend on the selected parser engine and version.","title":"ParseConfig"},"RunMetadata":{"type":"object","additionalProperties":{"description":"Any type"},"description":"An optional object that can be passed in to identify the run. It will be returned back to you in the response and webhooks. Maximum size is 10KB.\n\nTo categorize runs for billing and usage tracking, include `extend:usage_tags` with an array of string values (e.g., `{\"extend:usage_tags\": [\"production\", \"team-eng\", \"customer-123\"]}`). Tags must contain only alphanumeric characters, hyphens, and underscores; any special characters will be automatically removed.\n","title":"RunMetadata"},"ParseRunObject":{"type":"string","enum":["parse_run"],"description":"The type of object. Will always be `\"parse_run\"`.","title":"ParseRunObject"},"ParseRunStatusEnum":{"type":"string","enum":["PENDING","PROCESSING","PROCESSED","FAILED"],"description":"The status of the parse run:\n* `\"PENDING\"` - The run has been created and is waiting to be processed. Only applies to runs created via `POST /parse_runs/batch`.\n* `\"PROCESSING\"` - The file is still being processed\n* `\"PROCESSED\"` - The file was successfully processed\n* `\"FAILED\"` - The processing failed (see `failureReason` for details)\n","title":"ParseRunStatusEnum"},"ChunkObject":{"type":"string","enum":["chunk"],"description":"The type of object. In this case, it will always be `\"chunk\"`.\n","title":"ChunkObject"},"ChunkType":{"type":"string","enum":["page","document","section"],"description":"The type of chunk.","title":"ChunkType"},"ChunkMetadataPageRange":{"type":"object","properties":{"start":{"type":"integer","description":"The starting page number (inclusive)."},"end":{"type":"integer","description":"The ending page number (inclusive)."}},"required":["start","end"],"description":"The page range this chunk covers. Often will just be a partial page, in which cases `start` and `end` will be the same.\n","title":"ChunkMetadataPageRange"},"ChunkMetadata":{"type":"object","properties":{"pageRange":{"$ref":"#/components/schemas/ChunkMetadataPageRange","description":"The page range this chunk covers. Often will just be a partial page, in which cases `start` and `end` will be the same.\n"},"minOcrConfidence":{"type":["number","null"],"format":"double","description":"Lowest per-word OCR confidence across words in this chunk, or `null` when word-level confidence is unavailable."},"avgOcrConfidence":{"type":["number","null"],"format":"double","description":"Average per-word OCR confidence across words in this chunk, or `null` when word-level confidence is unavailable."}},"required":["pageRange"],"description":"Metadata about the chunk.","title":"ChunkMetadata"},"BlockObject":{"type":"string","enum":["block"],"description":"The type of object. In this case, it will always be `\"block\"`.\n","title":"BlockObject"},"BlockType":{"type":"string","enum":["text","heading","section_heading","table","figure","table_head","table_cell","key_value","page_number","barcode","formula","header","footer"],"description":"The type of block:\n* `\"text\"` - Regular text content\n* `\"heading\"` - Section or document headings \n* `\"section_heading\"` - Subsection headings\n* `\"table\"` - Tabular data with rows and columns\n* `\"figure\"` - Images, charts, diagrams, or logos\n* `\"table_head\"` - Table header cells\n* `\"table_cell\"` - Table body cells\n* `\"key_value\"` - Key-value pairs (e.g., form regions, key-val groups, etc)\n* `\"page_number\"` - Page number indicators\n* `\"barcode\"` - Barcodes and QR codes\n* `\"formula\"` - Mathematical formulas and equations\n* `\"header\"` - Page headers\n* `\"footer\"` - Page footers\n","title":"BlockType"},"TableDetailsType":{"type":"string","enum":["table_details"],"description":"Indicates this is a table details object","title":"TableDetailsType"},"TableDetails":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/TableDetailsType","description":"Indicates this is a table details object"},"rowCount":{"type":"integer","description":"The number of rows in the table"},"columnCount":{"type":"integer","description":"The number of columns in the table"}},"required":["type","rowCount","columnCount"],"description":"Details for table blocks","title":"TableDetails"},"TableCellDetailsType":{"type":"string","enum":["table_cell_details"],"description":"Indicates this is a table cell details object","title":"TableCellDetailsType"},"TableCellDetails":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/TableCellDetailsType","description":"Indicates this is a table cell details object"},"rowIndex":{"type":"integer"},"columnIndex":{"type":"integer"}},"required":["type","rowIndex","columnIndex"],"description":"Details for table cell blocks","title":"TableCellDetails"},"FigureDetailsType":{"type":"string","enum":["figure_details"],"description":"Indicates this is a figure details object","title":"FigureDetailsType"},"FigureDetailsFigureType":{"type":"string","enum":["other","chart","image","diagram","logo"],"description":"The refined type of figure - only set when figure classification and summarization is enabled. Possible values:\n\n* `image`: A photographic image\n* `chart`: A data chart or graph\n* `diagram`: A schematic or diagram\n* `logo`: A company or brand logo\n* `other`: Any other type of figure\n","title":"FigureDetailsFigureType"},"FigureDetails":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FigureDetailsType","description":"Indicates this is a figure details object"},"imageUrl":{"type":"string","description":"URL to the clipped/segmented figure image. Only set if the option `figureImageClippingEnabled` in the input is `true`, which it is by default."},"figureType":{"$ref":"#/components/schemas/FigureDetailsFigureType","description":"The refined type of figure - only set when figure classification and summarization is enabled. Possible values:\n\n* `image`: A photographic image\n* `chart`: A data chart or graph\n* `diagram`: A schematic or diagram\n* `logo`: A company or brand logo\n* `other`: Any other type of figure\n"}},"required":["type"],"description":"Details for figure blocks","title":"FigureDetails"},"BarcodeDetailsType":{"type":"string","enum":["barcode_details"],"description":"Indicates this is a barcode details object","title":"BarcodeDetailsType"},"BarcodeDetails":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/BarcodeDetailsType","description":"Indicates this is a barcode details object"},"imageUrl":{"type":"string","description":"URL to the clipped/segmented barcode image. Only set if the option `imageClippingEnabled` in blockOptions.barcodes is `true`."},"decodedValue":{"type":"string","description":"The decoded value of the barcode or QR code. Only set if the option `readingEnabled` in blockOptions.barcodes is `true`."},"format":{"type":"string","description":"The format of the barcode (e.g., \"QRCode\", \"Code128\", \"DataMatrix\", \"EAN13\")."}},"required":["type"],"description":"Details for barcode blocks","title":"BarcodeDetails"},"FormulaDetailsType":{"type":"string","enum":["formula_details"],"description":"Indicates this is a formula details object","title":"FormulaDetailsType"},"FormulaDetails":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/FormulaDetailsType","description":"Indicates this is a formula details object"},"latex":{"type":"string","description":"The LaTeX representation of the detected formula."}},"required":["type"],"description":"Details for formula blocks","title":"FormulaDetails"},"KeyValueDetailsType":{"type":"string","enum":["key_value_details"],"description":"Indicates this is a key-value details object","title":"KeyValueDetailsType"},"KeyValueDetails":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/KeyValueDetailsType","description":"Indicates this is a key-value details object"}},"required":["type"],"description":"Details for key-value pair blocks","title":"KeyValueDetails"},"EmptyBlockDetails":{"type":"object","properties":{},"description":"An empty object","title":"EmptyBlockDetails"},"BlockDetails":{"oneOf":[{"$ref":"#/components/schemas/TableDetails"},{"$ref":"#/components/schemas/TableCellDetails"},{"$ref":"#/components/schemas/FigureDetails"},{"$ref":"#/components/schemas/BarcodeDetails"},{"$ref":"#/components/schemas/FormulaDetails"},{"$ref":"#/components/schemas/KeyValueDetails"},{"$ref":"#/components/schemas/EmptyBlockDetails"}],"description":"Additional details specific to the block type. The schema depends on the block type.\n","title":"BlockDetails"},"BlockMetadataPage":{"type":"object","properties":{"number":{"type":"integer","description":"The page number where this block appears."},"width":{"type":"number","format":"double","description":"The width of the page in points."},"height":{"type":"number","format":"double","description":"The height of the page in points."}},"required":["number"],"description":"Information about the page this block appears on.","title":"BlockMetadataPage"},"BlockMetadataSheet":{"type":"object","properties":{"index":{"type":"integer","description":"The zero-based index of the sheet in the original workbook."},"name":{"type":"string","description":"The name of the sheet in the original workbook."}},"required":["index","name"],"description":"Spreadsheet sheet metadata. Present for blocks parsed from spreadsheet files, such as Excel workbooks.","title":"BlockMetadataSheet"},"BlockMetadataTextDirection":{"type":"string","enum":["ltr","rtl"],"description":"Text direction for this block's content (\"ltr\" for left-to-right, \"rtl\" for right-to-left).","title":"BlockMetadataTextDirection"},"BlockMetadata":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/BlockMetadataPage","description":"Information about the page this block appears on."},"sheet":{"$ref":"#/components/schemas/BlockMetadataSheet","description":"Spreadsheet sheet metadata. Present for blocks parsed from spreadsheet files, such as Excel workbooks."},"textDirection":{"$ref":"#/components/schemas/BlockMetadataTextDirection","description":"Text direction for this block's content (\"ltr\" for left-to-right, \"rtl\" for right-to-left)."},"minOcrConfidence":{"type":["number","null"],"format":"double","description":"Lowest per-word OCR confidence across words in this block, or `null` when word-level confidence is unavailable."},"avgOcrConfidence":{"type":["number","null"],"format":"double","description":"Average per-word OCR confidence across words in this block, or `null` when word-level confidence is unavailable."}},"description":"Metadata about the block.","title":"BlockMetadata"},"BlockPolygonItems":{"type":"object","properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}},"required":["x","y"],"title":"BlockPolygonItems"},"BoundingBox":{"type":"object","properties":{"left":{"type":["number","null"],"format":"double","description":"The left coordinate of the bounding box."},"top":{"type":["number","null"],"format":"double","description":"The top coordinate of the bounding box."},"right":{"type":["number","null"],"format":"double","description":"The right coordinate of the bounding box."},"bottom":{"type":["number","null"],"format":"double","description":"The bottom coordinate of the bounding box."}},"required":["left","top","right","bottom"],"description":"A bounding box defined by its edges.","title":"BoundingBox"},"Block":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/BlockObject","description":"The type of object. In this case, it will always be `\"block\"`.\n"},"id":{"type":"string","description":"A unique identifier for the block, deterministically generated as a hash of the block content."},"parentBlockId":{"type":"string","description":"The ID of the parent block. For example, for a table cell block, this would be the ID of the parent table block. Only set if this is a child block."},"type":{"$ref":"#/components/schemas/BlockType","description":"The type of block:\n* `\"text\"` - Regular text content\n* `\"heading\"` - Section or document headings \n* `\"section_heading\"` - Subsection headings\n* `\"table\"` - Tabular data with rows and columns\n* `\"figure\"` - Images, charts, diagrams, or logos\n* `\"table_head\"` - Table header cells\n* `\"table_cell\"` - Table body cells\n* `\"key_value\"` - Key-value pairs (e.g., form regions, key-val groups, etc)\n* `\"page_number\"` - Page number indicators\n* `\"barcode\"` - Barcodes and QR codes\n* `\"formula\"` - Mathematical formulas and equations\n* `\"header\"` - Page headers\n* `\"footer\"` - Page footers\n"},"content":{"type":"string","description":"The textual content of the block formatted based on the target format."},"details":{"$ref":"#/components/schemas/BlockDetails","description":"Additional details specific to the block type. The schema depends on the block type.\n"},"metadata":{"$ref":"#/components/schemas/BlockMetadata","description":"Metadata about the block."},"polygon":{"type":"array","items":{"$ref":"#/components/schemas/BlockPolygonItems"},"description":"An array of points defining the polygon that bounds the block."},"boundingBox":{"$ref":"#/components/schemas/BoundingBox","description":"A simplified bounding box for the block."},"children":{"type":"array","items":{"$ref":"#/components/schemas/Block"},"description":"An array of child blocks. For example, a table block may contain table cell blocks as children when `cellBlocksEnabled` is set to true."}},"required":["object","id","type","content","details","metadata","polygon","boundingBox"],"title":"Block"},"Chunk":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ChunkObject","description":"The type of object. In this case, it will always be `\"chunk\"`.\n"},"type":{"$ref":"#/components/schemas/ChunkType","description":"The type of chunk."},"content":{"type":"string","description":"The parsed content of the chunk."},"metadata":{"$ref":"#/components/schemas/ChunkMetadata","description":"Metadata about the chunk."},"blocks":{"type":"array","items":{"$ref":"#/components/schemas/Block"},"description":"An array of block objects that make up the chunk. A Block represents a distinct content element within a document, such as a paragraph of text, a heading, a table, or a figure. Blocks are the fundamental units that make up chunks in parsed documents.\n"}},"required":["object","type","content","metadata","blocks"],"title":"Chunk"},"ParseRunOutputOcrWordsItems":{"type":"object","properties":{"content":{"type":"string","description":"The text content of the word."},"boundingBox":{"$ref":"#/components/schemas/BoundingBox","description":"The bounding box coordinates of the word."},"confidence":{"type":"number","format":"double","description":"The confidence score of the OCR detection for this word, between 0 and 1."},"pageNumber":{"type":"number","format":"double","description":"The page number where the word was detected."}},"required":["content","boundingBox","confidence","pageNumber"],"title":"ParseRunOutputOcrWordsItems"},"ParseRunOutputOcr":{"type":"object","properties":{"words":{"type":"array","items":{"$ref":"#/components/schemas/ParseRunOutputOcrWordsItems"},"description":"An array of individual words detected by OCR."}},"description":"Raw OCR data from the parsing process. Only included when `returnOcr` is configured in the parse config's advanced options.","title":"ParseRunOutputOcr"},"ParseRunOutput":{"type":"object","properties":{"chunks":{"type":"array","items":{"$ref":"#/components/schemas/Chunk"},"description":"An array of chunks that were parsed from the file."},"ocr":{"$ref":"#/components/schemas/ParseRunOutputOcr","description":"Raw OCR data from the parsing process. Only included when `returnOcr` is configured in the parse config's advanced options."}},"required":["chunks"],"description":"The parse run output.\n\n**Availability:** Present when `status` is `\"PROCESSED\"` and the request was made without the `responseType=url` query parameter. Contains the parsed chunks.\n","title":"ParseRunOutput"},"ParseRunMetrics":{"type":"object","properties":{"processingTimeMs":{"type":"number","format":"double","description":"The time taken to process the document in milliseconds."},"pageCount":{"type":"number","format":"double","description":"The number of pages from the document that were parsed. For PDF and image files, this is the actual page count. For spreadsheet files (Excel, CSV), this is an estimated page count based on content volume (~1000 tokens per page)."}},"required":["processingTimeMs","pageCount"],"description":"Metrics about the parsing process.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n","title":"ParseRunMetrics"},"RunUsageBreakdownEntryObject":{"type":"string","enum":["extract_run","classify_run","split_run","parse_run","edit_run"],"description":"The public object type of the contributing resource. Mirrors the top-level `object` field on the corresponding endpoint so callers can fetch the underlying resource by id if they want more detail.\n","title":"RunUsageBreakdownEntryObject"},"RunUsageBreakdownCharge":{"type":"object","properties":{"product":{"type":"string","description":"Identifier for the billable cost driver.\n"},"unit":{"type":"string","description":"The unit `quantity` is measured in."},"quantity":{"type":"number","format":"double","description":"How many units this charge was billed for."},"credits":{"type":"number","format":"double","description":"Credits consumed by this charge."},"pages":{"type":"array","items":{"type":"integer"},"description":"1-indexed page numbers that incurred this charge. Present on usage-based add-ons that are only billed for the pages where they actually applied (e.g. `agentic_text_correction`, `agentic_table_correction`).\n"}},"required":["product","unit","quantity","credits"],"description":"A single cost driver within a breakdown entry's credit total. The per-unit rate is `credits / quantity`.\n","title":"RunUsageBreakdownCharge"},"RunUsageBreakdownEntry":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/RunUsageBreakdownEntryObject","description":"The public object type of the contributing resource. Mirrors the top-level `object` field on the corresponding endpoint so callers can fetch the underlying resource by id if they want more detail.\n"},"id":{"type":"string","description":"The id of the contributing resource (e.g. `pr_3UZSj69pYZDKHFuuX57ic`)."},"credits":{"type":"number","format":"double","description":"Credits charged to the contributing resource."},"charges":{"type":"array","items":{"$ref":"#/components/schemas/RunUsageBreakdownCharge"},"description":"Itemized cost drivers that make up this entry's `credits`. When present, `sum(charges[].credits) === credits`.\n\n**Availability:** Present on runs persisted on or after June 10, 2026. Runs persisted before that date will omit this field.\n"}},"required":["object","id","credits"],"description":"One line item in a run's `usage.breakdown`. Each entry corresponds to a concrete chargeable resource that contributed credits to the parent operation. When `charges` is present, it itemizes the cost drivers behind this entry's `credits`.\n","title":"RunUsageBreakdownEntry"},"RunUsage":{"type":"object","properties":{"credits":{"type":"number","format":"double","description":"The credits consumed by this run. For most run types this is the line item for the run's own work; for `workflow_run` this is the aggregate across all child runs.\n"},"totalCredits":{"type":"number","format":"double","description":"The total credits accounted for under this run, including any other runs it was responsible for creating. For example, an extract run on a fresh upload triggers a parse run, so `totalCredits` includes both line items. For runs that didn't trigger any other work — like `parse_run`, `edit_run` and `workflow_run` — `totalCredits` equals `credits`.\n\n**Availability:** Present on runs persisted on or after May 14, 2026. Runs persisted before that date will omit this field.\n"},"breakdown":{"type":"array","items":{"$ref":"#/components/schemas/RunUsageBreakdownEntry"},"description":"The chargeable resources that make up `totalCredits`, including this run itself when it has its own line item. For `workflow_run`, lists every contributing child run sorted by creation time (the workflow itself isn't chargeable and has no line item).\n\n**Availability:** Present on runs persisted on or after May 14, 2026. Runs persisted before that date will omit this field.\n"}},"required":["credits"],"description":"Usage credits consumed by a run.\n\n**Availability:** This field will not be returned for:\n* Runs created before October 7, 2025\n* Customers on legacy billing systems\n\nFor more details on how credits work, see our [Credits Guide](https://docs.extend.ai/2026-02-09/general/how-credits-work).\n","title":"RunUsage"},"ParseRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ParseRunObject","description":"The type of object. Will always be `\"parse_run\"`."},"id":{"type":"string","description":"A unique identifier for the parse run.\n\nExample: `\"pr_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"batchId":{"type":["string","null"],"description":"The ID of the batch this run belongs to, if created via `POST /parse_runs/batch`.\n\n**Availability:** Present when the run was submitted as part of a batch.\n\nExample: `\"bpar_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"file":{"oneOf":[{"$ref":"#/components/schemas/FileSummary"},{"type":"null"}],"description":"The file that was parsed. This file can be used as a parameter for other Extend endpoints, such as `POST /workflow_runs`. May be `null` for batch parse runs where file ingestion failed."},"status":{"$ref":"#/components/schemas/ParseRunStatusEnum","description":"The status of the parse run:\n* `\"PENDING\"` - The run has been created and is waiting to be processed. Only applies to runs created via `POST /parse_runs/batch`.\n* `\"PROCESSING\"` - The file is still being processed\n* `\"PROCESSED\"` - The file was successfully processed\n* `\"FAILED\"` - The processing failed (see `failureReason` for details)\n"},"failureReason":{"type":["string","null"],"description":"The reason for failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n\nPossible values include:\n* `UNABLE_TO_DOWNLOAD_FILE` - The file could not be downloaded from the provided URL\n* `FILE_TYPE_NOT_SUPPORTED` - The file type is not supported for parsing\n* `FILE_SIZE_TOO_LARGE` - The file exceeds the maximum allowed size\n* `CORRUPT_FILE` - The file appears to be corrupted or malformed\n* `OCR_ERROR` - An error occurred during optical character recognition\n* `PASSWORD_PROTECTED_FILE` - The file is password protected and cannot be processed\n* `FAILED_TO_CONVERT_TO_PDF` - The file could not be converted to PDF for processing\n* `FAILED_TO_CONVERT_TO_JPEG` - The file could not be converted to JPEG for processing\n* `FAILED_TO_GENERATE_TARGET_FORMAT` - The output could not be generated in the requested format\n* `CHUNKING_ERROR` - An error occurred while chunking the document\n* `INTERNAL_ERROR` - An unexpected internal error occurred\n* `INVALID_CONFIG_OPTIONS` - The provided configuration options are invalid\n* `OUT_OF_CREDITS` - Insufficient credits to process the file\n\n**Note:** Additional failure reasons may be added in the future. Your integration should handle unknown values gracefully.\n"},"failureMessage":{"type":["string","null"],"description":"A human-readable description of the failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/RunMetadata"},{"type":"null"}],"description":"Any metadata that was provided when creating the parse run.\n\n**Availability:** Present when metadata was provided during creation.\n"},"output":{"oneOf":[{"$ref":"#/components/schemas/ParseRunOutput"},{"type":"null"}],"description":"The parse run output.\n\n**Availability:** Present when `status` is `\"PROCESSED\"` and the request was made without the `responseType=url` query parameter. Contains the parsed chunks.\n"},"outputUrl":{"type":["string","null"],"description":"A presigned URL to download the parse run output as a JSON file. The object shape is the same as the `output` field. Expires after 15 minutes.\n\n**Availability:** Present when `status` is `\"PROCESSED\"` and the request was made with `responseType=url` query parameter.\n"},"metrics":{"oneOf":[{"$ref":"#/components/schemas/ParseRunMetrics"},{"type":"null"}],"description":"Metrics about the parsing process.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n"},"config":{"$ref":"#/components/schemas/ParseConfig","description":"The configuration used for the parsing process, including any default values that were applied."},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsage"},{"type":"null"}],"description":"Usage credits consumed by this parse run.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`, the run was created after October 7, 2025, and the customer is on the current billing system.\n"}},"required":["object","id","file","status","failureReason","failureMessage","metadata","output","outputUrl","metrics","config","usage"],"description":"Parse run object.","title":"ParseRun"},"ParseRunsPostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"}],"description":"The file to be parsed. Files can be provided as a URL or an Extend file ID.","title":"ParseRunsPostRequestBodyContentApplicationJsonSchemaFile"},"ParseRunsIdGetParametersResponseType":{"type":"string","enum":["json","url"],"title":"ParseRunsIdGetParametersResponseType"},"parseRuns_delete_Response_200":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the deleted parse run."}},"required":["id"],"title":"parseRuns_delete_Response_200"},"ParseRunsGetParametersStatus":{"type":"string","enum":["PENDING","PROCESSING","PROCESSED","FAILED"],"title":"ParseRunsGetParametersStatus"},"ParseRunSource":{"type":"string","enum":["API","STUDIO","WORKFLOW_RUN","ADMIN","BATCH_PARSER_RUN","EDIT_RUN","DOCUMENT_PROCESSOR_RUN"],"description":"The source that created the parse run:\n* `\"API\"` - Created via API\n* `\"STUDIO\"` - Created from Studio\n* `\"WORKFLOW_RUN\"` - Created from a workflow run\n* `\"ADMIN\"` - Created by admin\n* `\"BATCH_PARSER_RUN\"` - Created from a batch parse run (via `POST /parse_runs/batch`)\n* `\"EDIT_RUN\"` - Created from an edit run\n* `\"DOCUMENT_PROCESSOR_RUN\"` - Created from a document processor run\n","title":"ParseRunSource"},"RunSourceId":{"type":"string","description":"The source ID corresponds to the entity that created the run.\n\nExample: `\"workflow_run_123\"`\n","title":"RunSourceId"},"ParseRunsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"ParseRunsGetResponsesContentApplicationJsonSchemaObject"},"ParseRunSummaryObject":{"type":"string","enum":["parse_run"],"description":"The type of object. Will always be `\"parse_run\"`.","title":"ParseRunSummaryObject"},"ParseRunSummaryStatus":{"type":"string","enum":["PENDING","PROCESSING","PROCESSED","FAILED"],"description":"The status of the parse run:\n* `\"PENDING\"` - The run has been created and is waiting to be processed. Only applies to runs created via `POST /parse_runs/batch`.\n* `\"PROCESSING\"` - The file is still being processed\n* `\"PROCESSED\"` - The file was successfully processed\n* `\"FAILED\"` - The processing failed (see `failureReason` for details)\n","title":"ParseRunSummaryStatus"},"ParseRunSummaryMetrics":{"type":"object","properties":{"processingTimeMs":{"type":"number","format":"double","description":"The time taken to process the document in milliseconds."},"pageCount":{"type":"number","format":"double","description":"The number of pages from the document that were parsed. For PDF and image files, this is the actual page count. For spreadsheet files (Excel, CSV), this is an estimated page count based on content volume (~1000 tokens per page)."}},"required":["processingTimeMs","pageCount"],"description":"Metrics about the parsing process.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n","title":"ParseRunSummaryMetrics"},"RunUsageSummary":{"type":"object","properties":{"credits":{"type":"number","format":"double","description":"The credits consumed by this run. For most run types this is the line item for the run's own work; for `workflow_run` this is the aggregate across all child runs.\n"},"totalCredits":{"type":"number","format":"double","description":"The total credits accounted for under this run, including any other runs it was responsible for creating. For example, an extract run on a fresh upload triggers a parse run, so `totalCredits` includes both line items. For runs that didn't trigger any other work — like `parse_run`, `edit_run`, and `workflow_run` — `totalCredits` equals `credits`.\n\n**Availability:** Present on runs persisted on or after May 14, 2026. Runs persisted before that date will omit this field.\n"}},"required":["credits"],"description":"Usage credits consumed by a run. Omits `breakdown` - fetch the full resource by id when you need the breakdown.\n\n**Availability:** This field will not be returned for:\n* Runs created before October 7, 2025\n* Customers on legacy billing systems\n\nFor more details on how credits work, see our [Credits Guide](https://docs.extend.ai/2026-02-09/general/how-credits-work).\n","title":"RunUsageSummary"},"ParseRunSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ParseRunSummaryObject","description":"The type of object. Will always be `\"parse_run\"`."},"id":{"type":"string","description":"A unique identifier for the parse run.\n\nExample: `\"pr_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"batchId":{"type":["string","null"],"description":"The ID of the batch this run belongs to, if created via `POST /parse_runs/batch`.\n\n**Availability:** Present when the run was submitted as part of a batch.\n\nExample: `\"bpar_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"file":{"oneOf":[{"$ref":"#/components/schemas/FileSummary"},{"type":"null"}],"description":"The file that was parsed. This file can be used as a parameter for other Extend endpoints, such as `POST /workflow_runs`. May be `null` for batch parse runs where file ingestion failed."},"status":{"$ref":"#/components/schemas/ParseRunSummaryStatus","description":"The status of the parse run:\n* `\"PENDING\"` - The run has been created and is waiting to be processed. Only applies to runs created via `POST /parse_runs/batch`.\n* `\"PROCESSING\"` - The file is still being processed\n* `\"PROCESSED\"` - The file was successfully processed\n* `\"FAILED\"` - The processing failed (see `failureReason` for details)\n"},"failureReason":{"type":["string","null"],"description":"The reason for failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n\nPossible values include:\n* `UNABLE_TO_DOWNLOAD_FILE` - The file could not be downloaded from the provided URL\n* `FILE_TYPE_NOT_SUPPORTED` - The file type is not supported for parsing\n* `FILE_SIZE_TOO_LARGE` - The file exceeds the maximum allowed size\n* `CORRUPT_FILE` - The file appears to be corrupted or malformed\n* `OCR_ERROR` - An error occurred during optical character recognition\n* `PASSWORD_PROTECTED_FILE` - The file is password protected and cannot be processed\n* `FAILED_TO_CONVERT_TO_PDF` - The file could not be converted to PDF for processing\n* `FAILED_TO_CONVERT_TO_JPEG` - The file could not be converted to JPEG for processing\n* `FAILED_TO_GENERATE_TARGET_FORMAT` - The output could not be generated in the requested format\n* `CHUNKING_ERROR` - An error occurred while chunking the document\n* `INTERNAL_ERROR` - An unexpected internal error occurred\n* `INVALID_CONFIG_OPTIONS` - The provided configuration options are invalid\n* `OUT_OF_CREDITS` - Insufficient credits to process the file\n\n**Note:** Additional failure reasons may be added in the future. Your integration should handle unknown values gracefully.\n"},"failureMessage":{"type":["string","null"],"description":"A human-readable description of the failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/RunMetadata"},{"type":"null"}],"description":"Any metadata that was provided when creating the parse run.\n\n**Availability:** Present when metadata was provided during creation.\n"},"metrics":{"oneOf":[{"$ref":"#/components/schemas/ParseRunSummaryMetrics"},{"type":"null"}],"description":"Metrics about the parsing process.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n"},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsageSummary"},{"type":"null"}],"description":"Usage credits consumed by this parse run. Omits `breakdown` — fetch the full parse run by id to see the per-line items.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`, the run was created after October 7, 2025, and the customer is on the current billing system.\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","batchId","file","status","failureReason","failureMessage","metadata","metrics","usage","createdAt","updatedAt"],"description":"Summary representation of a parse run.\n","title":"ParseRunSummary"},"parseRuns_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ParseRunsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ParseRunSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"parseRuns_list_Response_200"},"ProcessorVersionString":{"type":"string","default":"latest","description":"An optional version to use. When not supplied, the most recent published version will be used. Special values include:\n- `\"latest\"` for the most recent published version. If there are no published versions, the draft version will be used.\n- `\"draft\"` for the draft version.\n- Specific version numbers corresponding to versions your team has published, e.g. `\"1.0\"`, `\"2.2\"`, etc.\n","title":"ProcessorVersionString"},"ExtractBaseProcessor":{"type":"string","enum":["extraction_performance","extraction_light"],"default":"extraction_performance","description":"The base processor to use. For extractors, this can be either `\"extraction_performance\"` or `\"extraction_light\"`. Defaults to `\"extraction_performance\"` if not provided. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/model-versioning/extraction/extraction-performance) for more details.\n","title":"ExtractBaseProcessor"},"JsonObject":{"type":"object","additionalProperties":{"description":"Any type"},"description":"A flexible object that can hold any arbitrary JSON key-value structure.","title":"JsonObject"},"ExtractAdvancedOptionsCitationMode":{"type":"string","enum":["line","word","block"],"default":"line","description":"Controls the granularity of citations returned alongside extracted values. Requires `citationsEnabled=true` and a base processor version that supports bounding box citations.\n- `line`: Use OCR lines for citations. This can return one or more relevant OCR lines for each citation. This is the default mode.\n- `word`: Narrow each matched citation down to the relevant OCR word span when possible. Note: this might still return line citations in cases where the citation model is unable to reliably narrow down to a word-level citation. Typically, this only makes sense when you are doing array extraction and want precise word citations from a given cell in a table to match an array property, e.g. `line_items.total`.\n- `block`: Use parser blocks (e.g. full paragraphs, key-val regions, tables, lists, etc.) and return block-level polygons for each citation. Will have highest recall in terms of overlap with the extracted value source, but least granularity.\n","title":"ExtractAdvancedOptionsCitationMode"},"ExtractAdvancedOptionsArrayCitationStrategy":{"type":"string","enum":["item","property"],"description":"Granularity for array citations. This requires citationsEnabled=true and a base processor version that supports property-level array citations (extraction_performance ≥ 4.4.0).","title":"ExtractAdvancedOptionsArrayCitationStrategy"},"ArrayStrategyType":{"type":"string","enum":["large_array_heuristics","large_array_max_context","large_array_overlap_context"],"description":"The strategy type for handling large array use cases. For most use cases this should be left null, or should be set to `large_array_heuristics`. If you're unsure of what your use case needs, reach out to the Extend team for help.\n- `large_array_heuristics`: Optimized for documents with very large arrays, but where latency matters. \n\n  This strategy uses specialized heuristics around chunking, tables, and merging to handle large arrays efficiently over large documents.\n\n- `large_array_max_context`: Optimizes for accuracy over latency in documents with very large arrays. \n\n  This strategy will do multiple passes through the entire document to ensure there is no context loss across any chunks/pages, maximizing accuracy for complex array extraction, but adding material latency.\n\n- `large_array_overlap_context`: Balances accuracy and latency in documents with very large arrays. \n\n  This strategy will always maintain surrounding/overlapping page context for every chunk/page that is extracted, eliminating array failure modes from context loss across page boundaries.\n","title":"ArrayStrategyType"},"ArrayStrategy":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/ArrayStrategyType","description":"The strategy type for handling large array use cases. For most use cases this should be left null, or should be set to `large_array_heuristics`. If you're unsure of what your use case needs, reach out to the Extend team for help.\n- `large_array_heuristics`: Optimized for documents with very large arrays, but where latency matters. \n\n  This strategy uses specialized heuristics around chunking, tables, and merging to handle large arrays efficiently over large documents.\n\n- `large_array_max_context`: Optimizes for accuracy over latency in documents with very large arrays. \n\n  This strategy will do multiple passes through the entire document to ensure there is no context loss across any chunks/pages, maximizing accuracy for complex array extraction, but adding material latency.\n\n- `large_array_overlap_context`: Balances accuracy and latency in documents with very large arrays. \n\n  This strategy will always maintain surrounding/overlapping page context for every chunk/page that is extracted, eliminating array failure modes from context loss across page boundaries.\n"}},"required":["type"],"title":"ArrayStrategy"},"ExtractChunkingOptionsChunkingStrategy":{"type":"string","enum":["standard","semantic","contextual"],"description":"The strategy to use for chunking the document.","title":"ExtractChunkingOptionsChunkingStrategy"},"ExtractChunkingOptionsChunkSelectionStrategy":{"type":"string","enum":["intelligent","confidence","take_first","take_last"],"description":"The strategy to use for selecting chunks.","title":"ExtractChunkingOptionsChunkSelectionStrategy"},"ExtractChunkingOptions":{"type":"object","properties":{"chunkingStrategy":{"$ref":"#/components/schemas/ExtractChunkingOptionsChunkingStrategy","description":"The strategy to use for chunking the document."},"pageChunkSize":{"type":"integer","description":"The size of page chunks."},"chunkSelectionStrategy":{"$ref":"#/components/schemas/ExtractChunkingOptionsChunkSelectionStrategy","description":"The strategy to use for selecting chunks."},"customSemanticChunkingRules":{"type":"string","description":"Custom rules for semantic chunking."}},"title":"ExtractChunkingOptions"},"ExcelSheetRange":{"type":"object","properties":{"start":{"type":"integer","description":"The starting sheet index (0-based)."},"end":{"type":"integer","description":"The ending sheet index (0-based). Must be greater than or equal to start."}},"required":["start","end"],"title":"ExcelSheetRange"},"ExtractAdvancedOptionsExcelSheetSelectionStrategy":{"type":"string","enum":["intelligent","all","first","last"],"description":"Strategy for selecting sheets from Excel documents.","title":"ExtractAdvancedOptionsExcelSheetSelectionStrategy"},"ExtractAdvancedOptionsReviewAgent":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether to enable the review agent."}},"description":"Configuration for the review agent that analyzes extraction results.\nWhen enabled, each field in the output metadata will include a `reviewAgentScore` (1-5)\nand may include additional `insights` of type `issue` or `review_summary` to help identify\nfields that may need manual review.\n\nTo learn more, view the [Review Agent Documentation](https://docs.extend.ai/2026-02-09/extraction/review-agent)\n","title":"ExtractAdvancedOptionsReviewAgent"},"ExtractAdvancedOptions":{"type":"object","properties":{"modelReasoningInsightsEnabled":{"type":"boolean","description":"Whether to enable model reasoning insights."},"advancedMultimodalEnabled":{"type":"boolean","description":"Whether to enable advanced multimodal features."},"citationsEnabled":{"type":"boolean","description":"Whether to enable citations in the output."},"citationMode":{"$ref":"#/components/schemas/ExtractAdvancedOptionsCitationMode","default":"line","description":"Controls the granularity of citations returned alongside extracted values. Requires `citationsEnabled=true` and a base processor version that supports bounding box citations.\n- `line`: Use OCR lines for citations. This can return one or more relevant OCR lines for each citation. This is the default mode.\n- `word`: Narrow each matched citation down to the relevant OCR word span when possible. Note: this might still return line citations in cases where the citation model is unable to reliably narrow down to a word-level citation. Typically, this only makes sense when you are doing array extraction and want precise word citations from a given cell in a table to match an array property, e.g. `line_items.total`.\n- `block`: Use parser blocks (e.g. full paragraphs, key-val regions, tables, lists, etc.) and return block-level polygons for each citation. Will have highest recall in terms of overlap with the extracted value source, but least granularity.\n"},"arrayCitationStrategy":{"$ref":"#/components/schemas/ExtractAdvancedOptionsArrayCitationStrategy","description":"Granularity for array citations. This requires citationsEnabled=true and a base processor version that supports property-level array citations (extraction_performance ≥ 4.4.0)."},"arrayStrategy":{"$ref":"#/components/schemas/ArrayStrategy","description":"Strategy for handling large arrays in documents."},"chunkingOptions":{"$ref":"#/components/schemas/ExtractChunkingOptions"},"excelSheetRanges":{"type":"array","items":{"$ref":"#/components/schemas/ExcelSheetRange"},"description":"Ranges of sheet indices to extract from Excel documents."},"excelSheetSelectionStrategy":{"$ref":"#/components/schemas/ExtractAdvancedOptionsExcelSheetSelectionStrategy","description":"Strategy for selecting sheets from Excel documents."},"pageRanges":{"$ref":"#/components/schemas/PageRanges"},"reviewAgent":{"$ref":"#/components/schemas/ExtractAdvancedOptionsReviewAgent","description":"Configuration for the review agent that analyzes extraction results.\nWhen enabled, each field in the output metadata will include a `reviewAgentScore` (1-5)\nand may include additional `insights` of type `issue` or `review_summary` to help identify\nfields that may need manual review.\n\nTo learn more, view the [Review Agent Documentation](https://docs.extend.ai/2026-02-09/extraction/review-agent)\n"},"currentDateEnabled":{"type":"boolean","description":"Whether to include the current date as context for the model during extraction. Defaults to `false`."}},"title":"ExtractAdvancedOptions"},"ExtractOverrideConfigJson":{"type":"object","properties":{"baseProcessor":{"$ref":"#/components/schemas/ExtractBaseProcessor","default":"extraction_performance"},"baseVersion":{"type":"string","description":"The version of the `\"extraction_performance\"` or `\"extraction_light\"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/model-versioning/extraction/extraction-performance) for more details."},"extractionRules":{"type":"string","description":"Custom rules to guide the extraction process in natural language."},"schema":{"$ref":"#/components/schemas/JsonObject","description":"JSON Schema definition of the data to extract.\n\nSee the [JSON Schema guide](https://docs.extend.ai/2026-02-09/extraction/schema) for details and examples of schema configuration.\n"},"advancedOptions":{"$ref":"#/components/schemas/ExtractAdvancedOptions","description":"Advanced configuration options."},"parseConfig":{"$ref":"#/components/schemas/ParseConfig","description":"Configuration options for the parsing process."}},"description":"Partial configuration override for an existing extractor. All fields are optional — only the fields you provide will override the extractor's saved configuration.\nFor example, you can pass only `advancedOptions` or `extractionRules` without providing a `schema`.\n","title":"ExtractOverrideConfigJson"},"ExtractPostRequestBodyContentApplicationJsonSchemaExtractor":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the extractor to use."},"version":{"$ref":"#/components/schemas/ProcessorVersionString","default":"latest"},"overrideConfig":{"$ref":"#/components/schemas/ExtractOverrideConfigJson","description":"Optional partial configuration override. Only the fields you provide will override the extractor's saved configuration. For example, you can pass only `advancedOptions` or `extractionRules` without providing a `schema`.\n"}},"required":["id"],"description":"Reference to an existing extractor. Mutually exclusive with `config` — provide one or the other, or omit both to have Extend infer a schema from the document.\n","title":"ExtractPostRequestBodyContentApplicationJsonSchemaExtractor"},"ExtractConfigJson":{"type":"object","properties":{"baseProcessor":{"$ref":"#/components/schemas/ExtractBaseProcessor","default":"extraction_performance"},"baseVersion":{"type":"string","description":"The version of the `\"extraction_performance\"` or `\"extraction_light\"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/model-versioning/extraction/extraction-performance) for more details."},"extractionRules":{"type":"string","description":"Custom rules to guide the extraction process in natural language.\n\nWhen `schema` is omitted, `extractionRules` also serves as schema generation instructions — for example, `\"Invoice with vendor name, line items, and total due\"`. Providing focused instructions produces a more targeted inferred schema.\n"},"schema":{"$ref":"#/components/schemas/JsonObject","description":"JSON Schema definition of the data to extract. **Optional** — if omitted, Extend automatically infers a schema from the document before running extraction. No extractor is required.\n\nSee the [JSON Schema guide](https://docs.extend.ai/2026-02-09/extraction/schema) for details and examples of schema configuration.\n"},"advancedOptions":{"$ref":"#/components/schemas/ExtractAdvancedOptions","description":"Advanced configuration options."},"parseConfig":{"$ref":"#/components/schemas/ParseConfig","description":"Configuration options for the parsing process."}},"title":"ExtractConfigJson"},"FileFromText":{"type":"object","properties":{"text":{"type":"string","description":"A string containing raw text data to be processed."},"name":{"type":"string","description":"The name of the created text file. If not set, the file name is generated."}},"required":["text"],"description":"Raw text data to be processed. This will be used to create a `.txt` file.","title":"FileFromText"},"ExtractPostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"},{"$ref":"#/components/schemas/FileFromText"}],"description":"The file to be extracted from. Files can be provided as a URL, Extend file ID, or raw text.","title":"ExtractPostRequestBodyContentApplicationJsonSchemaFile"},"ExtractRunObject":{"type":"string","enum":["extract_run"],"description":"The type of object. Will always be `\"extract_run\"`.","title":"ExtractRunObject"},"ProcessorRunStatus":{"type":"string","enum":["PENDING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of a processor run (extract, classify, or split):\n* `\"PENDING\"` - The run has been created and is waiting to be processed\n* `\"PROCESSING\"` - The run is in progress\n* `\"PROCESSED\"` - The run completed successfully\n* `\"FAILED\"` - The run failed\n* `\"CANCELLED\"` - The run was cancelled\n","title":"ProcessorRunStatus"},"CitationPage":{"type":"object","properties":{"number":{"type":"number","format":"double","description":"Page number where the citation was found. Starts at 1."},"width":{"type":"number","format":"double","description":"The width of the page in points."},"height":{"type":"number","format":"double","description":"The height of the page in points."}},"required":["number"],"title":"CitationPage"},"Polygon":{"type":"object","properties":{"x":{"type":"number","format":"double","description":"X coordinate of the point"},"y":{"type":"number","format":"double","description":"Y coordinate of the point"}},"required":["x","y"],"title":"Polygon"},"Citation":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/CitationPage"},"referenceText":{"type":["string","null"],"description":"The text that was referenced"},"polygon":{"type":"array","items":{"$ref":"#/components/schemas/Polygon"},"description":"Array of points defining the polygon around the referenced text"}},"title":"Citation"},"InsightType":{"type":"string","enum":["reasoning"],"description":"The type of insight. Will always be `\"reasoning\"` for now.","title":"InsightType"},"Insight":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/InsightType","description":"The type of insight. Will always be `\"reasoning\"` for now."},"content":{"type":"string","description":"The content of the reasoning insight."}},"required":["type","content"],"title":"Insight"},"ExtractOutputMetadata":{"type":"object","properties":{"ocrConfidence":{"type":["number","null"],"format":"double","description":"Confidence score from OCR processing, if applicable"},"logprobsConfidence":{"type":["number","null"],"format":"double","description":"Confidence score based on model logprobs"},"reviewAgentScore":{"type":["integer","null"],"description":"A 1-5 score indicating the review agent's confidence in the extracted value.\n- 5: High confidence, no issues detected\n- 4: Good confidence, minor observations\n- 3: Moderate confidence, some uncertainty\n- 2: Low confidence, likely issues\n- 1: Very low confidence, significant problems detected\n\nThese scores will be present when the `reviewAgent.enabled` flag is set to `true` in the processor config.\nIf the review agent is enabled but a score is not returned for a field, this value will be `null`.\nTo learn more, view the [Review Agent Documentation](https://docs.extend.ai/2026-02-09/extraction/review-agent)\n"},"citations":{"type":"array","items":{"$ref":"#/components/schemas/Citation"}},"insights":{"type":"array","items":{"$ref":"#/components/schemas/Insight"}}},"required":["logprobsConfidence"],"title":"ExtractOutputMetadata"},"ExtractOutputJson":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/JsonObject","description":"The extracted values conforming to the schema defined in the processor config"},"metadata":{"$ref":"#/components/schemas/ExtractOutputMetadata"}},"required":["value","metadata"],"title":"ExtractOutputJson"},"ExtractionFieldResultType":{"type":"string","enum":["string","number","currency","boolean","date","enum","array","object","signature"],"description":"The type of the extracted field","title":"ExtractionFieldResultType"},"ExtractionFieldType":{"type":"string","enum":["string","number","currency","boolean","date","array","enum","object","signature"],"description":"The type of the field.","title":"ExtractionFieldType"},"Enum":{"type":"object","properties":{"value":{"type":"string","description":"The value of the enum option."},"description":{"type":"string","description":"Description of what this enum value represents."}},"required":["value","description"],"title":"Enum"},"ExtractionField":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the field."},"name":{"type":"string","description":"Human-readable name for the field."},"type":{"$ref":"#/components/schemas/ExtractionFieldType","description":"The type of the field."},"description":{"type":"string","description":"Detailed description of the field, including expected content and format."},"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtractionField"},"description":"Required when type is \"array\" or \"object\". Contains nested field definitions."},"enum":{"type":"array","items":{"$ref":"#/components/schemas/Enum"},"description":"Required when type is \"enum\". List of allowed values."}},"required":["id","name","type","description"],"title":"ExtractionField"},"ExtractionFieldResultReferenceBoundingBoxesItems":{"type":"object","properties":{"top":{"type":"number","format":"double","description":"The top coordinate of the bounding box"},"left":{"type":"number","format":"double","description":"The left coordinate of the bounding box"},"bottom":{"type":"number","format":"double","description":"The bottom coordinate of the bounding box"},"right":{"type":"number","format":"double","description":"The right coordinate of the bounding box"}},"required":["top","left","bottom","right"],"title":"ExtractionFieldResultReferenceBoundingBoxesItems"},"ExtractionFieldResultReference":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for this field"},"fieldName":{"type":"string","description":"The name of the extracted field"},"page":{"type":"number","format":"double","description":"The page number that this bounding box is from"},"boundingBoxes":{"type":"array","items":{"$ref":"#/components/schemas/ExtractionFieldResultReferenceBoundingBoxesItems"},"description":"The bounding boxes of the field"}},"required":["id","fieldName","page","boundingBoxes"],"title":"ExtractionFieldResultReference"},"EnumOption":{"type":"object","properties":{"value":{"type":"string","description":"The enum value (e.g. \"ANNUAL\", \"MONTHLY\", etc.)"},"description":{"type":"string","description":"The description of the enum value"}},"required":["value","description"],"title":"EnumOption"},"ExtractionFieldResult":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for this field"},"type":{"$ref":"#/components/schemas/ExtractionFieldResultType","description":"The type of the extracted field"},"value":{"description":"The extracted value, type depends on the field type."},"confidence":{"type":"number","format":"double","description":"A value between 0 and 1 indicating confidence in the extraction"},"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtractionField"},"description":"The field schema of nested fields"},"insights":{"type":"array","items":{"$ref":"#/components/schemas/Insight"},"description":"Reasoning and other insights from the model"},"references":{"type":"array","items":{"$ref":"#/components/schemas/ExtractionFieldResultReference"},"description":"References for the extracted field"},"enum":{"type":"array","items":{"$ref":"#/components/schemas/EnumOption"},"description":"The enum options for enum fields, only set when type=enum"}},"required":["id","type","value","references"],"title":"ExtractionFieldResult"},"ExtractOutputLegacy":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ExtractionFieldResult"},"description":"Legacy field-based extraction output. A mapping of field names to their extracted values.","title":"ExtractOutputLegacy"},"ExtractOutput":{"oneOf":[{"$ref":"#/components/schemas/ExtractOutputJson"},{"$ref":"#/components/schemas/ExtractOutputLegacy"}],"title":"ExtractOutput"},"ExtractOutputEdits":{"type":"object","properties":{"originalValue":{"description":"The original value before editing."},"editedValue":{"description":"The value after editing."},"notes":{"type":"string","description":"Any notes added during editing."},"page":{"type":"number","format":"double","description":"The page number where the edit was made."},"fieldType":{"type":"string","description":"The type of the edited field."}},"description":"A record of edits made to the processor output.\n","title":"ExtractOutputEdits"},"ExtractConfigLegacyBaseProcessor":{"type":"string","enum":["extraction_performance","extraction_light"],"default":"extraction_performance","description":"The base processor to use. For extractors, this can be either `\"extraction_performance\"` or `\"extraction_light\"`. Defaults to `\"extraction_performance\"` if not provided. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/model-versioning/extraction/extraction-performance) for more details.\n","title":"ExtractConfigLegacyBaseProcessor"},"ExtractConfigLegacy":{"type":"object","properties":{"baseProcessor":{"$ref":"#/components/schemas/ExtractConfigLegacyBaseProcessor","default":"extraction_performance","description":"The base processor to use. For extractors, this can be either `\"extraction_performance\"` or `\"extraction_light\"`. Defaults to `\"extraction_performance\"` if not provided. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/model-versioning/extraction/extraction-performance) for more details.\n"},"baseVersion":{"type":"string","description":"The version of the `\"extraction_performance\"` or `\"extraction_light\"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/model-versioning/extraction/extraction-performance) for more details."},"extractionRules":{"type":"string","description":"Custom rules to guide the extraction process in natural language."},"fields":{"type":"array","items":{"$ref":"#/components/schemas/ExtractionField"},"description":"Array of fields to extract from the document. This is the legacy format.\n\nWe recommend using JSON Schema (`schema` property) for new implementations.\n"},"advancedOptions":{"$ref":"#/components/schemas/ExtractAdvancedOptions","description":"Advanced configuration options."},"parseConfig":{"$ref":"#/components/schemas/ParseConfig","description":"Configuration options for the parsing process."}},"required":["fields"],"title":"ExtractConfigLegacy"},"ExtractConfig":{"oneOf":[{"$ref":"#/components/schemas/ExtractConfigJson"},{"$ref":"#/components/schemas/ExtractConfigLegacy"}],"title":"ExtractConfig"},"ExtractorSummaryObject":{"type":"string","enum":["extractor"],"description":"The type of object. Will always be `\"extractor\"`.","title":"ExtractorSummaryObject"},"ExtractorSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractorSummaryObject","description":"The type of object. Will always be `\"extractor\"`."},"id":{"type":"string","description":"The ID of the extractor.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"name":{"type":"string","description":"The name of the extractor.\n\nExample: `\"Invoice Extractor\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","name","createdAt","updatedAt"],"title":"ExtractorSummary"},"ExtractorVersionSummaryObject":{"type":"string","enum":["extractor_version"],"description":"The type of object. Will always be `\"extractor_version\"`.","title":"ExtractorVersionSummaryObject"},"ExtractorVersionSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractorVersionSummaryObject","description":"The type of object. Will always be `\"extractor_version\"`."},"id":{"type":"string","description":"The unique identifier for this version of the extractor.\n\nExample: `\"exv_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"description":{"type":["string","null"],"description":"A description of this version of the extractor.\n\nExample: `\"Updated extraction fields for new invoice format\"`\n"},"version":{"type":"string","description":"The version number or identifier for this specific version of the extractor. The draft version will have version=\"draft\".\n\nExamples: `\"1.0\"`, `\"2.1\"`, `\"draft\"`\n"},"extractorId":{"type":"string","description":"The ID of the extractor that this version belongs to.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"}},"required":["object","id","description","version","extractorId","createdAt"],"title":"ExtractorVersionSummary"},"ExtractRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractRunObject","description":"The type of object. Will always be `\"extract_run\"`."},"id":{"type":"string","description":"The unique identifier for this extract run.\n\nExample: `\"exr_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"status":{"$ref":"#/components/schemas/ProcessorRunStatus"},"output":{"oneOf":[{"$ref":"#/components/schemas/ExtractOutput"},{"type":"null"}],"description":"The final output, either reviewed or initial. This is a union of two possible shapes:\n\n- **[JSON Schema output](https://docs.extend.ai/2026-02-09/extraction/response-format):** The current output format, returned for runs created with a JSON Schema config.\n- **[Legacy output](https://docs.extend.ai/2025-04-21/product/legacy/output-type-legacy):** A legacy output format from a previous API version. This shape is only returned for runs that were originally created with a legacy config.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n"},"initialOutput":{"oneOf":[{"$ref":"#/components/schemas/ExtractOutput"},{"type":"null"}],"description":"The initial output from the extract run, before any review edits.\n\n**Availability:** Present when `reviewed` is `true`.\n"},"reviewedOutput":{"oneOf":[{"$ref":"#/components/schemas/ExtractOutput"},{"type":"null"}],"description":"The output after human review.\n\n**Availability:** Present when `reviewed` is `true`.\n"},"failureReason":{"type":["string","null"],"description":"The reason for failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n\nPossible values include:\n* `ABORTED` - The run was aborted by the user\n* `INTERNAL_ERROR` - An unexpected internal error occurred\n* `FAILED_TO_PROCESS_FILE` - Failed to process the file (e.g., OCR failure, file access issues)\n* `INVALID_PROCESSOR` - The processor configuration is invalid\n* `INVALID_CONFIGURATION` - The provided configuration is incompatible with the selected model\n* `PARSING_ERROR` - Failed to parse the extraction output\n* `PRE_PROCESSING_FAILURE` - An error occurred during preprocessing (e.g., chunking)\n* `POST_PROCESSING_FAILURE` - An error occurred during postprocessing\n* `OUT_OF_CREDITS` - Insufficient credits to run the extraction\n* `SCHEMA_GENERATION_FAILED` - Automatic schema inference failed (only applies when `schema` is omitted). The file could not be parsed or a schema could not be generated from it.\n\n**Note:** Additional failure reasons may be added in the future. Your integration should handle unknown values gracefully.\n"},"failureMessage":{"type":["string","null"],"description":"A detailed message about the failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/RunMetadata"},{"type":"null"}],"description":"Any metadata that was provided when creating the extract run.\n\n**Availability:** Present when metadata was provided during creation.\n"},"reviewed":{"type":"boolean","description":"Indicates whether the run has been reviewed by a human."},"edited":{"type":"boolean","description":"Indicates whether the run results have been edited during review."},"edits":{"type":["object","null"],"additionalProperties":{"$ref":"#/components/schemas/ExtractOutputEdits"},"description":"Details of edits made during review.\n\n**Availability:** Present when `edited` is `true`.\n"},"config":{"$ref":"#/components/schemas/ExtractConfig","description":"The configuration used for this extract run. This is a union of two possible shapes:\n\n- **[JSON Schema config](https://docs.extend.ai/2026-02-09/extraction/schema):** The current config format. All runs created through this API version use this shape.\n- **[Legacy config](https://docs.extend.ai/2025-04-21/product/legacy/legacy-schema):** A fields-array config from a previous API version. This shape is only returned when retrieving runs that were originally created with the legacy format. This API version does not support creating runs with legacy configs.\n"},"extractor":{"oneOf":[{"$ref":"#/components/schemas/ExtractorSummary"},{"type":"null"}],"description":"The extractor that was used for this run.\n\n**Availability:** Present when an extractor reference was provided. Not present when using inline `config`.\n"},"extractorVersion":{"oneOf":[{"$ref":"#/components/schemas/ExtractorVersionSummary"},{"type":"null"}],"description":"The version of the extractor that was used for this run.\n\n**Availability:** Present when an extractor reference was provided. Not present when using inline `config`.\n"},"file":{"oneOf":[{"$ref":"#/components/schemas/FileSummary"},{"type":"null"}],"description":"The file that was processed. `null` when the file could not be accessed or processed (for example a run that failed during file ingestion, or a multi-file batch run).\n"},"parseRunId":{"type":["string","null"],"description":"The ID of the parse run that was used for this extract run.\n\n**Availability:** Present when a parse run was created.\n"},"dashboardUrl":{"type":"string","description":"The URL to view the extract run in the Extend dashboard."},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsage"},{"type":"null"}],"description":"Usage credits consumed by this extract run.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","status","output","initialOutput","reviewedOutput","failureReason","failureMessage","metadata","reviewed","edited","edits","config","extractor","extractorVersion","file","parseRunId","dashboardUrl","usage","createdAt","updatedAt"],"description":"Extract run object.","title":"ExtractRun"},"ExtractRunsPostRequestBodyContentApplicationJsonSchemaExtractor":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the extractor to use."},"version":{"$ref":"#/components/schemas/ProcessorVersionString","default":"latest"},"overrideConfig":{"$ref":"#/components/schemas/ExtractOverrideConfigJson","description":"Optional partial configuration override. Only the fields you provide will override the extractor's saved configuration. For example, you can pass only `advancedOptions` or `extractionRules` without providing a `schema`.\n"}},"required":["id"],"description":"Reference to an existing extractor. Mutually exclusive with `config` — provide one or the other, or omit both to have Extend infer a schema from the document.\n","title":"ExtractRunsPostRequestBodyContentApplicationJsonSchemaExtractor"},"ExtractRunsPostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"},{"$ref":"#/components/schemas/FileFromText"}],"description":"The file to be extracted from. Files can be provided as a URL, Extend file ID, or raw text.","title":"ExtractRunsPostRequestBodyContentApplicationJsonSchemaFile"},"RunPriority":{"type":"integer","default":50,"description":"An optional value used to determine the relative order of runs when rate limiting is in effect. Lower values will be prioritized before higher values.","title":"RunPriority"},"extractRuns_delete_Response_200":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the deleted extract run"}},"required":["id"],"title":"extractRuns_delete_Response_200"},"RunSource":{"type":"string","enum":["ADMIN","BATCH_PROCESSOR_RUN","PLAYGROUND","WORKFLOW_CONFIGURATION","WORKFLOW_RUN","STUDIO","API"],"description":"The source that created the run:\n* `\"ADMIN\"` - Created by admin\n* `\"BATCH_PROCESSOR_RUN\"` - Created from a batch run\n* `\"PLAYGROUND\"` - Created from playground\n* `\"WORKFLOW_CONFIGURATION\"` - Created from workflow configuration\n* `\"WORKFLOW_RUN\"` - Created from a workflow run\n* `\"STUDIO\"` - Created from Studio\n* `\"API\"` - Created via API\n","title":"RunSource"},"SortBy":{"type":"string","enum":["updatedAt","createdAt"],"default":"updatedAt","description":"Sort by the given field.","title":"SortBy"},"ExtractRunsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"ExtractRunsGetResponsesContentApplicationJsonSchemaObject"},"ExtractRunSummaryObject":{"type":"string","enum":["extract_run"],"description":"The type of object. Will always be `\"extract_run\"`.","title":"ExtractRunSummaryObject"},"ExtractRunSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractRunSummaryObject","description":"The type of object. Will always be `\"extract_run\"`."},"id":{"type":"string","description":"The unique identifier for this extract run."},"extractor":{"oneOf":[{"$ref":"#/components/schemas/ExtractorSummary"},{"type":"null"}],"description":"The extractor that was used for this run.\n\n**Availability:** Present when an extractor reference was provided. Not present when using inline `config`.\n"},"extractorVersion":{"oneOf":[{"$ref":"#/components/schemas/ExtractorVersionSummary"},{"type":"null"}],"description":"The version of the extractor that was used for this run.\n\n**Availability:** Present when an extractor reference was provided. Not present when using inline `config`.\n"},"status":{"$ref":"#/components/schemas/ProcessorRunStatus"},"failureReason":{"type":["string","null"],"description":"The reason for failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n\nPossible values include:\n* `ABORTED` - The run was aborted by the user\n* `INTERNAL_ERROR` - An unexpected internal error occurred\n* `FAILED_TO_PROCESS_FILE` - Failed to process the file (e.g., OCR failure, file access issues)\n* `INVALID_PROCESSOR` - The processor configuration is invalid\n* `INVALID_CONFIGURATION` - The provided configuration is incompatible with the selected model\n* `PARSING_ERROR` - Failed to parse the extraction output\n* `PRE_PROCESSING_FAILURE` - An error occurred during preprocessing (e.g., chunking)\n* `POST_PROCESSING_FAILURE` - An error occurred during postprocessing\n* `OUT_OF_CREDITS` - Insufficient credits to run the extraction\n* `SCHEMA_GENERATION_FAILED` - Automatic schema inference failed (only applies when `schema` is omitted). The file could not be parsed or a schema could not be generated from it.\n\n**Note:** Additional failure reasons may be added in the future. Your integration should handle unknown values gracefully.\n"},"failureMessage":{"type":["string","null"],"description":"A detailed message about the failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/RunMetadata"},{"type":"null"}],"description":"Any metadata that was provided when creating the extract run.\n\n**Availability:** Present when metadata was provided during creation.\n"},"reviewed":{"type":"boolean","description":"Indicates whether the run has been reviewed by a human."},"edited":{"type":"boolean","description":"Indicates whether the run results have been edited during review."},"file":{"oneOf":[{"$ref":"#/components/schemas/FileSummary"},{"type":"null"}],"description":"The file that was processed. `null` when the file could not be accessed or processed (for example a run that failed during file ingestion, or a multi-file batch run).\n"},"parseRunId":{"type":["string","null"],"description":"The ID of the parse run that was used for this extract run.\n\n**Availability:** Present when a parse run was created.\n"},"dashboardUrl":{"type":"string","description":"The URL to view the extract run in the Extend dashboard."},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsageSummary"},{"type":"null"}],"description":"Usage credits consumed by this extract run. Omits `breakdown` — fetch the full extract run by id to see the per-line items.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","extractor","extractorVersion","status","failureReason","failureMessage","metadata","reviewed","edited","file","parseRunId","dashboardUrl","usage","createdAt","updatedAt"],"description":"Summary representation of an extract run.\n","title":"ExtractRunSummary"},"extractRuns_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractRunsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ExtractRunSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"extractRuns_list_Response_200"},"ExtractorsPostRequestBodyContentApplicationJsonSchemaGenerateFilesItems":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"}],"title":"ExtractorsPostRequestBodyContentApplicationJsonSchemaGenerateFilesItems"},"ExtractorsPostRequestBodyContentApplicationJsonSchemaGenerate":{"type":"object","properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/ExtractorsPostRequestBodyContentApplicationJsonSchemaGenerateFilesItems"},"description":"One to five sample documents used to generate the schema. Each item is either a file URL (downloaded inline) or an existing Extend file ID.\n"},"instructions":{"type":"string","description":"Optional, but recommended. Describe the type of document, kinds of fields you want to extract, key requirements, and rules to follow. More context is better.\n"}},"required":["files"],"description":"If provided, an extraction schema is automatically generated from the supplied sample documents and applied to the extractor's draft. The response includes the extractor with the generated schema already in place.\n\nCannot be provided together with `config` or `cloneExtractorId`.\n","title":"ExtractorsPostRequestBodyContentApplicationJsonSchemaGenerate"},"ExtractorObject":{"type":"string","enum":["extractor"],"description":"The type of object. Will always be `\"extractor\"`.","title":"ExtractorObject"},"ExtractorVersionObject":{"type":"string","enum":["extractor_version"],"description":"The type of object. Will always be `\"extractor_version\"`.","title":"ExtractorVersionObject"},"ExtractorVersion":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractorVersionObject","description":"The type of object. Will always be `\"extractor_version\"`."},"id":{"type":"string","description":"The unique identifier for this version of the extractor.\n\nExample: `\"exv_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"description":{"type":["string","null"],"description":"A description of this version of the extractor.\n\nExample: `\"Updated extraction fields for new invoice format\"`\n"},"version":{"type":"string","description":"The version number or identifier for this specific version of the extractor. The draft version will have version=\"draft\".\n\nExamples: `\"1.0\"`, `\"2.1\"`, `\"draft\"`\n"},"config":{"$ref":"#/components/schemas/ExtractConfig","description":"The configuration settings for this version of the extractor. This is a union of two possible shapes:\n\n- **[JSON Schema config](https://docs.extend.ai/2026-02-09/extraction/schema):** The current config format. All extractors created through this API version use this shape.\n- **[Legacy config](https://docs.extend.ai/2025-04-21/product/legacy/legacy-schema):** A fields-array config from a previous API version. This shape is only returned for extractors that were originally configured with the legacy format. This API version does not support creating extractors with legacy configs.\n"},"extractorId":{"type":"string","description":"The ID of the extractor that this version belongs to.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"}},"required":["object","id","description","version","config","extractorId","createdAt"],"title":"ExtractorVersion"},"Extractor":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractorObject","description":"The type of object. Will always be `\"extractor\"`."},"id":{"type":"string","description":"The ID of the extractor.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"name":{"type":"string","description":"The name of the extractor.\n\nExample: `\"Invoice Extractor\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"},"draftVersion":{"$ref":"#/components/schemas/ExtractorVersion","description":"The draft version of the extractor. This is the editable version in the Extend dashboard."}},"required":["object","id","name","createdAt","updatedAt","draftVersion"],"title":"Extractor"},"ExtractorsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"ExtractorsGetResponsesContentApplicationJsonSchemaObject"},"extractors_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractorsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ExtractorSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"extractors_list_Response_200"},"ReleaseType":{"type":"string","enum":["major","minor"],"description":"The type of release for this version. The two options are \"major\" and \"minor\", which will increment the version number accordingly.","title":"ReleaseType"},"VersionDescription":{"type":"string","description":"A description of the changes in this version. This helps track the evolution of the processor over time.","title":"VersionDescription"},"ExtractorsExtractorIdVersionsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"ExtractorsExtractorIdVersionsGetResponsesContentApplicationJsonSchemaObject"},"extractorVersions_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractorsExtractorIdVersionsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ExtractorVersionSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"extractorVersions_list_Response_200"},"ClassifyBaseProcessor":{"type":"string","enum":["classification_performance","classification_light"],"default":"classification_performance","description":"The base processor to use. For classifiers, this can be either `\"classification_performance\"` or `\"classification_light\"`. Defaults to `\"classification_performance\"` if not provided. See [Classification Changelog](https://docs.extend.ai/2026-02-09/model-versioning/classification/classification-performance) for more details.\n","title":"ClassifyBaseProcessor"},"Classification":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the classification. We recommend lowercase, underscore-separated format."},"type":{"type":"string","description":"Type identifier for the classification."},"description":{"type":"string","description":"A detailed description of the classification."}},"required":["id","type","description"],"title":"Classification"},"Classifications":{"type":"array","items":{"$ref":"#/components/schemas/Classification"},"description":"Array of possible classifications. Must provide at least one classification. At least one classification must have the type `\"other\"`. Each classification item must have a unique id.","title":"Classifications"},"ClassifyAdvancedOptionsContext":{"type":"string","enum":["default","max"],"default":"default","description":"The context to use for classification.","title":"ClassifyAdvancedOptionsContext"},"ClassifyAdvancedOptions":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/ClassifyAdvancedOptionsContext","default":"default","description":"The context to use for classification."},"advancedMultimodalEnabled":{"type":"boolean","default":true,"description":"Enable advanced multimodal processing for better handling of visual elements during classification."},"memoryEnabled":{"type":"boolean","default":false,"description":"Enable memory for enhanced processing by learning from past successful classifications."},"pageRanges":{"$ref":"#/components/schemas/PageRanges"}},"title":"ClassifyAdvancedOptions"},"ClassifyOverrideConfig":{"type":"object","properties":{"baseProcessor":{"$ref":"#/components/schemas/ClassifyBaseProcessor","default":"classification_performance"},"baseVersion":{"type":"string","description":"The version of the `\"classification_performance\"` or `\"classification_light\"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Classification Changelog](https://docs.extend.ai/2026-02-09/model-versioning/classification/classification-performance) for more details."},"classifications":{"$ref":"#/components/schemas/Classifications"},"classificationRules":{"type":"string","description":"Custom rules to guide the classification process in natural language."},"advancedOptions":{"$ref":"#/components/schemas/ClassifyAdvancedOptions","description":"Advanced configuration options."},"parseConfig":{"$ref":"#/components/schemas/ParseConfig","description":"Configuration options for the parsing process."}},"description":"Partial configuration override for an existing classifier. All fields are optional — only the fields you provide will override the classifier's saved configuration.\nFor example, you can pass only `classificationRules` without providing `classifications`.\n","title":"ClassifyOverrideConfig"},"ClassifyPostRequestBodyContentApplicationJsonSchemaClassifier":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the classifier to use."},"version":{"$ref":"#/components/schemas/ProcessorVersionString","default":"latest"},"overrideConfig":{"$ref":"#/components/schemas/ClassifyOverrideConfig","description":"Optional partial configuration override. Only the fields you provide will override the classifier's saved configuration. For example, you can pass only `classificationRules` without providing `classifications`.\n"}},"required":["id"],"description":"Reference to an existing classifier. One of `classifier` or `config` must be provided.\n","title":"ClassifyPostRequestBodyContentApplicationJsonSchemaClassifier"},"ClassifyConfig":{"type":"object","properties":{"baseProcessor":{"$ref":"#/components/schemas/ClassifyBaseProcessor","default":"classification_performance"},"baseVersion":{"type":"string","description":"The version of the `\"classification_performance\"` or `\"classification_light\"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Classification Changelog](https://docs.extend.ai/2026-02-09/model-versioning/classification/classification-performance) for more details."},"classifications":{"$ref":"#/components/schemas/Classifications"},"classificationRules":{"type":"string","description":"Custom rules to guide the classification process in natural language."},"advancedOptions":{"$ref":"#/components/schemas/ClassifyAdvancedOptions","description":"Advanced configuration options."},"parseConfig":{"$ref":"#/components/schemas/ParseConfig","description":"Configuration options for the parsing process."}},"required":["classifications"],"title":"ClassifyConfig"},"ClassifyPostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"},{"$ref":"#/components/schemas/FileFromText"}],"description":"The file to be classified. Files can be provided as a URL, an Extend file ID, or raw text.","title":"ClassifyPostRequestBodyContentApplicationJsonSchemaFile"},"ClassifyRunObject":{"type":"string","enum":["classify_run"],"description":"The type of object. Will always be `\"classify_run\"`.","title":"ClassifyRunObject"},"ClassifyOutput":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for this classification"},"type":{"type":"string","description":"The type of classification"},"confidence":{"type":"number","format":"double","description":"A value between 0 and 1 indicating the model's confidence in the classification, where 1 represents maximum confidence"},"insights":{"type":"array","items":{"$ref":"#/components/schemas/Insight"},"description":"Additional insights about the classification decision"}},"required":["id","type","confidence","insights"],"title":"ClassifyOutput"},"ClassifierSummaryObject":{"type":"string","enum":["classifier"],"description":"The type of object. Will always be `\"classifier\"`.","title":"ClassifierSummaryObject"},"ClassifierSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifierSummaryObject","description":"The type of object. Will always be `\"classifier\"`."},"id":{"type":"string","description":"The ID of the classifier.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"name":{"type":"string","description":"The name of the classifier.\n\nExample: `\"Document Type Classifier\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","name","createdAt","updatedAt"],"title":"ClassifierSummary"},"ClassifierVersionSummaryObject":{"type":"string","enum":["classifier_version"],"description":"The type of object. Will always be `\"classifier_version\"`.","title":"ClassifierVersionSummaryObject"},"ClassifierVersionSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifierVersionSummaryObject","description":"The type of object. Will always be `\"classifier_version\"`."},"id":{"type":"string","description":"The unique identifier for this version of the classifier.\n\nExample: `\"clv_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"description":{"type":["string","null"],"description":"A description of this version of the classifier.\n\nExample: `\"Added new document types for Q4 processing\"`\n"},"version":{"type":"string","description":"The version number or identifier for this specific version of the classifier. The draft version will have version=\"draft\".\n\nExamples: `\"1.0\"`, `\"2.1\"`, `\"draft\"`\n"},"classifierId":{"type":"string","description":"The ID of the classifier that this version belongs to.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"}},"required":["object","id","description","version","classifierId","createdAt"],"title":"ClassifierVersionSummary"},"ClassifyRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifyRunObject","description":"The type of object. Will always be `\"classify_run\"`."},"id":{"type":"string","description":"The unique identifier for this classify run.\n\nExample: `\"clr_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"status":{"$ref":"#/components/schemas/ProcessorRunStatus"},"output":{"oneOf":[{"$ref":"#/components/schemas/ClassifyOutput"},{"type":"null"}],"description":"The final output, either reviewed or initial.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n"},"classifier":{"oneOf":[{"$ref":"#/components/schemas/ClassifierSummary"},{"type":"null"}],"description":"The classifier that was used for this run.\n\n**Availability:** Present when a classifier reference was provided. Not present when using inline `config`.\n"},"classifierVersion":{"oneOf":[{"$ref":"#/components/schemas/ClassifierVersionSummary"},{"type":"null"}],"description":"The version of the classifier that was used for this run.\n\n**Availability:** Present when a classifier reference was provided. Not present when using inline `config`.\n"},"initialOutput":{"oneOf":[{"$ref":"#/components/schemas/ClassifyOutput"},{"type":"null"}],"description":"The initial output from the classify run, before any review edits.\n\n**Availability:** Present when `reviewed` is `true`.\n"},"reviewedOutput":{"oneOf":[{"$ref":"#/components/schemas/ClassifyOutput"},{"type":"null"}],"description":"The output after human review.\n\n**Availability:** Present when `reviewed` is `true`.\n"},"failureReason":{"type":["string","null"],"description":"The reason for failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n\nPossible values include:\n* `ABORTED` - The run was aborted by the user\n* `INTERNAL_ERROR` - An unexpected internal error occurred\n* `FAILED_TO_PROCESS_FILE` - Failed to process the file (e.g., OCR failure, file access issues)\n* `INVALID_PROCESSOR` - The processor configuration is invalid\n* `INVALID_CONFIGURATION` - The provided configuration is incompatible with the selected model\n* `PARSING_ERROR` - Failed to parse the classification output\n* `PRE_PROCESSING_FAILURE` - An error occurred during preprocessing\n* `POST_PROCESSING_FAILURE` - An error occurred during postprocessing\n* `OUT_OF_CREDITS` - Insufficient credits to run the classification\n\n**Note:** Additional failure reasons may be added in the future. Your integration should handle unknown values gracefully.\n"},"failureMessage":{"type":["string","null"],"description":"A detailed message about the failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/RunMetadata"},{"type":"null"}],"description":"Any metadata that was provided when creating the classify run.\n\n**Availability:** Present when metadata was provided during creation.\n"},"reviewed":{"type":"boolean","description":"Indicates whether the run has been reviewed by a human."},"edited":{"type":"boolean","description":"Indicates whether the run results have been edited during review."},"config":{"$ref":"#/components/schemas/ClassifyConfig","description":"The configuration used for this classify run."},"file":{"oneOf":[{"$ref":"#/components/schemas/FileSummary"},{"type":"null"}],"description":"The file that was processed. `null` when the file could not be accessed or processed (for example a run that failed during file ingestion, or a multi-file batch run).\n"},"parseRunId":{"type":["string","null"],"description":"The ID of the parse run that was used for this classify run.\n\n**Availability:** Present when a parse run was created.\n"},"dashboardUrl":{"type":"string","description":"The URL to view the classify run in the Extend dashboard."},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsage"},{"type":"null"}],"description":"Usage credits consumed by this classify run.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","status","output","classifier","classifierVersion","initialOutput","reviewedOutput","failureReason","failureMessage","metadata","reviewed","edited","config","file","parseRunId","dashboardUrl","usage","createdAt","updatedAt"],"description":"Classify run object.","title":"ClassifyRun"},"ClassifyRunsPostRequestBodyContentApplicationJsonSchemaClassifier":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the classifier to use."},"version":{"$ref":"#/components/schemas/ProcessorVersionString","default":"latest"},"overrideConfig":{"$ref":"#/components/schemas/ClassifyOverrideConfig","description":"Optional partial configuration override. Only the fields you provide will override the classifier's saved configuration. For example, you can pass only `classificationRules` without providing `classifications`.\n"}},"required":["id"],"description":"Reference to an existing classifier. One of `classifier` or `config` must be provided.\n","title":"ClassifyRunsPostRequestBodyContentApplicationJsonSchemaClassifier"},"ClassifyRunsPostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"},{"$ref":"#/components/schemas/FileFromText"}],"description":"The file to be classified. Files can be provided as a URL, an Extend file ID, or raw text.","title":"ClassifyRunsPostRequestBodyContentApplicationJsonSchemaFile"},"classifyRuns_delete_Response_200":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the deleted classify run"}},"required":["id"],"title":"classifyRuns_delete_Response_200"},"ClassifyRunsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"ClassifyRunsGetResponsesContentApplicationJsonSchemaObject"},"ClassifyRunSummaryObject":{"type":"string","enum":["classify_run"],"description":"The type of object. Will always be `\"classify_run\"`.","title":"ClassifyRunSummaryObject"},"ClassifyRunSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifyRunSummaryObject","description":"The type of object. Will always be `\"classify_run\"`."},"id":{"type":"string","description":"The unique identifier for this classify run."},"classifier":{"oneOf":[{"$ref":"#/components/schemas/ClassifierSummary"},{"type":"null"}],"description":"The classifier that was used for this run.\n\n**Availability:** Present when a classifier reference was provided. Not present when using inline `config`.\n"},"classifierVersion":{"oneOf":[{"$ref":"#/components/schemas/ClassifierVersionSummary"},{"type":"null"}],"description":"The version of the classifier that was used for this run.\n\n**Availability:** Present when a classifier reference was provided. Not present when using inline `config`.\n"},"status":{"$ref":"#/components/schemas/ProcessorRunStatus"},"failureReason":{"type":["string","null"],"description":"The reason for failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"failureMessage":{"type":["string","null"],"description":"A detailed message about the failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/RunMetadata"},{"type":"null"}],"description":"Any metadata that was provided when creating the classify run.\n\n**Availability:** Present when metadata was provided during creation.\n"},"reviewed":{"type":"boolean","description":"Indicates whether the run has been reviewed by a human."},"edited":{"type":"boolean","description":"Indicates whether the run results have been edited during review."},"file":{"oneOf":[{"$ref":"#/components/schemas/FileSummary"},{"type":"null"}],"description":"The file that was processed. `null` when the file could not be accessed or processed (for example a run that failed during file ingestion, or a multi-file batch run).\n"},"parseRunId":{"type":["string","null"],"description":"The ID of the parse run that was used for this classify run.\n\n**Availability:** Present when a parse run was created.\n"},"dashboardUrl":{"type":"string","description":"The URL to view the classify run in the Extend dashboard."},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsageSummary"},{"type":"null"}],"description":"Usage credits consumed by this classify run. Omits `breakdown` — fetch the full classify run by id to see the per-line items.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","classifier","classifierVersion","status","failureReason","failureMessage","metadata","reviewed","edited","file","parseRunId","dashboardUrl","usage","createdAt","updatedAt"],"description":"Summary representation of a classify run.\n","title":"ClassifyRunSummary"},"classifyRuns_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifyRunsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ClassifyRunSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"classifyRuns_list_Response_200"},"ClassifierObject":{"type":"string","enum":["classifier"],"description":"The type of object. Will always be `\"classifier\"`.","title":"ClassifierObject"},"ClassifierVersionObject":{"type":"string","enum":["classifier_version"],"description":"The type of object. Will always be `\"classifier_version\"`.","title":"ClassifierVersionObject"},"ClassifierVersion":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifierVersionObject","description":"The type of object. Will always be `\"classifier_version\"`."},"id":{"type":"string","description":"The unique identifier for this version of the classifier.\n\nExample: `\"clv_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"description":{"type":["string","null"],"description":"A description of this version of the classifier.\n\nExample: `\"Added new document types for Q4 processing\"`\n"},"version":{"type":"string","description":"The version number or identifier for this specific version of the classifier. The draft version will have version=\"draft\".\n\nExamples: `\"1.0\"`, `\"2.1\"`, `\"draft\"`\n"},"config":{"$ref":"#/components/schemas/ClassifyConfig","description":"The configuration settings for this version of the classifier.\n"},"classifierId":{"type":"string","description":"The ID of the classifier that this version belongs to.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"}},"required":["object","id","description","version","config","classifierId","createdAt"],"title":"ClassifierVersion"},"Classifier":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifierObject","description":"The type of object. Will always be `\"classifier\"`."},"id":{"type":"string","description":"The ID of the classifier.\n\nExample: `\"cl_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"name":{"type":"string","description":"The name of the classifier.\n\nExample: `\"Document Type Classifier\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"},"draftVersion":{"$ref":"#/components/schemas/ClassifierVersion","description":"The draft version of the classifier. This is the editable version in the Extend dashboard."}},"required":["object","id","name","createdAt","updatedAt","draftVersion"],"title":"Classifier"},"ClassifiersGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"ClassifiersGetResponsesContentApplicationJsonSchemaObject"},"classifiers_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifiersGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ClassifierSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"classifiers_list_Response_200"},"ClassifiersClassifierIdVersionsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"ClassifiersClassifierIdVersionsGetResponsesContentApplicationJsonSchemaObject"},"classifierVersions_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifiersClassifierIdVersionsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ClassifierVersionSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"classifierVersions_list_Response_200"},"SplitBaseProcessor":{"type":"string","enum":["splitting_performance","splitting_light"],"default":"splitting_performance","description":"The base processor to use. For splitters, this can be either `\"splitting_performance\"` or `\"splitting_light\"`. Defaults to `\"splitting_performance\"` if not provided. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/model-versioning/splitting/splitting-performance) for more details.\n","title":"SplitBaseProcessor"},"SplitClassification":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the classification. We recommend lowercase, underscore-separated format."},"type":{"type":"string","description":"Type identifier for the classification."},"description":{"type":"string","description":"A detailed description of the classification."},"identifierKey":{"type":"string","description":"A natural-language rule describing how to extract a unique identifier for subdocuments of this type. For example, `\"Extract the invoice number from the document header\"`.\n\nWhen provided, the splitter will extract the specified identifier for each subdocument of this type and include it in the output as the `identifier` field. This enables merging of related subdocuments that share the same extracted identifier.\n\n**Availability:** Supported on `splitting_light` >= 1.3.0 and `splitting_performance` >= 1.5.0. If provided on older versions, this field is accepted but ignored.\n"}},"required":["id","type","description"],"description":"A classification for document splitting. Extends the base Classification with an optional `identifierKey` field for per-type identifier extraction rules.","title":"SplitClassification"},"SplitClassifications":{"type":"array","items":{"$ref":"#/components/schemas/SplitClassification"},"description":"Array of split classifications that define the possible types of document sections. Must provide at least one classification. At least one classification must have the type `\"other\"`. Each classification item must have a unique id.","title":"SplitClassifications"},"SplitAdvancedOptionsSplitMethod":{"type":"string","enum":["high_precision","basic_precision"],"default":"high_precision","description":"The method to use for splitting documents. `high_precision` is more accurate but slower, while `basic_precision` is faster but less precise.\n\n**Deprecated:** For `splitting_light` >= 1.3.0 and `splitting_performance` >= 1.5.0, this field has no impact and is ignored if provided. It is still accepted for compatibility with older integrations.\n","title":"SplitAdvancedOptionsSplitMethod"},"SplitAdvancedOptions":{"type":"object","properties":{"splitIdentifierRules":{"type":"string","description":"Custom rules for identifying split points.\n\n**Deprecated:** For `splitting_light` >= 1.3.0 and `splitting_performance` >= 1.5.0, use the `identifierKey` field on each classification in `splitClassifications` instead. This provides per-type identifier extraction rules rather than a single global rule. On those versions, this field is accepted but ignored if provided.\n"},"splitMethod":{"$ref":"#/components/schemas/SplitAdvancedOptionsSplitMethod","default":"high_precision","description":"The method to use for splitting documents. `high_precision` is more accurate but slower, while `basic_precision` is faster but less precise.\n\n**Deprecated:** For `splitting_light` >= 1.3.0 and `splitting_performance` >= 1.5.0, this field has no impact and is ignored if provided. It is still accepted for compatibility with older integrations.\n"},"splitExcelDocumentsBySheetEnabled":{"type":"boolean","default":false,"description":"For Excel documents, split by worksheet."},"pageRanges":{"$ref":"#/components/schemas/PageRanges"},"pageOverlapEnabled":{"type":"boolean","default":false,"description":"When enabled, the splitter will allow for page overlap when splitting a document such that a page can occur in multiple adjacent splits when context from the previous split is on the page and context from the next split is on the page.\n**Availability:** Supported on `splitting_light` >= 1.1.0 and `splitting_performance` >= 1.2.0. If provided on older versions, this field is accepted but ignored.\n"}},"title":"SplitAdvancedOptions"},"SplitOverrideConfig":{"type":"object","properties":{"baseProcessor":{"$ref":"#/components/schemas/SplitBaseProcessor","default":"splitting_performance"},"baseVersion":{"type":"string","description":"The version of the `\"splitting_performance\"` or `\"splitting_light\"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/model-versioning/splitting/splitting-performance) for more details."},"splitClassifications":{"$ref":"#/components/schemas/SplitClassifications"},"splitRules":{"type":"string","description":"Custom rules to guide the document splitting process in natural language."},"advancedOptions":{"$ref":"#/components/schemas/SplitAdvancedOptions","description":"Advanced configuration options."},"parseConfig":{"$ref":"#/components/schemas/ParseConfig","description":"Configuration options for the parsing process."}},"description":"Partial configuration override for an existing splitter. All fields are optional — only the fields you provide will override the splitter's saved configuration.\nFor example, you can pass only `splitRules` without providing `splitClassifications`.\n","title":"SplitOverrideConfig"},"SplitPostRequestBodyContentApplicationJsonSchemaSplitter":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the splitter to use."},"version":{"$ref":"#/components/schemas/ProcessorVersionString","default":"latest"},"overrideConfig":{"$ref":"#/components/schemas/SplitOverrideConfig","description":"Optional partial configuration override. Only the fields you provide will override the splitter's saved configuration. For example, you can pass only `splitRules` without providing `splitClassifications`.\n"}},"required":["id"],"description":"Reference to an existing splitter. One of `splitter` or `config` must be provided.\n","title":"SplitPostRequestBodyContentApplicationJsonSchemaSplitter"},"SplitConfig":{"type":"object","properties":{"baseProcessor":{"$ref":"#/components/schemas/SplitBaseProcessor","default":"splitting_performance"},"baseVersion":{"type":"string","description":"The version of the `\"splitting_performance\"` or `\"splitting_light\"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/model-versioning/splitting/splitting-performance) for more details."},"splitClassifications":{"$ref":"#/components/schemas/SplitClassifications"},"splitRules":{"type":"string","description":"Custom rules to guide the document splitting process in natural language."},"advancedOptions":{"$ref":"#/components/schemas/SplitAdvancedOptions","description":"Advanced configuration options."},"parseConfig":{"$ref":"#/components/schemas/ParseConfig","description":"Configuration options for the parsing process."}},"required":["splitClassifications"],"title":"SplitConfig"},"SplitPostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"}],"description":"The file to be split. Files can be provided as a URL or an Extend file ID.","title":"SplitPostRequestBodyContentApplicationJsonSchemaFile"},"SplitRunObject":{"type":"string","enum":["split_run"],"description":"The type of object. Will always be `\"split_run\"`.","title":"SplitRunObject"},"SplitOutputSplitsItems":{"type":"object","properties":{"type":{"type":"string","description":"The type of the split document (set in the processor config), corresponds to the classificationId"},"observation":{"type":"string","description":"Explanation of the results"},"identifier":{"type":"string","description":"Identifier for the split document (e.g. invoice number)"},"startPage":{"type":"integer","description":"The start page of the split document"},"endPage":{"type":"integer","description":"The end page of the split document"},"name":{"type":"string","description":"Optional name for the split"},"classificationId":{"type":"string","description":"ID of the classification type (set in the processor config)"},"id":{"type":"string","description":"Unique ID for this split"},"fileId":{"type":"string","description":"File ID associated with this split"}},"required":["type","observation","identifier","startPage","endPage","classificationId","id","fileId"],"title":"SplitOutputSplitsItems"},"SplitOutput":{"type":"object","properties":{"splits":{"type":"array","items":{"$ref":"#/components/schemas/SplitOutputSplitsItems"}},"isExternal":{"type":"boolean"}},"required":["splits"],"title":"SplitOutput"},"SplitterSummaryObject":{"type":"string","enum":["splitter"],"description":"The type of object. Will always be `\"splitter\"`.","title":"SplitterSummaryObject"},"SplitterSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplitterSummaryObject","description":"The type of object. Will always be `\"splitter\"`."},"id":{"type":"string","description":"The ID of the splitter.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"name":{"type":"string","description":"The name of the splitter.\n\nExample: `\"Invoice Packet Splitter\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","name","createdAt","updatedAt"],"title":"SplitterSummary"},"SplitterVersionSummaryObject":{"type":"string","enum":["splitter_version"],"description":"The type of object. Will always be `\"splitter_version\"`.","title":"SplitterVersionSummaryObject"},"SplitterVersionSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplitterVersionSummaryObject","description":"The type of object. Will always be `\"splitter_version\"`."},"id":{"type":"string","description":"The unique identifier for this version of the splitter.\n\nExample: `\"splv_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"description":{"type":["string","null"],"description":"A description of this version of the splitter.\n\nExample: `\"Updated split rules for multi-invoice packets\"`\n"},"version":{"type":"string","description":"The version number or identifier for this specific version of the splitter. The draft version will have version=\"draft\".\n\nExamples: `\"1.0\"`, `\"2.1\"`, `\"draft\"`\n"},"splitterId":{"type":"string","description":"The ID of the splitter that this version belongs to.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"}},"required":["object","id","description","version","splitterId","createdAt"],"title":"SplitterVersionSummary"},"SplitRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplitRunObject","description":"The type of object. Will always be `\"split_run\"`."},"id":{"type":"string","description":"The unique identifier for this split run.\n\nExample: `\"splr_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"status":{"$ref":"#/components/schemas/ProcessorRunStatus"},"output":{"oneOf":[{"$ref":"#/components/schemas/SplitOutput"},{"type":"null"}],"description":"The final output, either reviewed or initial.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n"},"splitter":{"oneOf":[{"$ref":"#/components/schemas/SplitterSummary"},{"type":"null"}],"description":"The splitter that was used for this run.\n\n**Availability:** Present when a splitter reference was provided. Not present when using inline `config`.\n"},"splitterVersion":{"oneOf":[{"$ref":"#/components/schemas/SplitterVersionSummary"},{"type":"null"}],"description":"The version of the splitter that was used for this run.\n\n**Availability:** Present when a splitter reference was provided. Not present when using inline `config`.\n"},"initialOutput":{"oneOf":[{"$ref":"#/components/schemas/SplitOutput"},{"type":"null"}],"description":"The initial output from the split run, before any review edits.\n\n**Availability:** Present when `reviewed` is `true`.\n"},"reviewedOutput":{"oneOf":[{"$ref":"#/components/schemas/SplitOutput"},{"type":"null"}],"description":"The output after human review.\n\n**Availability:** Present when `reviewed` is `true`.\n"},"failureReason":{"type":["string","null"],"description":"The reason for failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n\nPossible values include:\n* `ABORTED` - The run was aborted by the user\n* `INTERNAL_ERROR` - An unexpected internal error occurred\n* `FAILED_TO_PROCESS_FILE` - Failed to process the file (e.g., OCR failure, file access issues)\n* `INVALID_PROCESSOR` - The processor configuration is invalid\n* `INVALID_CONFIGURATION` - The provided configuration is incompatible with the selected model\n* `PARSING_ERROR` - Failed to parse the splitting output\n* `PRE_PROCESSING_FAILURE` - An error occurred during preprocessing\n* `POST_PROCESSING_FAILURE` - An error occurred during postprocessing\n* `OUT_OF_CREDITS` - Insufficient credits to run the splitter\n\n**Note:** Additional failure reasons may be added in the future. Your integration should handle unknown values gracefully.\n"},"failureMessage":{"type":["string","null"],"description":"A detailed message about the failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/RunMetadata"},{"type":"null"}],"description":"Any metadata that was provided when creating the split run.\n\n**Availability:** Present when metadata was provided during creation.\n"},"reviewed":{"type":"boolean","description":"Indicates whether the run has been reviewed by a human."},"edited":{"type":"boolean","description":"Indicates whether the run results have been edited during review."},"config":{"$ref":"#/components/schemas/SplitConfig","description":"The configuration used for this split run."},"file":{"oneOf":[{"$ref":"#/components/schemas/FileSummary"},{"type":"null"}],"description":"The file that was processed. `null` when the file could not be accessed or processed (for example a run that failed during file ingestion, or a multi-file batch run).\n"},"parseRunId":{"type":["string","null"],"description":"The ID of the parse run that was used for this split run.\n\n**Availability:** Present when a parse run was created.\n"},"dashboardUrl":{"type":"string","description":"The URL to view the split run in the Extend dashboard."},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsage"},{"type":"null"}],"description":"Usage credits consumed by this split run.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","status","output","splitter","splitterVersion","initialOutput","reviewedOutput","failureReason","failureMessage","metadata","reviewed","edited","config","file","parseRunId","dashboardUrl","usage","createdAt","updatedAt"],"description":"Split run object.","title":"SplitRun"},"SplitRunsPostRequestBodyContentApplicationJsonSchemaSplitter":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the splitter to use."},"version":{"$ref":"#/components/schemas/ProcessorVersionString","default":"latest"},"overrideConfig":{"$ref":"#/components/schemas/SplitOverrideConfig","description":"Optional partial configuration override. Only the fields you provide will override the splitter's saved configuration. For example, you can pass only `splitRules` without providing `splitClassifications`.\n"}},"required":["id"],"description":"Reference to an existing splitter. One of `splitter` or `config` must be provided.\n","title":"SplitRunsPostRequestBodyContentApplicationJsonSchemaSplitter"},"SplitRunsPostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"}],"description":"The file to be split. Files can be provided as a URL or an Extend file ID.","title":"SplitRunsPostRequestBodyContentApplicationJsonSchemaFile"},"splitRuns_delete_Response_200":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the deleted split run"}},"required":["id"],"title":"splitRuns_delete_Response_200"},"SplitRunsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"SplitRunsGetResponsesContentApplicationJsonSchemaObject"},"SplitRunSummaryObject":{"type":"string","enum":["split_run"],"description":"The type of object. Will always be `\"split_run\"`.","title":"SplitRunSummaryObject"},"SplitRunSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplitRunSummaryObject","description":"The type of object. Will always be `\"split_run\"`."},"id":{"type":"string","description":"The unique identifier for this split run."},"splitter":{"oneOf":[{"$ref":"#/components/schemas/SplitterSummary"},{"type":"null"}],"description":"The splitter that was used for this run.\n\n**Availability:** Present when a splitter reference was provided. Not present when using inline `config`.\n"},"splitterVersion":{"oneOf":[{"$ref":"#/components/schemas/SplitterVersionSummary"},{"type":"null"}],"description":"The version of the splitter that was used for this run.\n\n**Availability:** Present when a splitter reference was provided. Not present when using inline `config`.\n"},"status":{"$ref":"#/components/schemas/ProcessorRunStatus"},"failureReason":{"type":["string","null"],"description":"The reason for failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"failureMessage":{"type":["string","null"],"description":"A detailed message about the failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/RunMetadata"},{"type":"null"}],"description":"Any metadata that was provided when creating the split run.\n\n**Availability:** Present when metadata was provided during creation.\n"},"reviewed":{"type":"boolean","description":"Indicates whether the run has been reviewed by a human."},"edited":{"type":"boolean","description":"Indicates whether the run results have been edited during review."},"file":{"oneOf":[{"$ref":"#/components/schemas/FileSummary"},{"type":"null"}],"description":"The file that was processed. `null` when the file could not be accessed or processed (for example a run that failed during file ingestion, or a multi-file batch run).\n"},"parseRunId":{"type":["string","null"],"description":"The ID of the parse run that was used for this split run.\n\n**Availability:** Present when a parse run was created.\n"},"dashboardUrl":{"type":"string","description":"The URL to view the split run in the Extend dashboard."},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsageSummary"},{"type":"null"}],"description":"Usage credits consumed by this split run. Omits `breakdown` — fetch the full split run by id to see the per-line items.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","splitter","splitterVersion","status","failureReason","failureMessage","metadata","reviewed","edited","file","parseRunId","dashboardUrl","usage","createdAt","updatedAt"],"description":"Summary representation of a split run.\n","title":"SplitRunSummary"},"splitRuns_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplitRunsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SplitRunSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"splitRuns_list_Response_200"},"SplitterObject":{"type":"string","enum":["splitter"],"description":"The type of object. Will always be `\"splitter\"`.","title":"SplitterObject"},"SplitterVersionObject":{"type":"string","enum":["splitter_version"],"description":"The type of object. Will always be `\"splitter_version\"`.","title":"SplitterVersionObject"},"SplitterVersion":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplitterVersionObject","description":"The type of object. Will always be `\"splitter_version\"`."},"id":{"type":"string","description":"The unique identifier for this version of the splitter.\n\nExample: `\"splv_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"description":{"type":["string","null"],"description":"A description of this version of the splitter.\n\nExample: `\"Updated split rules for multi-invoice packets\"`\n"},"version":{"type":"string","description":"The version number or identifier for this specific version of the splitter. The draft version will have version=\"draft\".\n\nExamples: `\"1.0\"`, `\"2.1\"`, `\"draft\"`\n"},"config":{"$ref":"#/components/schemas/SplitConfig","description":"The configuration settings for this version of the splitter.\n"},"splitterId":{"type":"string","description":"The ID of the splitter that this version belongs to.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"}},"required":["object","id","description","version","config","splitterId","createdAt"],"title":"SplitterVersion"},"Splitter":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplitterObject","description":"The type of object. Will always be `\"splitter\"`."},"id":{"type":"string","description":"The ID of the splitter.\n\nExample: `\"spl_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"name":{"type":"string","description":"The name of the splitter.\n\nExample: `\"Invoice Packet Splitter\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"},"draftVersion":{"$ref":"#/components/schemas/SplitterVersion","description":"The draft version of the splitter. This is the editable version in the Extend dashboard."}},"required":["object","id","name","createdAt","updatedAt","draftVersion"],"title":"Splitter"},"SplittersGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"SplittersGetResponsesContentApplicationJsonSchemaObject"},"splitters_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplittersGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SplitterSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"title":"splitters_list_Response_200"},"SplittersSplitterIdVersionsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"SplittersSplitterIdVersionsGetResponsesContentApplicationJsonSchemaObject"},"splitterVersions_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplittersSplitterIdVersionsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SplitterVersionSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"splitterVersions_list_Response_200"},"EditPostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"}],"description":"The file to be edited. Files can be provided as a URL or an Extend file ID.","title":"EditPostRequestBodyContentApplicationJsonSchemaFile"},"EditRootJsonType":{"type":"string","enum":["object"],"description":"Must be \"object\" for the root schema","title":"EditRootJsonType"},"EditJsonExtendEditFieldType":{"type":"string","enum":["text","checkbox","radio","dropdown","optionList","signature","table","unknown"],"description":"The PDF field type to edit. Allowed values depend on the schema type:\n* `[\"string\", \"null\"]` → `text`, `signature`\n* `[\"number\", \"null\"]` → `text`\n* `[\"integer\", \"null\"]` → `text`\n* `[\"boolean\", \"null\"]` → `checkbox`, `radio`\n* `\"array\"` → `text`, `table`\n* `\"object\"` → `signature`\n* enum fields (no type) → `radio`, `optionList`, `dropdown`\n","title":"EditJsonExtendEditFieldType"},"EditBoundingBox":{"type":"object","properties":{"left":{"type":"number","format":"double","description":"The left coordinate of the bounding box (pixels)"},"top":{"type":"number","format":"double","description":"The top coordinate of the bounding box (pixels)"},"right":{"type":"number","format":"double","description":"The right coordinate of the bounding box (pixels)"},"bottom":{"type":"number","format":"double","description":"The bottom coordinate of the bounding box (pixels)"}},"required":["left","top","right","bottom"],"description":"Bounding box coordinates for the field location in the PDF (pixel coordinates)","title":"EditBoundingBox"},"EditTextOptions":{"type":"object","properties":{"fontSize":{"type":"number","format":"double","description":"Font size in points"},"fontColor":{"type":"array","items":{"type":"number","format":"double"},"description":"RGB color values (0-255) for text color"},"font":{"type":"string","description":"Font family name"},"combing":{"type":"boolean","description":"Whether this is a combed field (like SSN fields with individual character boxes)"},"maxLength":{"type":"integer","description":"Maximum number of characters allowed"}},"description":"Text styling options for text fields","title":"EditTextOptions"},"EditJsonExtendEditImage":{"type":"object","properties":{"image_url":{"type":"string","description":"URL of the image to place in the signature field."}},"required":["image_url"],"description":"Image fill for signature fields. Only PNG and JPEG image URLs are supported.","title":"EditJsonExtendEditImage"},"EditObjectJsonType":{"type":"string","enum":["object"],"description":"Must be \"object\" for object schemas","title":"EditObjectJsonType"},"EditObjectJsonExtendEditFieldType":{"type":"string","enum":["signature"],"description":"The PDF field type. For object schemas, must be \"signature\".","title":"EditObjectJsonExtendEditFieldType"},"EditObjectJSON":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/EditObjectJsonType","description":"Must be \"object\" for object schemas"},"description":{"type":"string","description":"Description of the field"},"extend_edit:field_type":{"$ref":"#/components/schemas/EditObjectJsonExtendEditFieldType","description":"The PDF field type. For object schemas, must be \"signature\"."},"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/EditJSON"},"description":"Nested properties. Each property follows the EditJSON structure."},"required":{"type":"array","items":{"type":"string"},"description":"List of required property names"},"additionalProperties":{"type":"boolean","description":"Whether additional properties are allowed"}},"description":"Schema definition for an object field in a PDF edit schema. Used for signature fields and as items schema for arrays/tables.\n","title":"EditObjectJSON"},"EditJSON":{"type":"object","properties":{"type":{"description":"The JSON schema type of the field. Can be:\n* A string: \"array\" or \"object\"\n* A nullable tuple array: [\"string\", \"null\"], [\"number\", \"null\"], [\"integer\", \"null\"], [\"boolean\", \"null\"]\n* Omitted for enum fields (use enum property instead)\n"},"description":{"type":"string","description":"Description of the field"},"extend_edit:field_type":{"$ref":"#/components/schemas/EditJsonExtendEditFieldType","description":"The PDF field type to edit. Allowed values depend on the schema type:\n* `[\"string\", \"null\"]` → `text`, `signature`\n* `[\"number\", \"null\"]` → `text`\n* `[\"integer\", \"null\"]` → `text`\n* `[\"boolean\", \"null\"]` → `checkbox`, `radio`\n* `\"array\"` → `text`, `table`\n* `\"object\"` → `signature`\n* enum fields (no type) → `radio`, `optionList`, `dropdown`\n"},"extend_edit:bbox":{"$ref":"#/components/schemas/EditBoundingBox"},"extend_edit:bboxes":{"type":"array","items":{"$ref":"#/components/schemas/EditBoundingBox"},"description":"Array of bounding boxes for radio enums. Enum at index i corresponds to bbox at index i."},"extend_edit:page_index":{"type":"integer","description":"Zero-based page index where the field should be placed"},"extend_edit:text_edit_options":{"$ref":"#/components/schemas/EditTextOptions"},"extend_edit:column_width":{"type":"number","format":"double","description":"Width of the column as a percentage (for table fields)"},"extend_edit:value":{"description":"The value to fill into this field. Can be any type. This will force the value at this field to be filled with this value. If a value is not provided, we will attempt to generate or infer one based on the instructions."},"extend_edit:image":{"$ref":"#/components/schemas/EditJsonExtendEditImage","description":"Image fill for signature fields. Only PNG and JPEG image URLs are supported."},"extend_edit:row_heights":{"type":"array","items":{"type":"number","format":"double"},"description":"Array of row height percentages for array/table fields (e.g. [0.25, 0.50, 0.25])"},"items":{"$ref":"#/components/schemas/EditObjectJSON","description":"Schema for array items (when type is \"array\"). Must be an EditObjectJSON."},"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/EditJSON"},"description":"Nested properties for object types. Each property follows the EditJSON structure."},"enum":{"type":"array","items":{"type":"string"},"description":"Allowed values for enum/dropdown/radio fields"},"maxItems":{"type":"integer","description":"Maximum number of rows for array/table fields"},"required":{"type":"array","items":{"type":"string"},"description":"List of required property names (for object types)"},"additionalProperties":{"type":"boolean","description":"Whether additional properties are allowed (for object types)"}},"description":"Schema definition for a field to edit in a PDF. This is a union type that supports:\n* `EditStringJSONSchema` - type: [\"string\", \"null\"], field_type: \"text\" | \"signature\"\n* `EditNumberJSONSchema` - type: [\"number\", \"null\"], field_type: \"text\"\n* `EditIntegerJSONSchema` - type: [\"integer\", \"null\"], field_type: \"text\"\n* `EditBooleanJSONSchema` - type: [\"boolean\", \"null\"], field_type: \"checkbox\" | \"radio\"\n* `EditArrayJSONSchema` - type: \"array\", field_type: \"text\" | \"table\"\n* `EditEnumJSONSchema` - has enum property (no type field), field_type: \"radio\" | \"optionList\" | \"dropdown\"\n* `EditObjectJSON` - type: \"object\", field_type: \"signature\"\n\nAll variants share common `extend_edit:*` properties for positioning and styling.\n","title":"EditJSON"},"EditDependentRequired":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Map of field names to additional fields that become required when the key field is present.","title":"EditDependentRequired"},"EditConditionalObjectPropertyType":{"type":"string","enum":["object"],"description":"Must be `object` for nested object conditional schemas.","title":"EditConditionalObjectPropertyType"},"EditConditionalObjectProperty":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/EditConditionalObjectPropertyType","description":"Must be `object` for nested object conditional schemas."},"description":{"type":"string","description":"Description of the nested object constraint."},"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/EditConditionalProperty"},"description":"Nested conditional property constraints."},"required":{"type":"array","items":{"type":"string"},"description":"Required nested properties."},"additionalProperties":{"type":"boolean","description":"Whether additional nested properties are allowed."}},"description":"Nested object/row schema used inside conditional array and object constraints.","title":"EditConditionalObjectProperty"},"EditConditionalProperty":{"type":"object","properties":{"type":{"description":"JSON Schema type for the conditional property. Can be a simple type such as `\"object\"` or `\"array\"`,\na nullable tuple like `[\"string\", \"null\"]`, or omitted for enum-only constraints.\n"},"description":{"type":"string","description":"Description of the field constraint."},"enum":{"type":"array","items":{"type":"string"},"description":"Allowed values for enum-based conditional constraints."},"items":{"$ref":"#/components/schemas/EditConditionalObjectProperty","description":"Nested array item schema for conditional array constraints."},"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/EditConditionalProperty"},"description":"Nested object property constraints."},"required":{"type":"array","items":{"type":"string"},"description":"Required nested object properties."},"additionalProperties":{"type":"boolean","description":"Whether additional nested object properties are allowed."},"const":{"description":"Exact value that the property must match."},"pattern":{"type":"string","description":"Regular expression that string values must match."},"contains":{"$ref":"#/components/schemas/EditConditionalProperty","description":"Conditional schema that at least one array item must satisfy."},"minimum":{"type":"number","format":"double","description":"Inclusive lower bound for numeric values."},"maximum":{"type":"number","format":"double","description":"Inclusive upper bound for numeric values."},"exclusiveMinimum":{"type":"number","format":"double","description":"Exclusive lower bound for numeric values."},"exclusiveMaximum":{"type":"number","format":"double","description":"Exclusive upper bound for numeric values."},"minLength":{"type":"integer","description":"Minimum string length."},"maxLength":{"type":"integer","description":"Maximum string length."},"minItems":{"type":"integer","description":"Minimum number of array items."},"maxItems":{"type":"integer","description":"Maximum number of array items."},"minContains":{"type":"integer","description":"Minimum number of matching items for `contains`."},"maxContains":{"type":"integer","description":"Maximum number of matching items for `contains`."}},"description":"Field-level schema fragment used inside conditional clauses. These condition objects support nested JSON\nSchema structure such as `type`, `enum`, `items`, `properties`, `required`, and `contains`, but do not\nallow any `extend_edit:*` placement or styling keys.\n","title":"EditConditionalProperty"},"EditConditionalClause":{"type":"object","properties":{"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/EditConditionalProperty"},"description":"Conditional field constraints keyed by top-level property name."},"required":{"type":"array","items":{"type":"string"},"description":"List of fields that must be present when this clause applies."},"dependentRequired":{"$ref":"#/components/schemas/EditDependentRequired"},"if":{"$ref":"#/components/schemas/EditConditionalClause"},"then":{"$ref":"#/components/schemas/EditConditionalClause"},"else":{"$ref":"#/components/schemas/EditConditionalClause"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/EditConditionalClause"},"description":"List of nested conditional clauses that must all match."},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/EditConditionalClause"},"description":"List of nested conditional clauses where exactly one must match."},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/EditConditionalClause"},"description":"List of nested conditional clauses where at least one must match."},"not":{"$ref":"#/components/schemas/EditConditionalClause"}},"description":"Recursive conditional clause for edit schemas. Use these clauses with root-level `if` / `then` / `else`,\n`dependentRequired`, and logical combinators to model conditional field requirements.\n","title":"EditConditionalClause"},"EditRootJSON":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/EditRootJsonType","description":"Must be \"object\" for the root schema"},"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/EditJSON"},"description":"Map of field names to their schema definitions"},"required":{"type":"array","items":{"type":"string"},"description":"List of required field names"},"additionalProperties":{"type":"boolean","description":"Whether additional properties are allowed"},"dependentRequired":{"$ref":"#/components/schemas/EditDependentRequired"},"if":{"$ref":"#/components/schemas/EditConditionalClause"},"then":{"$ref":"#/components/schemas/EditConditionalClause"},"else":{"$ref":"#/components/schemas/EditConditionalClause"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/EditConditionalClause"},"description":"List of conditional clauses that must all match."},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/EditConditionalClause"},"description":"List of conditional clauses where exactly one must match."},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/EditConditionalClause"},"description":"List of conditional clauses where at least one must match."},"not":{"$ref":"#/components/schemas/EditConditionalClause"}},"required":["type","properties"],"description":"JSON Schema definition for editing PDF documents. The schema defines the structure and placement of fields to edit.\nIt also supports JSON Schema conditional keywords at the root level, including `dependentRequired`,\n`if` / `then` / `else`, and logical combinators such as `allOf`, `oneOf`, `anyOf`, and `not`.\nConditional property constraints do not accept `extend_edit:*` keys.\n","title":"EditRootJSON"},"EditConfigAdvancedOptions":{"type":"object","properties":{"tableParsingEnabled":{"type":"boolean","description":"Whether to parse table regions as arrays of objects. Defaults to `false`."},"flattenPdf":{"type":"boolean","description":"Whether to flatten PDF forms after editing (makes form fields non-editable). Defaults to `true`."},"radioEnumsEnabled":{"type":"boolean","description":"Whether to model radio fields as enums. This ensures only one radio widget is filled. Defaults to false."},"nativeFieldsOnly":{"type":"boolean","description":"If enabled, only native AcroForm from the PDF will be imported and used in the schema (skips object detection). Defaults to false."}},"description":"Advanced options for the edit operation.","title":"EditConfigAdvancedOptions"},"EditConfig":{"type":"object","properties":{"schema":{"$ref":"#/components/schemas/EditRootJSON"},"instructions":{"type":"string","description":"Custom instructions provided for the edit operation."},"schemaGenerationInstructions":{"type":"string","description":"Additional instructions used when generating a schema from the document."},"advancedOptions":{"$ref":"#/components/schemas/EditConfigAdvancedOptions","description":"Advanced options for the edit operation."}},"description":"Configuration options for the editing process.","title":"EditConfig"},"EditRunObject":{"type":"string","enum":["edit_run"],"description":"The type of object. Will always be `\"edit_run\"`.","title":"EditRunObject"},"EditRunStatus":{"type":"string","enum":["PROCESSING","PROCESSED","FAILED"],"description":"The status of the edit run:\n* `\"PROCESSING\"` - The file is still being processed\n* `\"PROCESSED\"` - The file was successfully edited\n* `\"FAILED\"` - The editing failed (see `failureReason` for details)\n","title":"EditRunStatus"},"EditRunOutputEditedFile":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the edited output file."},"presignedUrl":{"type":"string","description":"A presigned URL to download the edited file. Expires after 15 minutes."}},"required":["id","presignedUrl"],"description":"Information about the edited output file.","title":"EditRunOutputEditedFile"},"EditRunOutput":{"type":"object","properties":{"editedFile":{"$ref":"#/components/schemas/EditRunOutputEditedFile","description":"Information about the edited output file."},"filledValues":{"type":"object","additionalProperties":{"description":"Any type"},"description":"The field values that were filled into the document. Keys correspond to the property names in the schema. Will not be present if no values were filled."}},"required":["editedFile"],"description":"The output of the edit run.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n","title":"EditRunOutput"},"EditRunMetrics":{"type":"object","properties":{"processingTimeMs":{"type":"number","format":"double","description":"Total processing time in milliseconds."},"pageCount":{"type":"integer","description":"The number of pages in the document."},"fieldCount":{"type":"integer","description":"The total number of fields in the schema."},"fieldsDetectedCount":{"type":"integer","description":"The number of fields that were automatically detected."},"fieldsAnnotatedCount":{"type":"integer","description":"The number of fields that were annotated with bounding boxes."},"fieldDetectionTimeMs":{"type":"number","format":"double","description":"The time taken to detect fields in the document, in milliseconds."},"fieldAnnotationTimeMs":{"type":"number","format":"double","description":"The time taken to annotate field positions in the document, in milliseconds."},"fieldFillingTimeMs":{"type":"number","format":"double","description":"The time taken to fill the fields in the document, in milliseconds."}},"required":["processingTimeMs","pageCount","fieldCount","fieldsDetectedCount","fieldsAnnotatedCount","fieldDetectionTimeMs","fieldAnnotationTimeMs","fieldFillingTimeMs"],"description":"Metrics about the editing process.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n","title":"EditRunMetrics"},"EditRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/EditRunObject","description":"The type of object. Will always be `\"edit_run\"`."},"id":{"type":"string","description":"A unique identifier for the edit run.\n\nExample: `\"edr_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"file":{"$ref":"#/components/schemas/FileSummary","description":"The input file that was submitted for editing."},"status":{"$ref":"#/components/schemas/EditRunStatus","description":"The status of the edit run:\n* `\"PROCESSING\"` - The file is still being processed\n* `\"PROCESSED\"` - The file was successfully edited\n* `\"FAILED\"` - The editing failed (see `failureReason` for details)\n"},"failureReason":{"type":["string","null"],"description":"The reason for failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n\nPossible values include:\n* `UNABLE_TO_DOWNLOAD_FILE` - Failed to load the requested file\n* `FILE_TYPE_NOT_SUPPORTED` - File type not supported. Edit runs currently require a PDF\n* `FILE_SIZE_TOO_LARGE` - The file exceeds the maximum allowed size\n* `CORRUPT_FILE` - The file appears to be corrupted and cannot be edited\n* `FIELD_DETECTION_ERROR` - An error occurred during field detection\n* `PASSWORD_PROTECTED_FILE` - The file is password protected and cannot be edited\n* `FAILED_TO_CONVERT_TO_PDF` - The file could not be converted to PDF for processing\n* `INTERNAL_ERROR` - An unexpected internal error occurred\n* `INVALID_OPTIONS` - The provided configuration options are invalid\n* `EMPTY_SCHEMA` - No schema was provided and no fields could be detected\n* `OUT_OF_CREDITS` - Insufficient credits to process the file\n\n**Note:** Additional failure reasons may be added in the future. Your integration should handle unknown values gracefully.\n"},"failureMessage":{"type":["string","null"],"description":"A human-readable description of the failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"config":{"$ref":"#/components/schemas/EditConfig","description":"The configuration used for this edit run, including any default values that were applied."},"output":{"oneOf":[{"$ref":"#/components/schemas/EditRunOutput"},{"type":"null"}],"description":"The output of the edit run.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n"},"metrics":{"oneOf":[{"$ref":"#/components/schemas/EditRunMetrics"},{"type":"null"}],"description":"Metrics about the editing process.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`.\n"},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsage"},{"type":"null"}],"description":"Usage credits consumed by this edit run.\n\n**Availability:** Present when `status` is `\"PROCESSED\"`, the run was created after October 7, 2025, and the customer is on the current billing system.\n"}},"required":["object","id","file","status","failureReason","failureMessage","config","output","metrics","usage"],"description":"Edit run object.","title":"EditRun"},"EditRunsPostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"}],"description":"The file to be edited. Files can be provided as a URL or an Extend file ID.","title":"EditRunsPostRequestBodyContentApplicationJsonSchemaFile"},"editRuns_delete_Response_200":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the deleted edit run"}},"required":["id"],"title":"editRuns_delete_Response_200"},"EditTemplateObject":{"type":"string","enum":["edit_template"],"description":"The type of object. Will always be `\"edit_template\"`.","title":"EditTemplateObject"},"EditSchemaGenerationConfigAdvancedOptions":{"type":"object","properties":{"tableParsingEnabled":{"type":"boolean","description":"Whether to parse table regions as arrays of objects. Defaults to `false`."},"radioEnumsEnabled":{"type":"boolean","description":"Whether to model radio fields as enums. This ensures only one radio widget is selected. Defaults to `false`."},"nativeFieldsOnly":{"type":"boolean","description":"If enabled, only native AcroForm fields from the PDF will be imported and used in the schema, skipping object detection. Defaults to `false`."}},"description":"Advanced options for schema generation.","title":"EditSchemaGenerationConfigAdvancedOptions"},"EditSchemaGenerationConfig":{"type":"object","properties":{"inputSchema":{"$ref":"#/components/schemas/EditRootJSON","description":"Optional existing edit schema to map onto the detected form fields. When provided, the response may include a `mappingResult`\nthat shows which input schema paths matched the generated form fields.\n"},"instructions":{"type":"string","description":"Custom instructions provided for schema generation."},"advancedOptions":{"$ref":"#/components/schemas/EditSchemaGenerationConfigAdvancedOptions","description":"Advanced options for schema generation."}},"description":"Configuration options for edit schema generation.","title":"EditSchemaGenerationConfig"},"EditTemplate":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/EditTemplateObject","description":"The type of object. Will always be `\"edit_template\"`."},"id":{"type":"string","description":"A unique identifier for the edit template.\n\nExample: `\"edt_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"name":{"type":"string","description":"The name of the edit template."},"description":{"type":["string","null"],"description":"The description of the edit template, if one was provided."},"file":{"$ref":"#/components/schemas/FileSummary","description":"The source file associated with this edit template."},"config":{"$ref":"#/components/schemas/EditConfig","description":"Default edit configuration saved on the template. Empty when no edit configuration was saved."},"schemaConfig":{"oneOf":[{"$ref":"#/components/schemas/EditSchemaGenerationConfig"},{"type":"null"}],"description":"Optional schema generation configuration saved on the template."},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","name","description","file","config","schemaConfig","createdAt","updatedAt"],"description":"A saved edit template. Edit templates contain a source file, default edit configuration, and optional schema generation configuration that can be reused for edit runs.\n","title":"EditTemplate"},"EditSchemasGeneratePostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"}],"description":"The file to analyze. Files can be provided as a URL or an Extend file ID.","title":"EditSchemasGeneratePostRequestBodyContentApplicationJsonSchemaFile"},"EditSchemaGenerationMappingMatch":{"type":"object","properties":{"inputPath":{"type":"string","description":"The path from the provided `inputSchema`."},"formFieldKey":{"type":"string","description":"The detected form field key matched to the input path."}},"required":["inputPath","formFieldKey"],"description":"A successful mapping between an input schema path and a detected form field.","title":"EditSchemaGenerationMappingMatch"},"EditSchemaGenerationMappingResult":{"type":"object","properties":{"matches":{"type":"array","items":{"$ref":"#/components/schemas/EditSchemaGenerationMappingMatch"},"description":"Fields from the input schema that were successfully mapped to detected form fields."},"unmatchedInputPaths":{"type":"array","items":{"type":"string"},"description":"Input schema field paths that could not be matched to the form."},"unusedFormFieldKeys":{"type":"array","items":{"type":"string"},"description":"Detected form field keys that were not used by the input schema mapping."}},"required":["matches","unmatchedInputPaths","unusedFormFieldKeys"],"description":"Mapping information between an input schema and the detected form fields.","title":"EditSchemaGenerationMappingResult"},"EditSchemaGenerationResponse":{"type":"object","properties":{"schema":{"$ref":"#/components/schemas/EditRootJSON","description":"The final generated schema after mapping. If no input schema was provided this will be the same as the annotatedSchema."},"annotatedSchema":{"oneOf":[{"$ref":"#/components/schemas/EditRootJSON"},{"type":"null"}],"description":"The original schema that was detected and annotated from the file."},"mappingResult":{"oneOf":[{"$ref":"#/components/schemas/EditSchemaGenerationMappingResult"},{"type":"null"}],"description":"Mapping information between `inputSchema` paths and detected form fields when an input schema was provided."}},"required":["schema","annotatedSchema","mappingResult"],"description":"The generated schema and optional mapping metadata.","title":"EditSchemaGenerationResponse"},"WorkflowReference":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the workflow.\n\nExample: `\"workflow_BMdfq_yWM3sT-ZzvCnA3f\"`\n"},"version":{"type":"string","description":"An optional version of the workflow that files will be run through. This number can be found when viewing the workflow on the Extend platform. When a version number is not supplied, the most recent published version of the workflow will be used. If no published versions exist, the draft version will be used. To run the `\"draft\"` version of a workflow, use `\"draft\"` as the version.\n\nExamples:\n- `\"3\"` - Run version 3 of the workflow\n- `\"draft\"` - Run the draft version of the workflow\n"}},"required":["id"],"description":"The workflow to run.","title":"WorkflowReference"},"WorkflowRunsPostRequestBodyContentApplicationJsonSchemaFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"},{"$ref":"#/components/schemas/FileFromText"}],"description":"The file to be processed. Supported file types can be found [here](https://docs.extend.ai/2026-02-09/general/supported-file-types). Files can be provided as a URL, an Extend file ID, or raw text. If you wish to process more at a time, consider using the [Batch Run Workflow](https://docs.extend.ai/2026-02-09/api-reference/endpoints/workflow/batch-create-workflow-runs) endpoint.","title":"WorkflowRunsPostRequestBodyContentApplicationJsonSchemaFile"},"ProvidedExtractOutput":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/JsonObject","description":"The expected extraction output, provided as a JSON object that conforms to the schema defined in the extractor config"}},"description":"The expected extraction output.\n\n**Important:** Make sure to nest the JSON object conforming to the schema in a `value` object, and include all properties defined in the schema.\n","title":"ProvidedExtractOutput"},"ProvidedClassifyOutput":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for this classification (defined in the classifier config)"},"type":{"type":"string","description":"The type of classification (defined in the classifier config)"}},"required":["id","type"],"title":"ProvidedClassifyOutput"},"ProvidedSplitOutputSplitsItems":{"type":"object","properties":{"classificationId":{"type":"string","description":"ID of the classification type (defined in the splitter config)"},"type":{"type":"string","description":"The type of the split document (defined in the splitter config), corresponds to the classificationId"},"startPage":{"type":"integer","description":"The start page of the split document"},"endPage":{"type":"integer","description":"The end page of the split document"}},"required":["classificationId","type","startPage","endPage"],"title":"ProvidedSplitOutputSplitsItems"},"ProvidedSplitOutput":{"type":"object","properties":{"splits":{"type":"array","items":{"$ref":"#/components/schemas/ProvidedSplitOutputSplitsItems"}}},"required":["splits"],"title":"ProvidedSplitOutput"},"ProvidedProcessorOutput":{"oneOf":[{"$ref":"#/components/schemas/ProvidedExtractOutput"},{"$ref":"#/components/schemas/ProvidedClassifyOutput"},{"$ref":"#/components/schemas/ProvidedSplitOutput"}],"title":"ProvidedProcessorOutput"},"WorkflowRunsPostRequestBodyContentApplicationJsonSchemaOutputsItems":{"type":"object","properties":{"processorId":{"type":"string","description":"The ID of the extractor, classifier, or splitter that the output is associated with.\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"output":{"$ref":"#/components/schemas/ProvidedProcessorOutput","description":"The output to be used for the workflow run. The structure will depend on the processor type. More details can be found on the \"output type\" page for the corresponding processor, in the guides section.\n"}},"required":["processorId","output"],"title":"WorkflowRunsPostRequestBodyContentApplicationJsonSchemaOutputsItems"},"RunSecrets":{"type":"object","properties":{},"description":"An optional object containing secrets to be used by processors within the workflow for this specific run.","title":"RunSecrets"},"WorkflowRunObject":{"type":"string","enum":["workflow_run"],"description":"The type of object. In this case, it will always be `\"workflow_run\"`.\n","title":"WorkflowRunObject"},"WorkflowSummaryObject":{"type":"string","enum":["workflow"],"description":"The type of object. Always `\"workflow\"`.","title":"WorkflowSummaryObject"},"WorkflowSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WorkflowSummaryObject","description":"The type of object. Always `\"workflow\"`."},"id":{"type":"string","description":"The ID of the workflow."},"name":{"type":"string","description":"The name of the workflow."},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","name","createdAt","updatedAt"],"description":"A summary representation of a workflow.","title":"WorkflowSummary"},"WorkflowVersionSummaryObject":{"type":"string","enum":["workflow_version"],"description":"The type of object. Always `\"workflow_version\"`.","title":"WorkflowVersionSummaryObject"},"WorkflowVersionSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WorkflowVersionSummaryObject","description":"The type of object. Always `\"workflow_version\"`."},"id":{"type":"string","description":"The ID of the workflow version."},"version":{"type":"string","description":"The version number as a string, or `\"draft\"` for the draft version.\n"},"name":{"type":["string","null"],"description":"The name of the workflow version."},"createdAt":{"$ref":"#/components/schemas/CreatedAt"}},"required":["object","id","version","name","createdAt"],"description":"A summary representation of a workflow version (without steps).","title":"WorkflowVersionSummary"},"WorkflowRunStatus":{"type":"string","enum":["PENDING","PROCESSING","NEEDS_REVIEW","REJECTED","PROCESSED","FAILED","CANCELLED","CANCELLING"],"description":"The status of a workflow run:\n* `\"PENDING\"` - The workflow run is waiting to be processed\n* `\"PROCESSING\"` - The workflow run is currently processing\n* `\"NEEDS_REVIEW\"` - The workflow run requires manual review\n* `\"REJECTED\"` - The workflow run was rejected during review\n* `\"PROCESSED\"` - The workflow run completed successfully\n* `\"FAILED\"` - The workflow run encountered an error\n* `\"CANCELLED\"` - The workflow run was cancelled\n* `\"CANCELLING\"` - The workflow run is being cancelled\n","title":"WorkflowRunStatus"},"ParseStepRunObject":{"type":"string","enum":["workflow_step_run"],"description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n","title":"ParseStepRunObject"},"ParseStepRunStepType":{"type":"string","enum":["PARSE"],"description":"The type of workflow step. Will always be `\"PARSE\"` for this step run type.","title":"ParseStepRunStepType"},"ParseStepRunStatus":{"type":"string","enum":["PENDING","WAITING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n","title":"ParseStepRunStatus"},"ParseStepRunStepObject":{"type":"string","enum":["workflow_step"],"description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n","title":"ParseStepRunStepObject"},"ParseStepRunStep":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ParseStepRunStepObject","description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n"},"id":{"type":"string","description":"**Deprecated:** This ID is not consistent across workflow versions. This field will be removed in a future API version.\n\nThe ID of the workflow step.\n\nExample: `\"step_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"name":{"type":"string","description":"The name of the workflow step.\n\nExample: `\"Validate Invoice Total\"`\n"},"type":{"$ref":"#/components/schemas/ParseStepRunStepType","description":"The type of workflow step. Will always be `\"PARSE\"` for this step run type."}},"required":["object","id","name","type"],"description":"Base properties shared by all workflow step types.","title":"ParseStepRunStep"},"ParseResult":{"type":"object","properties":{"parseRun":{"$ref":"#/components/schemas/ParseRun","description":"The parse run that was executed."}},"required":["parseRun"],"description":"The result of a parse step.","title":"ParseResult"},"ParseStepRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ParseStepRunObject","description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n"},"id":{"type":"string","description":"The ID of the workflow step run.\n\nExample: `\"workflow_step_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"workflowRunId":{"type":"string","description":"The ID of the parent workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"stepType":{"$ref":"#/components/schemas/ParseStepRunStepType","description":"The type discriminator for this workflow step run, mirrors `step.type`.\n"},"status":{"$ref":"#/components/schemas/ParseStepRunStatus","description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileSummary"},"description":"The files associated with this step run.\n"},"step":{"$ref":"#/components/schemas/ParseStepRunStep"},"result":{"oneOf":[{"$ref":"#/components/schemas/ParseResult"},{"type":"null"}],"description":"The result of this parse step. Currently, `result` is always present for returned step runs. It is nullable to allow for future support of returning step runs with non-successful statuses.\n"}},"required":["object","id","workflowRunId","stepType","status","files","step","result"],"description":"Base properties shared by all step run types.","title":"ParseStepRun"},"ExtractStepRunObject":{"type":"string","enum":["workflow_step_run"],"description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n","title":"ExtractStepRunObject"},"ExtractStepRunStepType":{"type":"string","enum":["EXTRACT"],"description":"The type of workflow step. Will always be `\"EXTRACT\"` for this step run type.","title":"ExtractStepRunStepType"},"ExtractStepRunStatus":{"type":"string","enum":["PENDING","WAITING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n","title":"ExtractStepRunStatus"},"ExtractStepRunStepObject":{"type":"string","enum":["workflow_step"],"description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n","title":"ExtractStepRunStepObject"},"ExtractStepRunStep":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractStepRunStepObject","description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n"},"id":{"type":"string","description":"**Deprecated:** This ID is not consistent across workflow versions. This field will be removed in a future API version.\n\nThe ID of the workflow step.\n\nExample: `\"step_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"name":{"type":"string","description":"The name of the workflow step.\n\nExample: `\"Validate Invoice Total\"`\n"},"type":{"$ref":"#/components/schemas/ExtractStepRunStepType","description":"The type of workflow step. Will always be `\"EXTRACT\"` for this step run type."}},"required":["object","id","name","type"],"description":"Base properties shared by all workflow step types.","title":"ExtractStepRunStep"},"ExtractResult":{"type":"object","properties":{"extractRun":{"$ref":"#/components/schemas/ExtractRun","description":"The extract run that was executed."}},"required":["extractRun"],"description":"The result of an extract step.","title":"ExtractResult"},"ExtractStepRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExtractStepRunObject","description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n"},"id":{"type":"string","description":"The ID of the workflow step run.\n\nExample: `\"workflow_step_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"workflowRunId":{"type":"string","description":"The ID of the parent workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"stepType":{"$ref":"#/components/schemas/ExtractStepRunStepType","description":"The type discriminator for this workflow step run, mirrors `step.type`.\n"},"status":{"$ref":"#/components/schemas/ExtractStepRunStatus","description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileSummary"},"description":"The files associated with this step run.\n"},"step":{"$ref":"#/components/schemas/ExtractStepRunStep"},"result":{"oneOf":[{"$ref":"#/components/schemas/ExtractResult"},{"type":"null"}],"description":"The result of this extract step. Currently, `result` is always present for returned step runs. It is nullable to allow for future support of returning step runs with non-successful statuses.\n"}},"required":["object","id","workflowRunId","stepType","status","files","step","result"],"description":"Base properties shared by all step run types.","title":"ExtractStepRun"},"ClassifyStepRunObject":{"type":"string","enum":["workflow_step_run"],"description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n","title":"ClassifyStepRunObject"},"ClassifyStepRunStepType":{"type":"string","enum":["CLASSIFY"],"description":"The type of workflow step. Will always be `\"CLASSIFY\"` for this step run type.","title":"ClassifyStepRunStepType"},"ClassifyStepRunStatus":{"type":"string","enum":["PENDING","WAITING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n","title":"ClassifyStepRunStatus"},"ClassifyStepRunStepObject":{"type":"string","enum":["workflow_step"],"description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n","title":"ClassifyStepRunStepObject"},"ClassifyStepRunStep":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifyStepRunStepObject","description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n"},"id":{"type":"string","description":"**Deprecated:** This ID is not consistent across workflow versions. This field will be removed in a future API version.\n\nThe ID of the workflow step.\n\nExample: `\"step_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"name":{"type":"string","description":"The name of the workflow step.\n\nExample: `\"Validate Invoice Total\"`\n"},"type":{"$ref":"#/components/schemas/ClassifyStepRunStepType","description":"The type of workflow step. Will always be `\"CLASSIFY\"` for this step run type."}},"required":["object","id","name","type"],"description":"Base properties shared by all workflow step types.","title":"ClassifyStepRunStep"},"ClassifyResult":{"type":"object","properties":{"classifyRun":{"$ref":"#/components/schemas/ClassifyRun","description":"The classify run that was executed."}},"required":["classifyRun"],"description":"The result of a classify step.","title":"ClassifyResult"},"ClassifyStepRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ClassifyStepRunObject","description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n"},"id":{"type":"string","description":"The ID of the workflow step run.\n\nExample: `\"workflow_step_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"workflowRunId":{"type":"string","description":"The ID of the parent workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"stepType":{"$ref":"#/components/schemas/ClassifyStepRunStepType","description":"The type discriminator for this workflow step run, mirrors `step.type`.\n"},"status":{"$ref":"#/components/schemas/ClassifyStepRunStatus","description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileSummary"},"description":"The files associated with this step run.\n"},"step":{"$ref":"#/components/schemas/ClassifyStepRunStep"},"result":{"oneOf":[{"$ref":"#/components/schemas/ClassifyResult"},{"type":"null"}],"description":"The result of this classify step. Currently, `result` is always present for returned step runs. It is nullable to allow for future support of returning step runs with non-successful statuses.\n"}},"required":["object","id","workflowRunId","stepType","status","files","step","result"],"description":"Base properties shared by all step run types.","title":"ClassifyStepRun"},"SplitStepRunObject":{"type":"string","enum":["workflow_step_run"],"description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n","title":"SplitStepRunObject"},"SplitStepRunStepType":{"type":"string","enum":["SPLIT"],"description":"The type of workflow step. Will always be `\"SPLIT\"` for this step run type.","title":"SplitStepRunStepType"},"SplitStepRunStatus":{"type":"string","enum":["PENDING","WAITING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n","title":"SplitStepRunStatus"},"SplitStepRunStepObject":{"type":"string","enum":["workflow_step"],"description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n","title":"SplitStepRunStepObject"},"SplitStepRunStep":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplitStepRunStepObject","description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n"},"id":{"type":"string","description":"**Deprecated:** This ID is not consistent across workflow versions. This field will be removed in a future API version.\n\nThe ID of the workflow step.\n\nExample: `\"step_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"name":{"type":"string","description":"The name of the workflow step.\n\nExample: `\"Validate Invoice Total\"`\n"},"type":{"$ref":"#/components/schemas/SplitStepRunStepType","description":"The type of workflow step. Will always be `\"SPLIT\"` for this step run type."}},"required":["object","id","name","type"],"description":"Base properties shared by all workflow step types.","title":"SplitStepRunStep"},"SplitResult":{"type":"object","properties":{"splitRun":{"$ref":"#/components/schemas/SplitRun","description":"The split run that was executed."}},"required":["splitRun"],"description":"The result of a split step.","title":"SplitResult"},"SplitStepRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/SplitStepRunObject","description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n"},"id":{"type":"string","description":"The ID of the workflow step run.\n\nExample: `\"workflow_step_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"workflowRunId":{"type":"string","description":"The ID of the parent workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"stepType":{"$ref":"#/components/schemas/SplitStepRunStepType","description":"The type discriminator for this workflow step run, mirrors `step.type`.\n"},"status":{"$ref":"#/components/schemas/SplitStepRunStatus","description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileSummary"},"description":"The files associated with this step run.\n"},"step":{"$ref":"#/components/schemas/SplitStepRunStep"},"result":{"oneOf":[{"$ref":"#/components/schemas/SplitResult"},{"type":"null"}],"description":"The result of this split step. Currently, `result` is always present for returned step runs. It is nullable to allow for future support of returning step runs with non-successful statuses.\n"}},"required":["object","id","workflowRunId","stepType","status","files","step","result"],"description":"Base properties shared by all step run types.","title":"SplitStepRun"},"MergeExtractStepRunObject":{"type":"string","enum":["workflow_step_run"],"description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n","title":"MergeExtractStepRunObject"},"MergeExtractStepRunStepType":{"type":"string","enum":["MERGE_EXTRACT"],"description":"The type of workflow step. Will always be `\"MERGE_EXTRACT\"` for this step run type.","title":"MergeExtractStepRunStepType"},"MergeExtractStepRunStatus":{"type":"string","enum":["PENDING","WAITING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n","title":"MergeExtractStepRunStatus"},"MergeExtractStepRunStepObject":{"type":"string","enum":["workflow_step"],"description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n","title":"MergeExtractStepRunStepObject"},"MergeExtractStepRunStep":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/MergeExtractStepRunStepObject","description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n"},"id":{"type":"string","description":"**Deprecated:** This ID is not consistent across workflow versions. This field will be removed in a future API version.\n\nThe ID of the workflow step.\n\nExample: `\"step_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"name":{"type":"string","description":"The name of the workflow step.\n\nExample: `\"Validate Invoice Total\"`\n"},"type":{"$ref":"#/components/schemas/MergeExtractStepRunStepType","description":"The type of workflow step. Will always be `\"MERGE_EXTRACT\"` for this step run type."}},"required":["object","id","name","type"],"description":"Base properties shared by all workflow step types.","title":"MergeExtractStepRunStep"},"MergeExtractResultMergedExtractorsItems":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the extractor that was merged."},"versionId":{"type":"string","description":"The ID of the extractor version that was merged."},"name":{"type":"string","description":"The name of the extractor that was merged."}},"required":["id","versionId","name"],"title":"MergeExtractResultMergedExtractorsItems"},"MergeExtractResult":{"type":"object","properties":{"mergedExtractors":{"type":"array","items":{"$ref":"#/components/schemas/MergeExtractResultMergedExtractorsItems"},"description":"The extractors that were merged to produce the output."},"extractRun":{"$ref":"#/components/schemas/ExtractRun","description":"The resulting extract run containing the merged output.\n"}},"required":["mergedExtractors","extractRun"],"description":"The result of a merge extract step, which combines outputs from multiple extraction runs into a single output.\n","title":"MergeExtractResult"},"MergeExtractStepRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/MergeExtractStepRunObject","description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n"},"id":{"type":"string","description":"The ID of the workflow step run.\n\nExample: `\"workflow_step_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"workflowRunId":{"type":"string","description":"The ID of the parent workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"stepType":{"$ref":"#/components/schemas/MergeExtractStepRunStepType","description":"The type discriminator for this workflow step run, mirrors `step.type`.\n"},"status":{"$ref":"#/components/schemas/MergeExtractStepRunStatus","description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileSummary"},"description":"The files associated with this step run.\n"},"step":{"$ref":"#/components/schemas/MergeExtractStepRunStep"},"result":{"oneOf":[{"$ref":"#/components/schemas/MergeExtractResult"},{"type":"null"}],"description":"The result of this merge extract step. Currently, `result` is always present for returned step runs. It is nullable to allow for future support of returning step runs with non-successful statuses.\n"}},"required":["object","id","workflowRunId","stepType","status","files","step","result"],"description":"Base properties shared by all step run types.","title":"MergeExtractStepRun"},"ConditionalExtractStepRunObject":{"type":"string","enum":["workflow_step_run"],"description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n","title":"ConditionalExtractStepRunObject"},"ConditionalExtractStepRunStepType":{"type":"string","enum":["CONDITIONAL_EXTRACT"],"description":"The type of workflow step. Will always be `\"CONDITIONAL_EXTRACT\"` for this step run type.","title":"ConditionalExtractStepRunStepType"},"ConditionalExtractStepRunStatus":{"type":"string","enum":["PENDING","WAITING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n","title":"ConditionalExtractStepRunStatus"},"ConditionalExtractStepRunStepObject":{"type":"string","enum":["workflow_step"],"description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n","title":"ConditionalExtractStepRunStepObject"},"ConditionalExtractStepRunStep":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ConditionalExtractStepRunStepObject","description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n"},"id":{"type":"string","description":"**Deprecated:** This ID is not consistent across workflow versions. This field will be removed in a future API version.\n\nThe ID of the workflow step.\n\nExample: `\"step_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"name":{"type":"string","description":"The name of the workflow step.\n\nExample: `\"Validate Invoice Total\"`\n"},"type":{"$ref":"#/components/schemas/ConditionalExtractStepRunStepType","description":"The type of workflow step. Will always be `\"CONDITIONAL_EXTRACT\"` for this step run type."}},"required":["object","id","name","type"],"description":"Base properties shared by all workflow step types.","title":"ConditionalExtractStepRunStep"},"ConditionalExtractResult":{"type":"object","properties":{"extractRun":{"$ref":"#/components/schemas/ExtractRun","description":"The extract run that was executed based on the matched rule."}},"required":["extractRun"],"description":"The result of a conditional extract step, which routes to different extractors based on rules.","title":"ConditionalExtractResult"},"ConditionalExtractStepRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ConditionalExtractStepRunObject","description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n"},"id":{"type":"string","description":"The ID of the workflow step run.\n\nExample: `\"workflow_step_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"workflowRunId":{"type":"string","description":"The ID of the parent workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"stepType":{"$ref":"#/components/schemas/ConditionalExtractStepRunStepType","description":"The type discriminator for this workflow step run, mirrors `step.type`.\n"},"status":{"$ref":"#/components/schemas/ConditionalExtractStepRunStatus","description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileSummary"},"description":"The files associated with this step run.\n"},"step":{"$ref":"#/components/schemas/ConditionalExtractStepRunStep"},"result":{"oneOf":[{"$ref":"#/components/schemas/ConditionalExtractResult"},{"type":"null"}],"description":"The result of this conditional extract step. Currently, `result` is always present for returned step runs. It is nullable to allow for future support of returning step runs with non-successful statuses.\n"}},"required":["object","id","workflowRunId","stepType","status","files","step","result"],"description":"Base properties shared by all step run types.","title":"ConditionalExtractStepRun"},"RuleValidationStepRunObject":{"type":"string","enum":["workflow_step_run"],"description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n","title":"RuleValidationStepRunObject"},"RuleValidationStepRunStepType":{"type":"string","enum":["RULE_VALIDATION"],"description":"The type of workflow step. Will always be `\"RULE_VALIDATION\"` for this step run type.","title":"RuleValidationStepRunStepType"},"RuleValidationStepRunStatus":{"type":"string","enum":["PENDING","WAITING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n","title":"RuleValidationStepRunStatus"},"RuleValidationStepRunStepObject":{"type":"string","enum":["workflow_step"],"description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n","title":"RuleValidationStepRunStepObject"},"RuleValidationStepRunStep":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/RuleValidationStepRunStepObject","description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n"},"id":{"type":"string","description":"**Deprecated:** This ID is not consistent across workflow versions. This field will be removed in a future API version.\n\nThe ID of the workflow step.\n\nExample: `\"step_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"name":{"type":"string","description":"The name of the workflow step.\n\nExample: `\"Validate Invoice Total\"`\n"},"type":{"$ref":"#/components/schemas/RuleValidationStepRunStepType","description":"The type of workflow step. Will always be `\"RULE_VALIDATION\"` for this step run type."}},"required":["object","id","name","type"],"description":"Base properties shared by all workflow step types.","title":"RuleValidationStepRunStep"},"RuleValidationResultRulesItemsFailureReason":{"type":"string","enum":["RULE_FAILED","PARSE_ERROR","VALUE_ERROR"],"description":"If the validation rule is not valid, then this describes why the rule failed.\n* `\"RULE_FAILED\"` - The formula evaluated to `false` or `null`\n* `\"PARSE_ERROR\"` - The formula could not be parsed\n* `\"VALUE_ERROR\"` - An error occurred while evaluating the formula\n","title":"RuleValidationResultRulesItemsFailureReason"},"RuleValidationResultRulesItems":{"type":"object","properties":{"name":{"type":"string","description":"The name of the validation rule."},"valid":{"type":"boolean","description":"Indicates whether this validation rule passed or not. This field will be `true` only if the formula evaluates to `true`. If the rule's formula is array valued, then this field will only be `true` if the formula evaluates to `true` for every item in the array.\n"},"validArray":{"type":"array","items":{"type":"boolean"},"description":"Present if the validation rule's formula is array valued. This field contains the formula's evaluated result for every item in the array.\n"},"failureReason":{"$ref":"#/components/schemas/RuleValidationResultRulesItemsFailureReason","description":"If the validation rule is not valid, then this describes why the rule failed.\n* `\"RULE_FAILED\"` - The formula evaluated to `false` or `null`\n* `\"PARSE_ERROR\"` - The formula could not be parsed\n* `\"VALUE_ERROR\"` - An error occurred while evaluating the formula\n"},"error":{"type":"string","description":"If the `failureReason` is `PARSE_ERROR` or `VALUE_ERROR`, then this field contains the error's details.\n"}},"required":["name","valid"],"title":"RuleValidationResultRulesItems"},"RuleValidationResult":{"type":"object","properties":{"rules":{"type":"array","items":{"$ref":"#/components/schemas/RuleValidationResultRulesItems"},"description":"The list of validation rules and their results."},"allPassed":{"type":"boolean","description":"Indicates whether all validation rules passed."}},"required":["rules","allPassed"],"description":"The result of a rule validation step.","title":"RuleValidationResult"},"RuleValidationStepRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/RuleValidationStepRunObject","description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n"},"id":{"type":"string","description":"The ID of the workflow step run.\n\nExample: `\"workflow_step_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"workflowRunId":{"type":"string","description":"The ID of the parent workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"stepType":{"$ref":"#/components/schemas/RuleValidationStepRunStepType","description":"The type discriminator for this workflow step run, mirrors `step.type`.\n"},"status":{"$ref":"#/components/schemas/RuleValidationStepRunStatus","description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileSummary"},"description":"The files associated with this step run.\n"},"step":{"$ref":"#/components/schemas/RuleValidationStepRunStep"},"result":{"oneOf":[{"$ref":"#/components/schemas/RuleValidationResult"},{"type":"null"}],"description":"The result of this rule validation step. Currently, `result` is always present for returned step runs. It is nullable to allow for future support of returning step runs with non-successful statuses.\n"}},"required":["object","id","workflowRunId","stepType","status","files","step","result"],"description":"Base properties shared by all step run types.","title":"RuleValidationStepRun"},"ExternalDataValidationStepRunObject":{"type":"string","enum":["workflow_step_run"],"description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n","title":"ExternalDataValidationStepRunObject"},"ExternalDataValidationStepRunStepType":{"type":"string","enum":["EXTERNAL_DATA_VALIDATION"],"description":"The type of workflow step. Will always be `\"EXTERNAL_DATA_VALIDATION\"` for this step run type.","title":"ExternalDataValidationStepRunStepType"},"ExternalDataValidationStepRunStatus":{"type":"string","enum":["PENDING","WAITING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n","title":"ExternalDataValidationStepRunStatus"},"ExternalDataValidationStepRunStepObject":{"type":"string","enum":["workflow_step"],"description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n","title":"ExternalDataValidationStepRunStepObject"},"ExternalDataValidationStepRunStep":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExternalDataValidationStepRunStepObject","description":"The type of object. In this case, it will always be `\"workflow_step\"`.\n"},"id":{"type":"string","description":"**Deprecated:** This ID is not consistent across workflow versions. This field will be removed in a future API version.\n\nThe ID of the workflow step.\n\nExample: `\"step_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"name":{"type":"string","description":"The name of the workflow step.\n\nExample: `\"Validate Invoice Total\"`\n"},"type":{"$ref":"#/components/schemas/ExternalDataValidationStepRunStepType","description":"The type of workflow step. Will always be `\"EXTERNAL_DATA_VALIDATION\"` for this step run type."}},"required":["object","id","name","type"],"description":"Base properties shared by all workflow step types.","title":"ExternalDataValidationStepRunStep"},"ExternalDataValidationResultResponse":{"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code returned by the external endpoint."},"data":{"$ref":"#/components/schemas/JsonObject","description":"The JSON response body returned by the external endpoint."}},"required":["status","data"],"description":"The response from the external validation endpoint.","title":"ExternalDataValidationResultResponse"},"ExternalDataValidationResult":{"type":"object","properties":{"response":{"$ref":"#/components/schemas/ExternalDataValidationResultResponse","description":"The response from the external validation endpoint."}},"required":["response"],"description":"The result of an external data validation step.","title":"ExternalDataValidationResult"},"ExternalDataValidationStepRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ExternalDataValidationStepRunObject","description":"The type of object. In this case, it will always be `\"workflow_step_run\"`.\n"},"id":{"type":"string","description":"The ID of the workflow step run.\n\nExample: `\"workflow_step_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"workflowRunId":{"type":"string","description":"The ID of the parent workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"stepType":{"$ref":"#/components/schemas/ExternalDataValidationStepRunStepType","description":"The type discriminator for this workflow step run, mirrors `step.type`.\n"},"status":{"$ref":"#/components/schemas/ExternalDataValidationStepRunStatus","description":"The status of the workflow step run:\n* `\"PENDING\"` - The step run is waiting to be executed\n* `\"WAITING\"` - The step run is waiting for a dependency to complete\n* `\"PROCESSING\"` - The step run is currently executing\n* `\"PROCESSED\"` - The step run completed successfully\n* `\"FAILED\"` - The step run encountered an error\n* `\"CANCELLED\"` - The step run was cancelled\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileSummary"},"description":"The files associated with this step run.\n"},"step":{"$ref":"#/components/schemas/ExternalDataValidationStepRunStep"},"result":{"oneOf":[{"$ref":"#/components/schemas/ExternalDataValidationResult"},{"type":"null"}],"description":"The result of this external data validation step. Currently, `result` is always present for returned step runs. It is nullable to allow for future support of returning step runs with non-successful statuses.\n"}},"required":["object","id","workflowRunId","stepType","status","files","step","result"],"description":"Base properties shared by all step run types.","title":"ExternalDataValidationStepRun"},"StepRun":{"oneOf":[{"$ref":"#/components/schemas/ParseStepRun"},{"$ref":"#/components/schemas/ExtractStepRun"},{"$ref":"#/components/schemas/ClassifyStepRun"},{"$ref":"#/components/schemas/SplitStepRun"},{"$ref":"#/components/schemas/MergeExtractStepRun"},{"$ref":"#/components/schemas/ConditionalExtractStepRun"},{"$ref":"#/components/schemas/RuleValidationStepRun"},{"$ref":"#/components/schemas/ExternalDataValidationStepRun"}],"description":"A workflow step run. The shape of the `result` field depends on the `stepType`.\n","title":"StepRun"},"WorkflowRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WorkflowRunObject","description":"The type of object. In this case, it will always be `\"workflow_run\"`.\n"},"id":{"type":"string","description":"The ID of the workflow run.\n\nExample: `\"workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"workflow":{"$ref":"#/components/schemas/WorkflowSummary"},"workflowVersion":{"$ref":"#/components/schemas/WorkflowVersionSummary"},"dashboardUrl":{"type":"string","description":"A URL to view this workflow run in the Extend dashboard.\n\nExample: `\"https://dashboard.extend.ai/workflows/workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"status":{"$ref":"#/components/schemas/WorkflowRunStatus"},"metadata":{"$ref":"#/components/schemas/RunMetadata","description":"The metadata that was passed in when running the Workflow.\n"},"batchId":{"type":["string","null"],"description":"The batch ID of the WorkflowRun. If this WorkflowRun was created as part of a batch of files, all runs in that batch will have the same batch ID.\n\nExample: `\"batch_7Ws31-F5\"`\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileSummary"}},"failureReason":{"type":["string","null"],"description":"The reason why the workflow run failed. Will only be included if the workflow run status is \"FAILED\".\n"},"failureMessage":{"type":["string","null"],"description":"A more detailed message about the failure. Will only be included if the workflow run status is \"FAILED\".\n"},"initialRunAt":{"type":["string","null"],"format":"date-time","description":"The time (in UTC) at which the workflow run was created. Will follow the RFC 3339 format. Will be null if the run hasn't started yet.\n\nExample: `\"2025-04-28T17:01:39.285Z\"`\n"},"reviewedByUser":{"type":["string","null"],"description":"The email address of the person who reviewed the workflow run. Will be null if the workflow run has not been reviewed.\n\nExample: `\"jane.doe@example.com\"`\n"},"reviewed":{"type":"boolean","description":"Whether the workflow run has been reviewed.\n"},"rejectionNote":{"type":["string","null"],"description":"A note that is added if a workflow run is rejected.\n\nExample: `\"Invalid invoice format\"`\n"},"reviewedAt":{"type":["string","null"],"format":"date-time","description":"The time (in UTC) at which the workflow run was reviewed. Will follow the RFC 3339 format. Will be null if the workflow run has not been reviewed.\n\nExample: `\"2024-03-21T16:45:00Z\"`\n"},"startTime":{"type":["string","null"],"format":"date-time","description":"The time (in UTC) at which the workflow run started executing. This will always be after the `initialRunAt` time. Will follow the RFC 3339 format. Will be null if the workflow run has not started executing.\n\nExample: `\"2024-03-21T15:30:00Z\"`\n"},"endTime":{"type":["string","null"],"format":"date-time","description":"The time (in UTC) that the workflow finished executing. Will follow the RFC 3339 format. Will be null if the workflow run has not finished executing.\n\nExample: `\"2024-03-21T15:35:00Z\"`\n"},"stepRuns":{"type":"array","items":{"$ref":"#/components/schemas/StepRun"},"description":"An array of WorkflowStepRun objects. Each WorkflowStepRun represents a single run of a WorkflowStep and contains details about the step's execution and result.\n"},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsage"},{"type":"null"}],"description":"Usage credits consumed by this workflow run, including a breakdown of every contributing child run.\n\n**Availability:** Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.\n"}},"required":["object","id","workflow","workflowVersion","dashboardUrl","status","metadata","batchId","files","failureReason","failureMessage","initialRunAt","reviewedByUser","reviewed","rejectionNote","reviewedAt","startTime","endTime","stepRuns","usage"],"description":"Workflow run object.","title":"WorkflowRun"},"WorkflowRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"},{"$ref":"#/components/schemas/FileFromText"}],"description":"The file to be processed. Files can be provided as a URL, an Extend file ID, or raw text.","title":"WorkflowRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile"},"WorkflowRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/WorkflowRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile","description":"The file to be processed. Files can be provided as a URL, an Extend file ID, or raw text."},"metadata":{"$ref":"#/components/schemas/RunMetadata"},"secrets":{"$ref":"#/components/schemas/RunSecrets"}},"required":["file"],"title":"WorkflowRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems"},"workflowRuns_createBatch_Response_200":{"type":"object","properties":{"batchId":{"type":"string","description":"A unique identifier for the submitted batch. This ID can be used to correlate the workflow runs created by this request. You can find this `batchId` associated with individual runs when listing workflow runs or in webhook payloads."}},"required":["batchId"],"title":"workflowRuns_createBatch_Response_200"},"workflowRuns_delete_Response_200":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the deleted workflow run"}},"required":["id"],"title":"workflowRuns_delete_Response_200"},"WorkflowRunsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"WorkflowRunsGetResponsesContentApplicationJsonSchemaObject"},"WorkflowRunSummaryObject":{"type":"string","enum":["workflow_run"],"description":"The type of object. In this case, it will always be `\"workflow_run\"`.\n","title":"WorkflowRunSummaryObject"},"WorkflowRunSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WorkflowRunSummaryObject","description":"The type of object. In this case, it will always be `\"workflow_run\"`.\n"},"id":{"type":"string","description":"The ID of the workflow run.\n\nExample: `\"workflow_run_Zk9mNP12Qw4-yTv8BdR3H\"`\n"},"status":{"$ref":"#/components/schemas/WorkflowRunStatus"},"workflow":{"$ref":"#/components/schemas/WorkflowSummary"},"workflowVersion":{"$ref":"#/components/schemas/WorkflowVersionSummary"},"dashboardUrl":{"type":"string","description":"A URL to view this workflow run in the Extend dashboard.\n\nExample: `\"https://dashboard.extend.ai/workflows/workflow_run_xKm9pNv3qWsY_jL2tR5Dh\"`\n"},"reviewedByUser":{"type":["string","null"],"description":"The user of the person who reviewed the workflow run. Will be null if the workflow run has not been reviewed.\n\nExample: `\"jane.doe@example.com\"`\n"},"reviewedAt":{"type":["string","null"],"format":"date-time","description":"The time (in UTC) at which the workflow run was reviewed. Will follow the RFC 3339 format. Will be null if the workflow run has not been reviewed.\n\nExample: `\"2024-03-21T16:45:00Z\"`\n"},"initialRunAt":{"type":["string","null"],"format":"date-time","description":"The time (in UTC) at which the workflow was initially created. Will follow the RFC 3339 format. Will be null if the run hasn't started yet.\n\nExample: `\"2024-03-21T15:30:00Z\"`\n"},"startTime":{"type":["string","null"],"format":"date-time","description":"The start time (in UTC) that the workflow actually started executing. This occurs after the `initialRunAt` time. Will follow the RFC 3339 format. Will be null if not started.\n\nExample: `\"2024-03-21T15:30:00Z\"`\n"},"endTime":{"type":["string","null"],"format":"date-time","description":"The end time (in UTC) that the workflow finished. Will follow the RFC 3339 format. Will be null if not finished.\n\nExample: `\"2024-03-21T15:35:00Z\"`\n"},"batchId":{"type":["string","null"],"description":"The batch ID of the workflow run. If that workflow run was created from a batch of files, all runs in that batch will have the same batch ID.\n\nExample: `\"batch_7Ws31-F5\"`\n"},"rejectionNote":{"type":["string","null"],"description":"The note that was added when the workflow run was rejected.\n\nExample: `\"Invalid invoice format\"`\n"},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"},"usage":{"oneOf":[{"$ref":"#/components/schemas/RunUsageSummary"},{"type":"null"}],"description":"Usage credits consumed by this workflow run. Omits `breakdown` — fetch the full workflow run by id to see the per-line items for every contributing child run.\n\n**Availability:** Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.\n"}},"required":["object","id","status","workflow","workflowVersion","dashboardUrl","reviewedByUser","reviewedAt","initialRunAt","startTime","endTime","batchId","rejectionNote","createdAt","updatedAt","usage"],"title":"WorkflowRunSummary"},"workflowRuns_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WorkflowRunsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowRunSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"workflowRuns_list_Response_200"},"TriggerStepDefinitionType":{"type":"string","enum":["TRIGGER"],"title":"TriggerStepDefinitionType"},"SimpleNextEntry":{"type":"object","properties":{"step":{"type":"string","description":"The name of the target step."}},"required":["step"],"description":"A next entry for non-branching steps. Routes to the target step unconditionally.","title":"SimpleNextEntry"},"TriggerStepDefinition":{"type":"object","properties":{"name":{"type":"string","description":"Unique name for this step."},"type":{"$ref":"#/components/schemas/TriggerStepDefinitionType"},"next":{"type":"array","items":{"$ref":"#/components/schemas/SimpleNextEntry"},"description":"Must contain exactly one downstream step, and that step should be the workflow's `PARSE` step."}},"required":["name","type"],"description":"The entry point of the workflow. Every workflow must have exactly one trigger step, and it must route to exactly one `PARSE` step.\n\nSee the [Trigger step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#trigger).\n","title":"TriggerStepDefinition"},"ParseStepDefinitionType":{"type":"string","enum":["PARSE"],"title":"ParseStepDefinitionType"},"ParseStepDefinitionConfig":{"type":"object","properties":{"parseConfig":{"$ref":"#/components/schemas/ParseConfig"}},"title":"ParseStepDefinitionConfig"},"ParseStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/ParseStepDefinitionType"},"config":{"$ref":"#/components/schemas/ParseStepDefinitionConfig"},"next":{"type":"array","items":{"$ref":"#/components/schemas/SimpleNextEntry"}}},"required":["name","type"],"description":"Parses file content (OCR, text extraction). Every workflow should have exactly one parse step immediately after the trigger.\n\nSee the [Parse step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#parse).\n","title":"ParseStepDefinition"},"ExtractStepDefinitionType":{"type":"string","enum":["EXTRACT"],"title":"ExtractStepDefinitionType"},"ExtractorRef":{"type":"object","properties":{"id":{"type":"string","description":"The extractor ID."},"version":{"type":"string","description":"The extractor version to use: `\"latest\"` (most recent published version), `\"draft\"`, or a specific semver string (e.g. `\"1.0\"`).\n"}},"required":["id","version"],"description":"A reference to an extractor.","title":"ExtractorRef"},"ExtractStepDefinitionConfig":{"type":"object","properties":{"extractor":{"$ref":"#/components/schemas/ExtractorRef"}},"required":["extractor"],"description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n","title":"ExtractStepDefinitionConfig"},"ExtractStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/ExtractStepDefinitionType"},"config":{"$ref":"#/components/schemas/ExtractStepDefinitionConfig","description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n"},"next":{"type":"array","items":{"$ref":"#/components/schemas/SimpleNextEntry"},"description":"Can only be set when `config` is present."}},"required":["name","type"],"description":"Extracts structured data from parsed content using an extractor.\n\nThe extractor reference must include an explicit `version`. Valid values are `\"latest\"`, `\"draft\"`, or a specific semver string (e.g. `\"1.0\"`).\n\nSee the [Extract step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#extract).\n","title":"ExtractStepDefinition"},"ClassifyStepDefinitionType":{"type":"string","enum":["CLASSIFY"],"title":"ClassifyStepDefinitionType"},"ClassifierRef":{"type":"object","properties":{"id":{"type":"string","description":"The classifier ID."},"version":{"type":"string","description":"The classifier version to use: `\"draft\"` or a specific semver string (e.g. `\"0.1\"`). `\"latest\"` is not allowed because classification IDs used for routing are tied to a specific version's config.\n"}},"required":["id","version"],"description":"A reference to a classifier.","title":"ClassifierRef"},"ClassifyStepDefinitionConfig":{"type":"object","properties":{"classifier":{"$ref":"#/components/schemas/ClassifierRef"}},"required":["classifier"],"description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n\nReference to the classifier used by this step. The `next[].classificationId` values must match classification `id` values (not `type` strings) from the referenced classifier's configuration. For example, if the classifier defines `{ \"id\": \"cls_invoice\", \"type\": \"invoice\" }`, use `\"cls_invoice\"` as the `classificationId`.\n\nThe classifier `version` is required and must be a pinned version (semver like `\"0.1\"` or `\"draft\"`). `\"latest\"` is not allowed.\n\nSee the [Classify step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#classify).\n","title":"ClassifyStepDefinitionConfig"},"ClassificationNextEntry":{"type":"object","properties":{"step":{"type":"string","description":"The name of the target step."},"classificationId":{"type":"string","description":"Must match a classification `id` from the referenced classifier's or splitter's configuration (e.g. `\"cls_invoice\"`). Classification IDs are stable across renames — if a classification type is renamed, the ID stays the same and routing continues to work.\n"}},"required":["step","classificationId"],"description":"A next entry for `CLASSIFY` and `SPLIT` steps. Routes based on the classification result.\n\nSee the [Configuring Workflows via API guide](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows) for end-to-end examples.\n","title":"ClassificationNextEntry"},"ClassifyStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/ClassifyStepDefinitionType"},"config":{"$ref":"#/components/schemas/ClassifyStepDefinitionConfig","description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n\nReference to the classifier used by this step. The `next[].classificationId` values must match classification `id` values (not `type` strings) from the referenced classifier's configuration. For example, if the classifier defines `{ \"id\": \"cls_invoice\", \"type\": \"invoice\" }`, use `\"cls_invoice\"` as the `classificationId`.\n\nThe classifier `version` is required and must be a pinned version (semver like `\"0.1\"` or `\"draft\"`). `\"latest\"` is not allowed.\n\nSee the [Classify step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#classify).\n"},"next":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationNextEntry"},"description":"Can only be set when `config` is present. Each entry must include a `classificationId` matching a classification `id` from the referenced classifier's configuration. Use the classification's stable `id` (e.g. `\"cls_invoice\"`), not the `type` string.\n\nSee the [Classify step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#classify).\n"}},"required":["name","type"],"description":"Classifies documents using a classifier. Routes to different next steps based on classification result.\n\nThe classifier reference must include a pinned `version` — `\"latest\"` is not supported for `CLASSIFY` steps. Use a specific semver string (e.g. `\"0.1\"`) or `\"draft\"`. This is because classification IDs used for routing are tied to a specific processor version's config.\n\nSee the [Classify step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#classify).\n","title":"ClassifyStepDefinition"},"SplitStepDefinitionType":{"type":"string","enum":["SPLIT"],"title":"SplitStepDefinitionType"},"SplitterRef":{"type":"object","properties":{"id":{"type":"string","description":"The splitter ID."},"version":{"type":"string","description":"The splitter version to use: `\"draft\"` or a specific semver string (e.g. `\"0.1\"`). `\"latest\"` is not allowed because classification IDs used for routing are tied to a specific version's config.\n"}},"required":["id","version"],"description":"A reference to a splitter.","title":"SplitterRef"},"SplitStepDefinitionConfig":{"type":"object","properties":{"splitter":{"$ref":"#/components/schemas/SplitterRef"}},"required":["splitter"],"description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n\nReference to the splitter used by this step. The `next[].classificationId` values must match split classification `id` values (not `type` strings) from the referenced splitter's configuration. For example, if the splitter defines `{ \"id\": \"cls_receipt\", \"type\": \"receipt\" }`, use `\"cls_receipt\"` as the `classificationId`.\n\nThe splitter `version` is required and must be a pinned version (semver like `\"0.1\"` or `\"draft\"`). `\"latest\"` is not allowed.\n\nSee the [Split step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#split).\n","title":"SplitStepDefinitionConfig"},"SplitStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/SplitStepDefinitionType"},"config":{"$ref":"#/components/schemas/SplitStepDefinitionConfig","description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n\nReference to the splitter used by this step. The `next[].classificationId` values must match split classification `id` values (not `type` strings) from the referenced splitter's configuration. For example, if the splitter defines `{ \"id\": \"cls_receipt\", \"type\": \"receipt\" }`, use `\"cls_receipt\"` as the `classificationId`.\n\nThe splitter `version` is required and must be a pinned version (semver like `\"0.1\"` or `\"draft\"`). `\"latest\"` is not allowed.\n\nSee the [Split step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#split).\n"},"next":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationNextEntry"},"description":"Can only be set when `config` is present. Each entry must include a `classificationId` matching a split classification `id` from the referenced splitter's configuration. Use the classification's stable `id` (e.g. `\"cls_receipt\"`), not the `type` string.\n\nSee the [Split step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#split).\n"}},"required":["name","type"],"description":"Splits a multi-document file into individual documents using a splitter. Routes to different next steps based on split type.\n\nThe splitter reference must include a pinned `version` — `\"latest\"` is not supported for `SPLIT` steps. Use a specific semver string (e.g. `\"0.1\"`) or `\"draft\"`. This is because classification IDs used for routing are tied to a specific processor version's config.\n\nSee the [Split step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#split).\n","title":"SplitStepDefinition"},"MergeExtractStepDefinitionType":{"type":"string","enum":["MERGE_EXTRACT"],"title":"MergeExtractStepDefinitionType"},"MergeExtractStepDefinitionConfigMergeOrder":{"type":"string","enum":["confidence","alphabetic","first_to_execute","last_to_execute"],"description":"How to order fields when merging. Defaults to confidence.\n\nSee the [Merge Extract step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#merge-extract).\n","title":"MergeExtractStepDefinitionConfigMergeOrder"},"MergeExtractStepDefinitionConfig":{"type":"object","properties":{"mergeOrder":{"$ref":"#/components/schemas/MergeExtractStepDefinitionConfigMergeOrder","description":"How to order fields when merging. Defaults to confidence.\n\nSee the [Merge Extract step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#merge-extract).\n"}},"title":"MergeExtractStepDefinitionConfig"},"MergeExtractStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/MergeExtractStepDefinitionType"},"config":{"$ref":"#/components/schemas/MergeExtractStepDefinitionConfig"},"next":{"type":"array","items":{"$ref":"#/components/schemas/SimpleNextEntry"}}},"required":["name","type"],"description":"Merges extraction outputs from multiple upstream extract steps.\n\nSee the [Merge Extract step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#merge-extract).\n","title":"MergeExtractStepDefinition"},"ConditionalStepDefinitionType":{"type":"string","enum":["CONDITIONAL"],"title":"ConditionalStepDefinitionType"},"ConditionalStepDefinitionConfigConditionsItemsType":{"type":"string","enum":["IF","ELSE_IF","ELSE"],"title":"ConditionalStepDefinitionConfigConditionsItemsType"},"ConditionalStepDefinitionConfigConditionsItemsOperation":{"type":"string","enum":["EQUALS","GTE","LTE","IS_NULL","CONTAINS","NO_OP"],"description":"The comparison operation for this branch.\n\nSee the [Conditional step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#conditional).\n","title":"ConditionalStepDefinitionConfigConditionsItemsOperation"},"ConditionalStepDefinitionConfigConditionsItems":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID for this condition branch."},"type":{"$ref":"#/components/schemas/ConditionalStepDefinitionConfigConditionsItemsType"},"operation":{"$ref":"#/components/schemas/ConditionalStepDefinitionConfigConditionsItemsOperation","description":"The comparison operation for this branch.\n\nSee the [Conditional step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#conditional).\n"},"leftOperand":{"type":"string","description":"The left operand expression. This is typically a workflow variable or dynamic expression.\n\nSee the [Conditional step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#conditional).\n"},"rightOperand":{"type":"string","description":"The right operand value. This is typically a literal comparison value and is omitted for fallback branches like `ELSE`.\n\nSee the [Conditional step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#conditional).\n"}},"required":["id","type"],"title":"ConditionalStepDefinitionConfigConditionsItems"},"ConditionalStepDefinitionConfig":{"type":"object","properties":{"conditions":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalStepDefinitionConfigConditionsItems"},"description":"Ordered conditional branches for this step. Use `IF` for the first branch, `ELSE_IF` for additional branches, and `ELSE` for the fallback branch.\n\nSee the [Conditional step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#conditional).\n"}},"required":["conditions"],"title":"ConditionalStepDefinitionConfig"},"ConditionalNextEntry":{"type":"object","properties":{"step":{"type":"string","description":"The name of the target step."},"conditionId":{"type":"string","description":"Must match one of the `config.conditions[].id` values on the conditional step.\n"}},"required":["step","conditionId"],"description":"A next entry for `CONDITIONAL` steps. Routes based on which condition branch matched.\n\nSee the [Configuring Workflows via API guide](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows) for end-to-end examples.\n","title":"ConditionalNextEntry"},"ConditionalStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/ConditionalStepDefinitionType"},"config":{"$ref":"#/components/schemas/ConditionalStepDefinitionConfig"},"next":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalNextEntry"},"description":"Each entry should include a `conditionId` matching a `config.conditions[].id` value.\n\nSee the [Conditional step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#conditional).\n"}},"required":["name","type","config"],"description":"Routes to different next steps based on ordered conditional branches evaluated against upstream step outputs.\n\nSee the [Conditional step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#conditional).\n","title":"ConditionalStepDefinition"},"ConditionalExtractStepDefinitionType":{"type":"string","enum":["CONDITIONAL_EXTRACT"],"title":"ConditionalExtractStepDefinitionType"},"ConditionalExtractStepDefinitionConfigRulesItems":{"type":"object","properties":{"name":{"type":"string"},"formula":{"type":"string","description":"The formula that determines when this extractor runs.\n\nSee the [Conditional Extract step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#conditional-extract) and [Formulas](https://docs.extend.ai/2026-02-09/workflows/formulas).\n"},"extractor":{"$ref":"#/components/schemas/ExtractorRef"}},"required":["formula","extractor"],"title":"ConditionalExtractStepDefinitionConfigRulesItems"},"ConditionalExtractStepDefinitionConfig":{"type":"object","properties":{"rules":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalExtractStepDefinitionConfigRulesItems"},"description":"Formula-based extractor rules for this step. Each rule pairs a formula with an extractor reference. The last rule must have `formula: \"TRUE\"` as a default catch-all.\n\nSee the [Conditional Extract step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#conditional-extract).\n"}},"required":["rules"],"description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n","title":"ConditionalExtractStepDefinitionConfig"},"ConditionalExtractStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/ConditionalExtractStepDefinitionType"},"config":{"$ref":"#/components/schemas/ConditionalExtractStepDefinitionConfig","description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n"},"next":{"type":"array","items":{"$ref":"#/components/schemas/SimpleNextEntry"},"description":"Can only be set when `config` is present."}},"required":["name","type"],"description":"Runs extractors based on formula conditions.\n\nEach extractor reference must include an explicit `version`. Valid values are `\"latest\"`, `\"draft\"`, or a specific semver string (e.g. `\"1.0\"`).\n\nSee the [Conditional Extract step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#conditional-extract).\n","title":"ConditionalExtractStepDefinition"},"ExternalDataValidationStepDefinitionType":{"type":"string","enum":["EXTERNAL_DATA_VALIDATION"],"title":"ExternalDataValidationStepDefinitionType"},"ExternalDataValidationStepDefinitionConfigRequestOptionsMethod":{"type":"string","enum":["GET","POST","PUT"],"title":"ExternalDataValidationStepDefinitionConfigRequestOptionsMethod"},"ExternalDataValidationStepDefinitionConfigRequestOptionsContentType":{"type":"string","enum":["application/json","text/plain"],"description":"Content type of the request body sent to the external endpoint.\n\nSee the [External Data Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#external-data-validation).\n","title":"ExternalDataValidationStepDefinitionConfigRequestOptionsContentType"},"ExternalDataValidationStepDefinitionConfigRequestOptions":{"type":"object","properties":{"url":{"type":"string","description":"The URL to send the validation request to."},"method":{"$ref":"#/components/schemas/ExternalDataValidationStepDefinitionConfigRequestOptionsMethod"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional HTTP headers to include on the external validation request.\n\nSee the [External Data Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#external-data-validation).\n"},"contentType":{"$ref":"#/components/schemas/ExternalDataValidationStepDefinitionConfigRequestOptionsContentType","description":"Content type of the request body sent to the external endpoint.\n\nSee the [External Data Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#external-data-validation).\n"}},"required":["url","method"],"description":"HTTP request configuration for the external validation call.\n\nSee the [External Data Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#external-data-validation).\n","title":"ExternalDataValidationStepDefinitionConfigRequestOptions"},"ExternalDataValidationStepDefinitionConfigFailureBehavior":{"type":"string","enum":["CONTINUE","EXIT"],"description":"Whether to continue or exit the workflow on validation failure. Defaults to `CONTINUE`.\n\nSee the [External Data Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#external-data-validation).\n","title":"ExternalDataValidationStepDefinitionConfigFailureBehavior"},"ExternalDataValidationStepDefinitionConfig":{"type":"object","properties":{"requestOptions":{"$ref":"#/components/schemas/ExternalDataValidationStepDefinitionConfigRequestOptions","description":"HTTP request configuration for the external validation call.\n\nSee the [External Data Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#external-data-validation).\n"},"failureBehavior":{"$ref":"#/components/schemas/ExternalDataValidationStepDefinitionConfigFailureBehavior","description":"Whether to continue or exit the workflow on validation failure. Defaults to `CONTINUE`.\n\nSee the [External Data Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#external-data-validation).\n"}},"required":["requestOptions"],"description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n","title":"ExternalDataValidationStepDefinitionConfig"},"ExternalDataValidationStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/ExternalDataValidationStepDefinitionType"},"config":{"$ref":"#/components/schemas/ExternalDataValidationStepDefinitionConfig","description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n"},"next":{"type":"array","items":{"$ref":"#/components/schemas/SimpleNextEntry"},"description":"Can only be set when `config` is present."}},"required":["name","type"],"description":"Sends extraction data to an external HTTP endpoint for validation.\n\nSee the [External Data Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#external-data-validation).\n","title":"ExternalDataValidationStepDefinition"},"WebhookResponseStepDefinitionType":{"type":"string","enum":["WEBHOOK_RESPONSE"],"title":"WebhookResponseStepDefinitionType"},"WebhookResponseStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/WebhookResponseStepDefinitionType"}},"required":["name","type"],"description":"A terminal step that triggers webhook delivery of the workflow results.\n\nSee the [Webhook Response step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#webhook-response).\n","title":"WebhookResponseStepDefinition"},"RuleValidationStepDefinitionType":{"type":"string","enum":["RULE_VALIDATION"],"title":"RuleValidationStepDefinitionType"},"RuleValidationStepDefinitionConfigRulesItems":{"type":"object","properties":{"name":{"type":"string"},"formula":{"type":"string","description":"Boolean formula used to validate the workflow data for this rule.\n\nSee the [Rule Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#rule-validation) and [Formulas](https://docs.extend.ai/2026-02-09/workflows/formulas).\n"},"description":{"type":"string"}},"required":["name","formula"],"title":"RuleValidationStepDefinitionConfigRulesItems"},"RuleValidationStepDefinitionConfig":{"type":"object","properties":{"rules":{"type":"array","items":{"$ref":"#/components/schemas/RuleValidationStepDefinitionConfigRulesItems"},"description":"Validation rules for this step. Each rule defines a name and a boolean formula.\n\nSee the [Rule Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#rule-validation).\n"}},"required":["rules"],"description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n","title":"RuleValidationStepDefinitionConfig"},"RuleValidationNextEntryResult":{"type":"string","enum":["pass","fail"],"description":"Routes based on whether all validation rules passed.\n","title":"RuleValidationNextEntryResult"},"RuleValidationNextEntry":{"type":"object","properties":{"step":{"type":"string","description":"The name of the target step."},"result":{"$ref":"#/components/schemas/RuleValidationNextEntryResult","description":"Routes based on whether all validation rules passed.\n"}},"required":["step","result"],"description":"A next entry for `RULE_VALIDATION` steps. Routes based on whether all validation rules passed.\n\nSee the [Configuring Workflows via API guide](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows) for end-to-end examples.\n","title":"RuleValidationNextEntry"},"RuleValidationStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/RuleValidationStepDefinitionType"},"config":{"$ref":"#/components/schemas/RuleValidationStepDefinitionConfig","description":"Optional on create/update. Required before the workflow can be deployed. Omitted in responses when the step is not yet configured.\n"},"next":{"type":"array","items":{"$ref":"#/components/schemas/RuleValidationNextEntry"},"description":"Can only be set when `config` is present. Each entry must include a `result` of `\"pass\"` or `\"fail\"` to route based on whether all validation rules passed.\n\nSee the [Rule Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#rule-validation).\n"}},"required":["name","type"],"description":"Validates extraction outputs against formula-based rules. Routes to pass/fail next steps.\n\nSee the [Rule Validation step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#rule-validation).\n","title":"RuleValidationStepDefinition"},"HumanReviewStepDefinitionType":{"type":"string","enum":["HUMAN_REVIEW"],"title":"HumanReviewStepDefinitionType"},"HumanReviewStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/HumanReviewStepDefinitionType"},"next":{"type":"array","items":{"$ref":"#/components/schemas/SimpleNextEntry"}}},"required":["name","type"],"description":"Pauses the workflow for human review in the dashboard.\n\nSee the [Human Review step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#human-review).\n","title":"HumanReviewStepDefinition"},"CollectStepDefinitionType":{"type":"string","enum":["COLLECT"],"title":"CollectStepDefinitionType"},"CollectStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/CollectStepDefinitionType"},"next":{"type":"array","items":{"$ref":"#/components/schemas/SimpleNextEntry"}}},"required":["name","type"],"description":"Collects outputs from multiple upstream branches before continuing.\n\nSee the [Collect step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#collect).\n","title":"CollectStepDefinition"},"FileConversionStepDefinitionType":{"type":"string","enum":["FILE_CONVERSION"],"title":"FileConversionStepDefinitionType"},"FileConversionStepDefinitionConfigFailureBehavior":{"type":"string","enum":["CONTINUE","EXIT"],"description":"Whether to continue or exit the workflow if file conversion fails. Defaults to `EXIT`.\n\nSee the [File Conversion step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#file-conversion).\n","title":"FileConversionStepDefinitionConfigFailureBehavior"},"FileConversionStepDefinitionConfig":{"type":"object","properties":{"failureBehavior":{"$ref":"#/components/schemas/FileConversionStepDefinitionConfigFailureBehavior","description":"Whether to continue or exit the workflow if file conversion fails. Defaults to `EXIT`.\n\nSee the [File Conversion step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#file-conversion).\n"}},"title":"FileConversionStepDefinitionConfig"},"FileConversionStepDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/FileConversionStepDefinitionType"},"config":{"$ref":"#/components/schemas/FileConversionStepDefinitionConfig"},"next":{"type":"array","items":{"$ref":"#/components/schemas/SimpleNextEntry"}}},"required":["name","type"],"description":"Converts files to a different format.\n\nSee the [File Conversion step docs](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows#file-conversion).\n","title":"FileConversionStepDefinition"},"WorkflowStepDefinition":{"oneOf":[{"$ref":"#/components/schemas/TriggerStepDefinition"},{"$ref":"#/components/schemas/ParseStepDefinition"},{"$ref":"#/components/schemas/ExtractStepDefinition"},{"$ref":"#/components/schemas/ClassifyStepDefinition"},{"$ref":"#/components/schemas/SplitStepDefinition"},{"$ref":"#/components/schemas/MergeExtractStepDefinition"},{"$ref":"#/components/schemas/ConditionalStepDefinition"},{"$ref":"#/components/schemas/ConditionalExtractStepDefinition"},{"$ref":"#/components/schemas/ExternalDataValidationStepDefinition"},{"$ref":"#/components/schemas/WebhookResponseStepDefinition"},{"$ref":"#/components/schemas/RuleValidationStepDefinition"},{"$ref":"#/components/schemas/HumanReviewStepDefinition"},{"$ref":"#/components/schemas/CollectStepDefinition"},{"$ref":"#/components/schemas/FileConversionStepDefinition"}],"description":"A workflow step definition used when creating, updating, deploying, and retrieving workflow versions.\n\nSee the [Configuring Workflows via API guide](https://docs.extend.ai/2026-02-09/workflows/configuring-workflows) for routing patterns and examples.\n","title":"WorkflowStepDefinition"},"WorkflowObject":{"type":"string","enum":["workflow"],"description":"The type of object. Always `\"workflow\"`.","title":"WorkflowObject"},"WorkflowVersionObject":{"type":"string","enum":["workflow_version"],"description":"The type of object. Always `\"workflow_version\"`.","title":"WorkflowVersionObject"},"WorkflowVersion":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WorkflowVersionObject","description":"The type of object. Always `\"workflow_version\"`."},"id":{"type":"string","description":"The ID of the workflow version."},"version":{"type":"string","description":"The version number as a string, or `\"draft\"` for the draft version.\n"},"name":{"type":["string","null"],"description":"The name of the workflow version."},"steps":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowStepDefinition"},"description":"The step definitions for this version."},"createdAt":{"$ref":"#/components/schemas/CreatedAt"}},"required":["object","id","version","name","steps","createdAt"],"description":"A workflow version with its step definitions.","title":"WorkflowVersion"},"Workflow":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WorkflowObject","description":"The type of object. Always `\"workflow\"`."},"id":{"type":"string","description":"The ID of the workflow."},"name":{"type":"string","description":"The name of the workflow."},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"},"draftVersion":{"$ref":"#/components/schemas/WorkflowVersion"}},"required":["object","id","name","createdAt","updatedAt","draftVersion"],"description":"A workflow with its draft version and steps.","title":"Workflow"},"WorkflowsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"WorkflowsGetResponsesContentApplicationJsonSchemaObject"},"workflows_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WorkflowsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"workflows_list_Response_200"},"WorkflowsIdVersionsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"WorkflowsIdVersionsGetResponsesContentApplicationJsonSchemaObject"},"workflowVersions_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WorkflowsIdVersionsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowVersionSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"workflowVersions_list_Response_200"},"EvaluationSetObject":{"type":"string","enum":["evaluation_set"],"description":"The type of object. In this case, it will always be `\"evaluation_set\"`.\n","title":"EvaluationSetObject"},"EvaluationSetEntity":{"oneOf":[{"$ref":"#/components/schemas/ExtractorSummary"},{"$ref":"#/components/schemas/ClassifierSummary"},{"$ref":"#/components/schemas/SplitterSummary"}],"description":"The extractor, classifier, or splitter associated with this evaluation set.","title":"EvaluationSetEntity"},"EvaluationSet":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/EvaluationSetObject","description":"The type of object. In this case, it will always be `\"evaluation_set\"`.\n"},"id":{"type":"string","description":"The ID of the evaluation set.\n\nExample: `\"ev_2LcgeY_mp2T5yPaEuq5Lw\"`\n"},"name":{"type":"string","description":"The name of the evaluation set.\n\nExample: `\"Invoice Processing Test Set\"`\n"},"description":{"type":"string","description":"A description of the evaluation set.\n\nExample: `\"Q4 2023 vendor invoices for accuracy testing\"`\n"},"entity":{"$ref":"#/components/schemas/EvaluationSetEntity","description":"The extractor, classifier, or splitter associated with this evaluation set."},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","name","description","entity","createdAt","updatedAt"],"title":"EvaluationSet"},"EvaluationSetsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"EvaluationSetsGetResponsesContentApplicationJsonSchemaObject"},"evaluationSets_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/EvaluationSetsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/EvaluationSet"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"evaluationSets_list_Response_200"},"EvaluationSetsEvaluationSetIdItemsPostRequestBodyContentApplicationJsonSchemaItemsItems":{"type":"object","properties":{"fileId":{"type":"string","description":"Extend's internal ID for the file. It will always start with \"file_\".\n\nExample: `\"file_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"expectedOutput":{"$ref":"#/components/schemas/ProvidedProcessorOutput","description":"The expected output that will be compared to the actual output of the extractor, classifier, or splitter when run against the file."}},"required":["fileId","expectedOutput"],"title":"EvaluationSetsEvaluationSetIdItemsPostRequestBodyContentApplicationJsonSchemaItemsItems"},"EvaluationSetItemObject":{"type":"string","enum":["evaluation_set_item"],"description":"The type of object. In this case, it will always be `\"evaluation_set_item\"`.\n","title":"EvaluationSetItemObject"},"EvaluationSetItem":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/EvaluationSetItemObject","description":"The type of object. In this case, it will always be `\"evaluation_set_item\"`.\n"},"id":{"type":"string","description":"The ID of the evaluation set item.\n\nExample: `\"evi_kR9mNP12Qw4yTv8BdR3H\"`\n"},"evaluationSetId":{"type":"string","description":"The ID of the evaluation set that this item belongs to.\n\nExample: `\"ev_2LcgeY_mp2T5yPaEuq5Lw\"`\n"},"file":{"$ref":"#/components/schemas/FileSummary","description":"A summary of the file associated with the evaluation set item."},"expectedOutput":{"$ref":"#/components/schemas/ProvidedProcessorOutput","description":"The expected output that will be used to evaluate the performance of the extractor, classifier, or splitter associated with the evaluation set. This must conform to the output schema of the entity associated with the evaluation set."}},"required":["object","id","evaluationSetId","file","expectedOutput"],"title":"EvaluationSetItem"},"evaluationSetItems_create_Response_200":{"type":"object","properties":{"evaluationSetItems":{"type":"array","items":{"$ref":"#/components/schemas/EvaluationSetItem"}}},"required":["evaluationSetItems"],"title":"evaluationSetItems_create_Response_200"},"evaluationSetItems_delete_Response_200":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the deleted evaluation set item."}},"required":["id"],"title":"evaluationSetItems_delete_Response_200"},"EvaluationSetsEvaluationSetIdItemsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"EvaluationSetsEvaluationSetIdItemsGetResponsesContentApplicationJsonSchemaObject"},"EvaluationSetItemSummaryObject":{"type":"string","enum":["evaluation_set_item"],"description":"The type of object. In this case, it will always be `\"evaluation_set_item\"`.\n","title":"EvaluationSetItemSummaryObject"},"EvaluationSetItemSummary":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/EvaluationSetItemSummaryObject","description":"The type of object. In this case, it will always be `\"evaluation_set_item\"`.\n"},"id":{"type":"string","description":"The ID of the evaluation set item.\n\nExample: `\"evi_kR9mNP12Qw4yTv8BdR3H\"`\n"},"file":{"$ref":"#/components/schemas/FileSummary","description":"A summary of the file associated with the evaluation set item."}},"required":["object","id","file"],"title":"EvaluationSetItemSummary"},"evaluationSetItems_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/EvaluationSetsEvaluationSetIdItemsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/EvaluationSetItemSummary"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"evaluationSetItems_list_Response_200"},"EvaluationSetRunsPostRequestBodyContentApplicationJsonSchemaEntity":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the extractor, classifier, or splitter to evaluate."},"version":{"$ref":"#/components/schemas/ProcessorVersionString","default":"latest"}},"required":["id"],"description":"Optional processor and version to run against the evaluation set. If omitted, the evaluation set's processor is run at its draft version.\n","title":"EvaluationSetRunsPostRequestBodyContentApplicationJsonSchemaEntity"},"EvaluationSetRunObject":{"type":"string","enum":["evaluation_set_run"],"description":"The type of object. In this case, it will always be `\"evaluation_set_run\"`.\n","title":"EvaluationSetRunObject"},"EvaluationSetRunEntity":{"oneOf":[{"$ref":"#/components/schemas/ExtractorSummary"},{"$ref":"#/components/schemas/ClassifierSummary"},{"$ref":"#/components/schemas/SplitterSummary"}],"description":"The extractor, classifier, or splitter that was run.","title":"EvaluationSetRunEntity"},"EvaluationSetRunEntityVersion":{"oneOf":[{"$ref":"#/components/schemas/ExtractorVersionSummary"},{"$ref":"#/components/schemas/ClassifierVersionSummary"},{"$ref":"#/components/schemas/SplitterVersionSummary"}],"description":"The version of the extractor, classifier, or splitter that was run.","title":"EvaluationSetRunEntityVersion"},"EvaluationSetRunMetrics":{"type":"object","properties":{"numFiles":{"type":"number","format":"double","description":"The total number of files processed in this evaluation set run"},"numPages":{"type":"number","format":"double","description":"The total number of pages processed in this evaluation set run"}},"title":"EvaluationSetRunMetrics"},"BatchRunStatus":{"type":"string","enum":["PENDING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of a batch run:\n* `\"PENDING\"` - The batch has been created and is waiting to be processed\n* `\"PROCESSING\"` - The batch is currently being processed\n* `\"PROCESSED\"` - All runs in the batch have completed successfully\n* `\"FAILED\"` - The batch failed to process\n* `\"CANCELLED\"` - The batch was cancelled\n","title":"BatchRunStatus"},"EvaluationSetRunOptions":{"type":"object","properties":{"fuzzyMatchFields":{"type":"array","items":{"type":"string"},"description":"The fields that were fuzzy matched."},"excludeFields":{"type":"array","items":{"type":"string"},"description":"The fields that were excluded from the run."}},"description":"The options for the evaluation set run.","title":"EvaluationSetRunOptions"},"EvaluationSetRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/EvaluationSetRunObject","description":"The type of object. In this case, it will always be `\"evaluation_set_run\"`.\n"},"id":{"type":"string","description":"The unique identifier for this evaluation set run.\n\nExample: `\"bpr_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"evaluationSetId":{"type":"string","description":"The ID of the evaluation set that was run.\n\nExample: `\"ev_2LcgeY_mp2T5yPaEuq5Lw\"`\n"},"entity":{"$ref":"#/components/schemas/EvaluationSetRunEntity","description":"The extractor, classifier, or splitter that was run."},"entityVersion":{"$ref":"#/components/schemas/EvaluationSetRunEntityVersion","description":"The version of the extractor, classifier, or splitter that was run."},"metrics":{"$ref":"#/components/schemas/EvaluationSetRunMetrics"},"status":{"$ref":"#/components/schemas/BatchRunStatus"},"options":{"$ref":"#/components/schemas/EvaluationSetRunOptions","description":"The options for the evaluation set run."},"createdAt":{"$ref":"#/components/schemas/CreatedAt"},"updatedAt":{"$ref":"#/components/schemas/UpdatedAt"}},"required":["object","id","evaluationSetId","entity","entityVersion","metrics","status","options","createdAt","updatedAt"],"title":"EvaluationSetRun"},"WebhookEndpointStatus":{"type":"string","enum":["enabled","disabled"],"description":"The status of the webhook endpoint.","title":"WebhookEndpointStatus"},"WebhookEndpointEventType":{"type":"string","enum":["parse_run.processed","parse_run.failed","edit_run.processed","edit_run.failed","extract_run.processed","extract_run.failed","classify_run.processed","classify_run.failed","split_run.processed","split_run.failed","batch_processor_run.processed","batch_processor_run.failed","batch_parse_run.processed","batch_parse_run.failed","extractor.created","extractor.updated","extractor.deleted","extractor.draft.updated","extractor.version.published","classifier.created","classifier.updated","classifier.deleted","classifier.draft.updated","classifier.version.published","splitter.created","splitter.updated","splitter.deleted","splitter.draft.updated","splitter.version.published","workflow.created","workflow.deployed","workflow.deleted"],"description":"Event types available for webhook endpoints at the global level. Includes run events and resource lifecycle events.\n","title":"WebhookEndpointEventType"},"ApiVersionEnum":{"type":"string","title":"ApiVersionEnum"},"WebhookPayloadFormat":{"type":"string","enum":["json","url"],"description":"The format used to deliver webhook payloads.\n\n- `json` — the full payload is sent inline in the webhook request body.\n- `url` — large payloads are replaced with a signed download URL.\n","title":"WebhookPayloadFormat"},"WebhookPayloadOptions":{"type":"object","properties":{"format":{"$ref":"#/components/schemas/WebhookPayloadFormat"},"urlThresholdBytes":{"type":"integer","description":"When `format` is `url`, payloads larger than this threshold (in bytes) are delivered as a signed download URL instead of inline JSON. Only applicable when `format` is `url`.\n"}},"required":["format"],"description":"Configuration for how webhook payloads are delivered.","title":"WebhookPayloadOptions"},"WebhookAdvancedOptions":{"type":"object","properties":{"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom HTTP headers to include in webhook requests."},"payload":{"$ref":"#/components/schemas/WebhookPayloadOptions"}},"description":"Advanced configuration options for the webhook endpoint, including custom headers and payload delivery settings.","title":"WebhookAdvancedOptions"},"WebhookEndpointCreateObject":{"type":"string","enum":["webhook_endpoint"],"title":"WebhookEndpointCreateObject"},"WebhookEndpointCreate":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WebhookEndpointCreateObject"},"id":{"type":"string","description":"Unique identifier for the webhook endpoint."},"url":{"type":"string","format":"uri","description":"The URL that webhook events are sent to."},"name":{"type":"string","description":"A human-readable name for the webhook endpoint."},"status":{"$ref":"#/components/schemas/WebhookEndpointStatus"},"enabledEvents":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpointEventType"},"description":"The list of event types this endpoint is subscribed to at the global level. These are events that are not scoped to a specific resource.\n"},"apiVersion":{"$ref":"#/components/schemas/ApiVersionEnum"},"advancedOptions":{"oneOf":[{"$ref":"#/components/schemas/WebhookAdvancedOptions"},{"type":"null"}],"description":"Advanced configuration options for the webhook endpoint, including custom headers and payload delivery settings."},"signingSecret":{"type":"string","description":"The signing secret used to verify webhook payloads. This is only returned when creating the endpoint and cannot be retrieved again.\n\nStore it securely — you will need it to verify webhook signatures.\n"},"createdAt":{"type":"string","format":"date-time","description":"The date and time the webhook endpoint was created."}},"required":["object","id","url","name","status","enabledEvents","apiVersion","advancedOptions","signingSecret","createdAt"],"description":"The response when creating a webhook endpoint. Includes the `signingSecret`, which is only returned on creation and cannot be retrieved again.\n","title":"WebhookEndpointCreate"},"WebhookEndpointsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"WebhookEndpointsGetResponsesContentApplicationJsonSchemaObject"},"WebhookEndpointObject":{"type":"string","enum":["webhook_endpoint"],"title":"WebhookEndpointObject"},"WebhookEndpoint":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WebhookEndpointObject"},"id":{"type":"string","description":"Unique identifier for the webhook endpoint."},"url":{"type":"string","format":"uri","description":"The URL that webhook events are sent to."},"name":{"type":"string","description":"A human-readable name for the webhook endpoint."},"status":{"$ref":"#/components/schemas/WebhookEndpointStatus"},"enabledEvents":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpointEventType"},"description":"The list of event types this endpoint is subscribed to at the global level. These are events that are not scoped to a specific resource.\n"},"apiVersion":{"$ref":"#/components/schemas/ApiVersionEnum"},"advancedOptions":{"oneOf":[{"$ref":"#/components/schemas/WebhookAdvancedOptions"},{"type":"null"}],"description":"Advanced configuration options for the webhook endpoint, including custom headers and payload delivery settings."},"createdAt":{"type":"string","format":"date-time","description":"The date and time the webhook endpoint was created."}},"required":["object","id","url","name","status","enabledEvents","apiVersion","advancedOptions","createdAt"],"title":"WebhookEndpoint"},"webhookEndpoints_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WebhookEndpointsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpoint"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"webhookEndpoints_list_Response_200"},"webhookEndpoints_delete_Response_200":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the deleted webhook endpoint."}},"required":["id"],"title":"webhookEndpoints_delete_Response_200"},"WebhookSubscriptionResourceType":{"type":"string","enum":["extractor","classifier","splitter","workflow"],"description":"The type of resource the webhook subscription is for.","title":"WebhookSubscriptionResourceType"},"WebhookSubscriptionEventType":{"type":"string","enum":["extract_run.processed","extract_run.failed","classify_run.processed","classify_run.failed","split_run.processed","split_run.failed","batch_processor_run.processed","batch_processor_run.failed","workflow_run.completed","workflow_run.failed","workflow_run.needs_review","workflow_run.rejected","workflow_run.cancelled","workflow_run.step_run.processed"],"description":"Event types available for resource-scoped webhook subscriptions. The valid subset depends on the `resourceType`:\n\n- **extractor**: `extract_run.processed`, `extract_run.failed`, `batch_processor_run.processed`, `batch_processor_run.failed`\n- **classifier**: `classify_run.processed`, `classify_run.failed`, `batch_processor_run.processed`, `batch_processor_run.failed`\n- **splitter**: `split_run.processed`, `split_run.failed`, `batch_processor_run.processed`, `batch_processor_run.failed`\n- **workflow**: `workflow_run.completed`, `workflow_run.failed`, `workflow_run.needs_review`, `workflow_run.rejected`, `workflow_run.cancelled`, `workflow_run.step_run.processed`\n","title":"WebhookSubscriptionEventType"},"WebhookSubscriptionObject":{"type":"string","enum":["webhook_subscription"],"title":"WebhookSubscriptionObject"},"WebhookSubscription":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WebhookSubscriptionObject"},"id":{"type":"string","description":"Unique identifier for the webhook subscription."},"webhookEndpointId":{"type":"string","description":"The ID of the webhook endpoint this subscription belongs to."},"resourceType":{"$ref":"#/components/schemas/WebhookSubscriptionResourceType"},"resourceId":{"type":"string","description":"The ID of the resource this subscription is scoped to (e.g., an extractor, classifier, splitter, or workflow).\n"},"enabledEvents":{"type":"array","items":{"$ref":"#/components/schemas/WebhookSubscriptionEventType"},"description":"The list of event types this subscription is subscribed to. The valid event types depend on the `resourceType`.\n"},"createdAt":{"type":"string","format":"date-time","description":"The date and time the webhook subscription was created."}},"required":["object","id","webhookEndpointId","resourceType","resourceId","enabledEvents","createdAt"],"title":"WebhookSubscription"},"WebhookSubscriptionsGetResponsesContentApplicationJsonSchemaObject":{"type":"string","enum":["list"],"title":"WebhookSubscriptionsGetResponsesContentApplicationJsonSchemaObject"},"webhookSubscriptions_list_Response_200":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/WebhookSubscriptionsGetResponsesContentApplicationJsonSchemaObject"},"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookSubscription"}},"nextPageToken":{"$ref":"#/components/schemas/NextPageToken"}},"required":["object","data"],"title":"webhookSubscriptions_list_Response_200"},"webhookSubscriptions_delete_Response_200":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the deleted webhook subscription."}},"required":["id"],"title":"webhookSubscriptions_delete_Response_200"},"ParseRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"},{"$ref":"#/components/schemas/FileFromText"}],"description":"The file to parse. Can be a URL, an Extend file ID, or raw text.","title":"ParseRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile"},"ParseRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/ParseRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile","description":"The file to parse. Can be a URL, an Extend file ID, or raw text."},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"],"title":"ParseRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems"},"BatchRunObject":{"type":"string","enum":["batch_run"],"description":"The type of object. Always `\"batch_run\"`.","title":"BatchRunObject"},"BatchRun":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/BatchRunObject","description":"The type of object. Always `\"batch_run\"`."},"id":{"type":"string","description":"The unique identifier for this batch run.\n\nExample: `\"bpr_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"status":{"$ref":"#/components/schemas/BatchRunStatus"},"runCount":{"type":"integer","description":"The number of individual runs in this batch."},"createdAt":{"$ref":"#/components/schemas/CreatedAt"}},"required":["object","id","status","runCount","createdAt"],"description":"A batch run represents a batch of files submitted for processing via one of the batch endpoints (`POST /parse_runs/batch`, `POST /extract_runs/batch`, `POST /classify_runs/batch`, or `POST /split_runs/batch`). Use `GET /batch_runs/{id}` to poll the status.\n\n**Note:** This object is not used for workflow batch runs. See `POST /workflow_runs/batch` for workflow batching.\n","title":"BatchRun"},"ExtractRunsBatchPostRequestBodyContentApplicationJsonSchemaExtractor":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the extractor to use."},"version":{"$ref":"#/components/schemas/ProcessorVersionString","default":"latest"},"overrideConfig":{"$ref":"#/components/schemas/ExtractOverrideConfigJson","description":"Optional partial configuration override applied to every run in this batch. Only the fields you provide will override the extractor's saved configuration.\n"}},"required":["id"],"description":"Reference to the extractor to run against every input in this batch.","title":"ExtractRunsBatchPostRequestBodyContentApplicationJsonSchemaExtractor"},"ExtractRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"},{"$ref":"#/components/schemas/FileFromText"}],"description":"The file to extract from. Can be a URL, an Extend file ID, or raw text.","title":"ExtractRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile"},"ExtractRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/ExtractRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile","description":"The file to extract from. Can be a URL, an Extend file ID, or raw text."},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"],"title":"ExtractRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems"},"ClassifyRunsBatchPostRequestBodyContentApplicationJsonSchemaClassifier":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the classifier to use."},"version":{"$ref":"#/components/schemas/ProcessorVersionString","default":"latest"},"overrideConfig":{"$ref":"#/components/schemas/ClassifyOverrideConfig","description":"Optional partial configuration override applied to every run in this batch. Only the fields you provide will override the classifier's saved configuration.\n"}},"required":["id"],"description":"Reference to the classifier to run against every input in this batch.","title":"ClassifyRunsBatchPostRequestBodyContentApplicationJsonSchemaClassifier"},"ClassifyRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"},{"$ref":"#/components/schemas/FileFromText"}],"description":"The file to classify. Can be a URL, an Extend file ID, or raw text.","title":"ClassifyRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile"},"ClassifyRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/ClassifyRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile","description":"The file to classify. Can be a URL, an Extend file ID, or raw text."},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"],"title":"ClassifyRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems"},"SplitRunsBatchPostRequestBodyContentApplicationJsonSchemaSplitter":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the splitter to use."},"version":{"$ref":"#/components/schemas/ProcessorVersionString","default":"latest"},"overrideConfig":{"$ref":"#/components/schemas/SplitOverrideConfig","description":"Optional partial configuration override applied to every run in this batch. Only the fields you provide will override the splitter's saved configuration.\n"}},"required":["id"],"description":"Reference to the splitter to run against every input in this batch.","title":"SplitRunsBatchPostRequestBodyContentApplicationJsonSchemaSplitter"},"SplitRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile":{"oneOf":[{"$ref":"#/components/schemas/FileFromUrl"},{"$ref":"#/components/schemas/FileFromId"}],"description":"The file to split. Can be a URL or an Extend file ID. Raw text input is not supported.","title":"SplitRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile"},"SplitRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/SplitRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItemsFile","description":"The file to split. Can be a URL or an Extend file ID. Raw text input is not supported."},"metadata":{"$ref":"#/components/schemas/RunMetadata"}},"required":["file"],"title":"SplitRunsBatchPostRequestBodyContentApplicationJsonSchemaInputsItems"},"LegacyProcessorId":{"type":"string","description":"The ID of the processor to be run.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n","title":"LegacyProcessorId"},"LegacyProcessorRunFileInput":{"type":"object","properties":{"fileName":{"type":"string","description":"The name of the file to be processed. If not provided, the file name will be inferred from the URL. It is highly recommended to include this parameter for legibility."},"fileUrl":{"type":"string","description":"A URL where the file can be downloaded from. If you use presigned URLs, we recommend an expiration time of 5-15 minutes. One of a `fileUrl` or `fileId` must be provided."},"fileId":{"type":"string","description":"Extend's internal ID for the file. It will always start with `file_`. One of a `fileUrl` or `fileId` must be provided. You can view a file ID from the Extend UI, for instance from running a parser or from a previous file creation. If you provide a `fileId`, any parsed data will be reused.\n"}},"description":"Input file for running a single processor.","title":"LegacyProcessorRunFileInput"},"LegacyJsonObject":{"type":"object","additionalProperties":{"description":"Any type"},"description":"A flexible object that can hold any arbitrary JSON key-value structure.","title":"LegacyJsonObject"},"LegacyClassificationConfigType":{"type":"string","enum":["CLASSIFY"],"description":"The type of configuration. Must be `\"CLASSIFY\"` for classification processors.","title":"LegacyClassificationConfigType"},"LegacyClassificationConfigBaseProcessor":{"type":"string","enum":["classification_performance","classification_light"],"default":"classification_performance","description":"The base processor to use. For classifiers, this must be either `\"classification_performance\"` or `\"classification_light\"`. See [Classification Changelog](https://docs.extend.ai/2026-02-09/model-versioning/classification/classification-performance) for more details.\n","title":"LegacyClassificationConfigBaseProcessor"},"LegacyClassification":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the classification. We recommend lowercase, underscore-separated format."},"type":{"type":"string","description":"Type identifier for the classification."},"description":{"type":"string","description":"A detailed description of the classification."}},"required":["id","type","description"],"title":"LegacyClassification"},"LegacyClassificationAdvancedOptionsContext":{"type":"string","enum":["default","max"],"default":"default","description":"The context to use for classification.","title":"LegacyClassificationAdvancedOptionsContext"},"LegacyClassificationAdvancedOptions":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/LegacyClassificationAdvancedOptionsContext","default":"default","description":"The context to use for classification."},"advancedMultimodalEnabled":{"type":"boolean","default":false,"description":"Enable advanced multimodal processing for better handling of visual elements during classification."},"fixedPageLimit":{"type":"integer","description":"Limit processing to a specific number of pages from the beginning of the document. See [Page Ranges](https://docs.extend.ai/2026-02-09/page-ranges)."},"pageRanges":{"$ref":"#/components/schemas/PageRanges"}},"title":"LegacyClassificationAdvancedOptions"},"LegacyClassificationConfig":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/LegacyClassificationConfigType","description":"The type of configuration. Must be `\"CLASSIFY\"` for classification processors."},"baseProcessor":{"$ref":"#/components/schemas/LegacyClassificationConfigBaseProcessor","default":"classification_performance","description":"The base processor to use. For classifiers, this must be either `\"classification_performance\"` or `\"classification_light\"`. See [Classification Changelog](https://docs.extend.ai/2026-02-09/model-versioning/classification/classification-performance) for more details.\n"},"baseVersion":{"type":"string","description":"The version of the `\"classification_performance\"` or `\"classification_light\"` processor to use. If this is provided, the `baseProcessor` must also be provided. See [Classification Changelog](https://docs.extend.ai/2026-02-09/model-versioning/classification/classification-performance) for more details."},"classifications":{"type":"array","items":{"$ref":"#/components/schemas/LegacyClassification"},"description":"Array of possible classifications for the document."},"classificationRules":{"type":"string","description":"Custom rules to guide the classification process in natural language."},"advancedOptions":{"$ref":"#/components/schemas/LegacyClassificationAdvancedOptions","description":"Advanced configuration options."},"parser":{"$ref":"#/components/schemas/ParseConfig","description":"Configuration options for the parsing process."}},"required":["type","classifications"],"title":"LegacyClassificationConfig"},"LegacyExtractionConfigType":{"type":"string","enum":["EXTRACT"],"description":"The type of configuration. Must be \"EXTRACT\" for extraction processors.","title":"LegacyExtractionConfigType"},"LegacyExtractionConfigBaseProcessor":{"type":"string","enum":["extraction_performance","extraction_light"],"default":"extraction_performance","description":"The base processor to use. For extractors, this must be either `\"extraction_performance\"` or `\"extraction_light\"`. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/model-versioning/extraction/extraction-performance) for more details.\n","title":"LegacyExtractionConfigBaseProcessor"},"LegacyExtractionFieldType":{"type":"string","enum":["string","number","currency","boolean","date","array","enum","object","signature"],"description":"The type of the field.","title":"LegacyExtractionFieldType"},"LegacyExtractionField":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the field."},"name":{"type":"string","description":"Human-readable name for the field."},"type":{"$ref":"#/components/schemas/LegacyExtractionFieldType","description":"The type of the field."},"description":{"type":"string","description":"Detailed description of the field, including expected content and format."},"schema":{"type":"array","items":{"$ref":"#/components/schemas/LegacyExtractionField"},"description":"Required when type is \"array\" or \"object\". Contains nested field definitions."},"enum":{"type":"array","items":{"$ref":"#/components/schemas/Enum"},"description":"Required when type is \"enum\". List of allowed values."}},"required":["id","name","type","description"],"title":"LegacyExtractionField"},"LegacyExtractionAdvancedOptionsArrayCitationStrategy":{"type":"string","enum":["item","property"],"description":"Granularity for array citations. This requires citationsEnabled=true and a base processor version that supports property-level array citations (extraction_performance ≥ 4.4.0).","title":"LegacyExtractionAdvancedOptionsArrayCitationStrategy"},"LegacyExtractionAdvancedOptionsReviewAgent":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether to enable the review agent for the extraction output."}},"description":"Configuration for the review agent that analyzes extraction results.\nWhen enabled, each field in the output metadata will include a `reviewAgentScore` (1-5)\nand may include additional `insights` of type `issue` or `review_summary` to help identify\nfields that may need manual review.\n\nTo learn more, view the [Review Agent Documentation](https://docs.extend.ai/2026-02-09/extraction/review-agent)\n","title":"LegacyExtractionAdvancedOptionsReviewAgent"},"LegacyExtractChunkingOptionsChunkingStrategy":{"type":"string","enum":["standard","semantic"],"description":"The strategy to use for chunking the document.","title":"LegacyExtractChunkingOptionsChunkingStrategy"},"LegacyExtractChunkingOptionsChunkSelectionStrategy":{"type":"string","enum":["intelligent","confidence","take_first","take_last"],"description":"The strategy to use for selecting chunks.","title":"LegacyExtractChunkingOptionsChunkSelectionStrategy"},"LegacyExtractChunkingOptions":{"type":"object","properties":{"chunkingStrategy":{"$ref":"#/components/schemas/LegacyExtractChunkingOptionsChunkingStrategy","description":"The strategy to use for chunking the document."},"pageChunkSize":{"type":"integer","description":"The size of page chunks."},"chunkSelectionStrategy":{"$ref":"#/components/schemas/LegacyExtractChunkingOptionsChunkSelectionStrategy","description":"The strategy to use for selecting chunks."},"customSemanticChunkingRules":{"type":"string","description":"Custom rules for semantic chunking."}},"title":"LegacyExtractChunkingOptions"},"LegacyExtractionAdvancedOptionsExcelSheetSelectionStrategy":{"type":"string","enum":["intelligent","all","first","last"],"description":"Strategy for selecting sheets from Excel documents.","title":"LegacyExtractionAdvancedOptionsExcelSheetSelectionStrategy"},"LegacyExtractionAdvancedOptions":{"type":"object","properties":{"documentKind":{"type":"string","description":"DEPRECATED - use extractionRules for all system prompts."},"keyDefinitions":{"type":"string","description":"DEPRECATED - use extractionRules for all system prompts."},"modelReasoningInsightsEnabled":{"type":"boolean","description":"Whether to enable model reasoning insights."},"advancedMultimodalEnabled":{"type":"boolean","description":"Whether to enable advanced multimodal features."},"citationsEnabled":{"type":"boolean","description":"Whether to enable citations in the output."},"arrayCitationStrategy":{"$ref":"#/components/schemas/LegacyExtractionAdvancedOptionsArrayCitationStrategy","description":"Granularity for array citations. This requires citationsEnabled=true and a base processor version that supports property-level array citations (extraction_performance ≥ 4.4.0)."},"advancedFigureParsingEnabled":{"type":"boolean","description":"Whether to enable advanced figure parsing."},"reviewAgent":{"$ref":"#/components/schemas/LegacyExtractionAdvancedOptionsReviewAgent","description":"Configuration for the review agent that analyzes extraction results.\nWhen enabled, each field in the output metadata will include a `reviewAgentScore` (1-5)\nand may include additional `insights` of type `issue` or `review_summary` to help identify\nfields that may need manual review.\n\nTo learn more, view the [Review Agent Documentation](https://docs.extend.ai/2026-02-09/extraction/review-agent)\n"},"arrayStrategy":{"$ref":"#/components/schemas/ArrayStrategy","description":"Strategy for handling large arrays in documents."},"chunkingOptions":{"$ref":"#/components/schemas/LegacyExtractChunkingOptions"},"excelSheetRanges":{"type":"array","items":{"$ref":"#/components/schemas/ExcelSheetRange"},"description":"Ranges of sheet indices to extract from Excel documents."},"excelSheetSelectionStrategy":{"$ref":"#/components/schemas/LegacyExtractionAdvancedOptionsExcelSheetSelectionStrategy","description":"Strategy for selecting sheets from Excel documents."},"fixedPageLimit":{"type":"integer","description":"DEPRECATED - See [Page Ranges](https://docs.extend.ai/2026-02-09/page-ranges)."},"pageRanges":{"$ref":"#/components/schemas/PageRanges"}},"title":"LegacyExtractionAdvancedOptions"},"LegacyExtractionConfig":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/LegacyExtractionConfigType","description":"The type of configuration. Must be \"EXTRACT\" for extraction processors."},"baseProcessor":{"$ref":"#/components/schemas/LegacyExtractionConfigBaseProcessor","default":"extraction_performance","description":"The base processor to use. For extractors, this must be either `\"extraction_performance\"` or `\"extraction_light\"`. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/model-versioning/extraction/extraction-performance) for more details.\n"},"baseVersion":{"type":"string","description":"The version of the `\"extraction_performance\"` or `\"extraction_light\"` processor to use. If this is provided, the `baseProcessor` must also be provided. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/model-versioning/extraction/extraction-performance) for more details."},"extractionRules":{"type":"string","description":"Custom rules to guide the extraction process in natural language."},"schema":{"$ref":"#/components/schemas/JsonObject","description":"JSON Schema definition of the data to extract. Either `fields` or `schema` must be provided.\n\nSee the [JSON Schema guide](https://docs.extend.ai/2026-02-09/extraction/schema) for details and examples of schema configuration.\n"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/LegacyExtractionField"},"description":"Array of fields to extract from the document. Either `fields` or `schema` must be provided.\n\nWe recommend using `schema` for new implementations.\n"},"advancedOptions":{"$ref":"#/components/schemas/LegacyExtractionAdvancedOptions","description":"Advanced configuration options."},"parser":{"$ref":"#/components/schemas/ParseConfig","description":"Configuration options for the parsing process."}},"required":["type"],"title":"LegacyExtractionConfig"},"LegacySplitterConfigType":{"type":"string","enum":["SPLITTER"],"description":"The type of configuration. Must be \"SPLITTER\" for splitter processors.","title":"LegacySplitterConfigType"},"LegacySplitterConfigBaseProcessor":{"type":"string","enum":["splitting_performance","splitting_light"],"default":"splitting_performance","description":"The base processor to use. For splitters, this can currently only be `\"splitting_performance\"` or `\"splitting_light\"`. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/model-versioning/splitting/splitting-performance) for more details.\n","title":"LegacySplitterConfigBaseProcessor"},"LegacySplitterAdvancedOptionsSplitMethod":{"type":"string","enum":["high_precision","low_latency"],"default":"high_precision","description":"The method to use for splitting documents. `high_precision` is more accurate but slower, while `low_latency` is faster but less precise.\n\n**Deprecated:** For `splitting_light` >= 1.3.0 and `splitting_performance` >= 1.5.0, this field has no impact and is ignored if provided. It is still accepted for compatibility with older integrations.\n","title":"LegacySplitterAdvancedOptionsSplitMethod"},"LegacySplitterAdvancedOptions":{"type":"object","properties":{"splitIdentifierRules":{"type":"string","description":"Custom rules for identifying split points."},"splitMethod":{"$ref":"#/components/schemas/LegacySplitterAdvancedOptionsSplitMethod","default":"high_precision","description":"The method to use for splitting documents. `high_precision` is more accurate but slower, while `low_latency` is faster but less precise.\n\n**Deprecated:** For `splitting_light` >= 1.3.0 and `splitting_performance` >= 1.5.0, this field has no impact and is ignored if provided. It is still accepted for compatibility with older integrations.\n"},"splitExcelDocumentsBySheetEnabled":{"type":"boolean","default":false,"description":"For Excel documents, split by worksheet."},"fixedPageLimit":{"type":"integer","description":"Limit processing to a specific number of pages from the beginning of the document. See [Page Ranges](https://docs.extend.ai/2026-02-09/page-ranges)."},"pageRanges":{"$ref":"#/components/schemas/PageRanges"}},"title":"LegacySplitterAdvancedOptions"},"LegacySplitterConfig":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/LegacySplitterConfigType","description":"The type of configuration. Must be \"SPLITTER\" for splitter processors."},"baseProcessor":{"$ref":"#/components/schemas/LegacySplitterConfigBaseProcessor","default":"splitting_performance","description":"The base processor to use. For splitters, this can currently only be `\"splitting_performance\"` or `\"splitting_light\"`. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/model-versioning/splitting/splitting-performance) for more details.\n"},"baseVersion":{"type":"string","description":"The version of the `\"splitting_performance\"` or `\"splitting_light\"` processor to use. If this is provided, the `baseProcessor` must also be provided. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/model-versioning/splitting/splitting-performance) for more details."},"splitClassifications":{"type":"array","items":{"$ref":"#/components/schemas/LegacyClassification"},"description":"Array of classifications that define the possible types of document sections."},"splitRules":{"type":"string","description":"Custom rules to guide the document splitting process in natural language."},"advancedOptions":{"$ref":"#/components/schemas/LegacySplitterAdvancedOptions","description":"Advanced configuration options."},"parser":{"$ref":"#/components/schemas/ParseConfig","description":"Configuration options for the parsing process."}},"required":["type","splitClassifications"],"title":"LegacySplitterConfig"},"ProcessorRunsPostRequestBodyContentApplicationJsonSchemaConfig":{"oneOf":[{"$ref":"#/components/schemas/LegacyClassificationConfig"},{"$ref":"#/components/schemas/LegacyExtractionConfig"},{"$ref":"#/components/schemas/LegacySplitterConfig"}],"description":"The configuration for the processor run. If this is provided, this config will be used. If not provided, the config for the specific version you provide will be used. The type of configuration must match the processor type.","title":"ProcessorRunsPostRequestBodyContentApplicationJsonSchemaConfig"},"LegacyProcessorStatus":{"type":"string","enum":["PENDING","PROCESSING","PROCESSED","FAILED","CANCELLED"],"description":"The status of a processor run:\n* `\"PENDING\"` - The processor run has not started yet\n* `\"PROCESSING\"` - The processor run is in progress\n* `\"PROCESSED\"` - The processor run completed successfully\n* `\"FAILED\"` - The processor run failed\n* `\"CANCELLED\"` - The processor run was cancelled\n","title":"LegacyProcessorStatus"},"LegacyJsonOutputMetadataCitationsItemsPolygonItems":{"type":"object","properties":{"x":{"type":"number","format":"double","description":"X coordinate of the point"},"y":{"type":"number","format":"double","description":"Y coordinate of the point"}},"required":["x","y"],"title":"LegacyJsonOutputMetadataCitationsItemsPolygonItems"},"LegacyJsonOutputMetadataCitationsItems":{"type":"object","properties":{"page":{"type":"number","format":"double","description":"Page number where the citation was found"},"referenceText":{"type":["string","null"],"description":"The text that was referenced"},"polygon":{"type":"array","items":{"$ref":"#/components/schemas/LegacyJsonOutputMetadataCitationsItemsPolygonItems"},"description":"Array of points defining the polygon around the referenced text"},"pageWidth":{"type":"number","format":"double","description":"Width of the page in points"},"pageHeight":{"type":"number","format":"double","description":"Height of the page in points"}},"title":"LegacyJsonOutputMetadataCitationsItems"},"LegacyJsonOutputMetadata":{"type":"object","properties":{"ocrConfidence":{"type":["number","null"],"format":"double","description":"Confidence score from OCR processing, if applicable"},"logprobsConfidence":{"type":["number","null"],"format":"double","description":"Confidence score based on model logprobs"},"reviewAgentScore":{"type":["integer","null"],"description":"A 1-5 score indicating the review agent's confidence in the extracted value.\n- 5: High confidence, no issues detected\n- 4: Good confidence, minor observations\n- 3: Moderate confidence, some uncertainty\n- 2: Low confidence, likely issues\n- 1: Very low confidence, significant problems detected\n\nThese scores will be present when the `reviewAgent.enabled` flag is set to `true` in the processor config.\nIf the review agent is enabled but a score is not returned for a field, this value will be `null`.\nTo learn more, view the [Review Agent Documentation](https://docs.extend.ai/2026-02-09/extraction/review-agent)\n"},"citations":{"type":"array","items":{"$ref":"#/components/schemas/LegacyJsonOutputMetadataCitationsItems"}},"insights":{"type":"array","items":{"$ref":"#/components/schemas/Insight"}}},"required":["logprobsConfidence"],"title":"LegacyJsonOutputMetadata"},"LegacyJsonOutput":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/JsonObject","description":"The extracted values conforming to the schema defined in the processor config"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/LegacyJsonOutputMetadata"},"description":"Metadata about the extracted fields"}},"required":["value","metadata"],"title":"LegacyJsonOutput"},"LegacyExtractionFieldResultType":{"type":"string","enum":["string","number","currency","boolean","date","enum","array","object","signature"],"description":"The type of the extracted field","title":"LegacyExtractionFieldResultType"},"LegacyExtractionFieldResult":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for this field"},"type":{"$ref":"#/components/schemas/LegacyExtractionFieldResultType","description":"The type of the extracted field"},"value":{"description":"The extracted value, type depends on the field type. More details can be found [here](https://docs.extend.ai/2026-02-09/extraction/response-format)."},"confidence":{"type":"number","format":"double","description":"A value between 0 and 1 indicating confidence in the extraction"},"schema":{"type":"array","items":{"$ref":"#/components/schemas/LegacyExtractionField"},"description":"The field schema of nested fields"},"insights":{"type":"array","items":{"$ref":"#/components/schemas/Insight"},"description":"Reasoning and other insights from the model"},"references":{"type":"array","items":{"$ref":"#/components/schemas/ExtractionFieldResultReference"},"description":"References for the extracted field"},"enum":{"type":"array","items":{"$ref":"#/components/schemas/EnumOption"},"description":"The enum options for enum fields, only set when type=enum"}},"required":["id","type","value","references"],"title":"LegacyExtractionFieldResult"},"LegacyFieldsArrayOutput":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/LegacyExtractionFieldResult"},"description":"The output from an extraction processor","title":"LegacyFieldsArrayOutput"},"LegacyExtractionOutput":{"oneOf":[{"$ref":"#/components/schemas/LegacyJsonOutput"},{"$ref":"#/components/schemas/LegacyFieldsArrayOutput"}],"description":"The output from an extraction processor","title":"LegacyExtractionOutput"},"LegacyClassifierOutput":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for this classification"},"type":{"type":"string","description":"The type of classification"},"confidence":{"type":"number","format":"double","description":"A value between 0 and 1 indicating the model's confidence in the classification, where 1 represents maximum confidence"},"insights":{"type":"array","items":{"$ref":"#/components/schemas/Insight"},"description":"Additional insights about the classification decision"}},"required":["id","type","confidence","insights"],"title":"LegacyClassifierOutput"},"LegacySplitterOutputSplitsItems":{"type":"object","properties":{"type":{"type":"string","description":"The type of the split document (set in the processor config), corresponds to the classificationId"},"observation":{"type":"string","description":"Explanation of the results"},"identifier":{"type":"string","description":"Identifier for the split document (e.g. invoice number)"},"startPage":{"type":"integer","description":"The start page of the split document"},"endPage":{"type":"integer","description":"The end page of the split document"},"name":{"type":"string","description":"Optional name for the split"},"classificationId":{"type":"string","description":"ID of the classification type (set in the processor config)"},"id":{"type":"string","description":"Unique ID for this split"},"fileId":{"type":"string","description":"File ID associated with this split"}},"required":["type","observation","identifier","startPage","endPage","classificationId","id","fileId"],"title":"LegacySplitterOutputSplitsItems"},"LegacySplitterOutput":{"type":"object","properties":{"splits":{"type":"array","items":{"$ref":"#/components/schemas/LegacySplitterOutputSplitsItems"}},"isExternal":{"type":"boolean"}},"required":["splits"],"title":"LegacySplitterOutput"},"LegacyProcessorOutput":{"oneOf":[{"$ref":"#/components/schemas/LegacyExtractionOutput"},{"$ref":"#/components/schemas/LegacyClassifierOutput"},{"$ref":"#/components/schemas/LegacySplitterOutput"}],"description":"The output from a processor run. The type of output will match the processor type.","title":"LegacyProcessorOutput"},"LegacyExtractionOutputEdits":{"type":"object","properties":{"originalValue":{"description":"The original value before editing."},"editedValue":{"description":"The value after editing."},"notes":{"type":"string","description":"Any notes added during editing."},"page":{"type":"number","format":"double","description":"The page number where the edit was made."},"fieldType":{"type":"string","description":"The type of the edited field."}},"description":"A record of edits made to the processor output.\n","title":"LegacyExtractionOutputEdits"},"LegacyProcessorRunType":{"type":"string","enum":["CLASSIFY","EXTRACT","SPLITTER"],"description":"The type of processor:\n* `\"CLASSIFY\"` - Classifies documents into categories\n* `\"EXTRACT\"` - Extracts structured data from documents\n* `\"SPLITTER\"` - Splits documents into multiple parts\n","title":"LegacyProcessorRunType"},"LegacyProcessorRunConfig":{"oneOf":[{"$ref":"#/components/schemas/LegacyClassificationConfig"},{"$ref":"#/components/schemas/LegacyExtractionConfig"},{"$ref":"#/components/schemas/LegacySplitterConfig"}],"description":"The configuration used for this processor run. The type of configuration will match the processor type.","title":"LegacyProcessorRunConfig"},"LegacyProcessorRunMergedProcessorsItems":{"type":"object","properties":{"processorId":{"type":"string","description":"The ID of the merged processor.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"processorVersionId":{"type":"string","description":"The ID of the specific processor version used.\n"},"processorName":{"type":"string","description":"The name of the merged processor.\n\nExample: `\"Invoice Line Items Processor\"`\n"}},"required":["processorId","processorVersionId","processorName"],"title":"LegacyProcessorRunMergedProcessorsItems"},"LegacyDocumentProcessorRunCredits":{"type":"object","properties":{"credits":{"type":"number","format":"double","description":"The number of credits consumed specifically for document processing in this processor run. This does not include file parsing credits."}},"required":["credits"],"description":"These are usage credits for document processing (extraction, classification, or splitting). File parsing credits are tracked separately and can be retrieved from the [Get File](https://docs.extend.ai/2026-02-09/api-reference/endpoints/file/get-file) endpoint.\n\nThis field will not be returned for processor runs created before October 7, 2025, or for customers on legacy billing systems.\n\nFor more details on how credits work, see our [Credits Guide](https://docs.extend.ai/2026-02-09/general/how-credits-work).\n","title":"LegacyDocumentProcessorRunCredits"},"LegacyProcessorRun":{"type":"object","properties":{"object":{"type":"string","description":"The type of response. In this case, it will always be `\"document_processor_run\"`.\n"},"id":{"type":"string","description":"The unique identifier for this processor run.\n\nExample: `\"exr_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"processorId":{"type":"string","description":"The ID of the processor used for this run.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"processorVersionId":{"type":"string","description":"The ID of the specific processor version used.\n"},"processorName":{"type":"string","description":"The name of the processor.\n\nExample: `\"Invoice Processor\"`\n"},"status":{"$ref":"#/components/schemas/LegacyProcessorStatus"},"output":{"$ref":"#/components/schemas/LegacyProcessorOutput","description":"The final output, either reviewed or initial.\n\nConforms to the shape of output types and depends on the processor type and configuration shape.\n"},"failureReason":{"type":"string","description":"If the run failed, indicates the reason for failure.\n"},"failureMessage":{"type":"string","description":"If the run failed, provides a detailed message about the failure.\n"},"metadata":{"$ref":"#/components/schemas/JsonObject","description":"Any metadata that was provided when creating the processor run."},"reviewed":{"type":"boolean","description":"Indicates whether the run has been reviewed."},"edited":{"type":"boolean","description":"Indicates whether the run results have been edited."},"edits":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/LegacyExtractionOutputEdits"}},"type":{"$ref":"#/components/schemas/LegacyProcessorRunType","description":"The type of processor:\n* `\"CLASSIFY\"` - Classifies documents into categories\n* `\"EXTRACT\"` - Extracts structured data from documents\n* `\"SPLITTER\"` - Splits documents into multiple parts\n"},"config":{"$ref":"#/components/schemas/LegacyProcessorRunConfig","description":"The configuration used for this processor run. The type of configuration will match the processor type."},"initialOutput":{"$ref":"#/components/schemas/LegacyProcessorOutput","description":"The initial output from the processor run. The type of output will match the processor type."},"reviewedOutput":{"$ref":"#/components/schemas/LegacyProcessorOutput","description":"The output after review, if any."},"files":{"type":"array","items":{"$ref":"#/components/schemas/File"},"description":"Details of the processed files.\n\nIf this was a file generated from a splitter processor, this will be the sub file.\n\nSee the File object for more details.\n"},"mergedProcessors":{"type":"array","items":{"$ref":"#/components/schemas/LegacyProcessorRunMergedProcessorsItems"},"description":"An array of processors that were merged to create this output. Will be an empty array unless this output was the result of a MergeExtraction step in a workflow.\n"},"url":{"type":"string","description":"The URL to view the processor run.\n"},"usage":{"$ref":"#/components/schemas/LegacyDocumentProcessorRunCredits"}},"required":["object","id","processorId","processorVersionId","processorName","status","output","reviewed","edited","edits","type","config","files","mergedProcessors","url"],"title":"LegacyProcessorRun"},"processorRun_create_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"processorRun":{"$ref":"#/components/schemas/LegacyProcessorRun"}},"required":["success","processorRun"],"title":"processorRun_create_Response_200"},"LegacyError":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string","description":"Error message"}},"title":"LegacyError"},"RunProcessorRequestTooManyRequestsError":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"title":"RunProcessorRequestTooManyRequestsError"},"processorRun_get_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"processorRun":{"$ref":"#/components/schemas/LegacyProcessorRun"}},"required":["success","processorRun"],"title":"processorRun_get_Response_200"},"processorRun_delete_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"documentProcessorRunId":{"type":"string","description":"The ID of the deleted processor run"},"message":{"type":"string","description":"Confirmation message"}},"required":["success","documentProcessorRunId","message"],"title":"processorRun_delete_Response_200"},"LegacyExtendError":{"type":"object","properties":{"code":{"type":"string","description":"Error code identifying the type of error"},"message":{"type":"string","description":"Human-readable error message"},"requestId":{"type":"string","description":"Unique request identifier for support purposes"},"retryable":{"type":"boolean","description":"Whether the request can be retried"}},"required":["code","message","requestId","retryable"],"title":"LegacyExtendError"},"processorRun_cancel_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"processorRun":{"$ref":"#/components/schemas/LegacyProcessorRun"}},"required":["success","processorRun"],"title":"processorRun_cancel_Response_200"},"LegacyProcessorType":{"type":"string","enum":["EXTRACT","CLASSIFY","SPLITTER"],"description":"The type of processor:\n* `\"EXTRACT\"` - Extracts structured data from documents\n* `\"CLASSIFY\"` - Classifies documents into categories\n* `\"SPLITTER\"` - Splits documents into multiple parts\n","title":"LegacyProcessorType"},"ProcessorRunsGetParametersSource":{"type":"string","enum":["ADMIN","BATCH_PROCESSOR_RUN","PLAYGROUND","WORKFLOW_CONFIGURATION","WORKFLOW_RUN","STUDIO","API"],"title":"ProcessorRunsGetParametersSource"},"LegacySortByEnum":{"type":"string","enum":["updatedAt","createdAt"],"default":"updatedAt","title":"LegacySortByEnum"},"LegacySortDirEnum":{"type":"string","enum":["asc","desc"],"default":"desc","title":"LegacySortDirEnum"},"LegacyNextPageToken":{"type":"string","description":"The token used to fetch the page of results from a previous request. We use cursor based pagination and will return a `nextPageToken` in the response if there are more results.\n\nNote that if other parameters are changed in subsequent requests, you may receive inconsistent data.\n\nexample: `\"xK9mLPqRtN3vS8wF5hB2cQ==:zWvUxYjM4nKpL7aDgE9HbTcR2mAyX3/Q+CNkfBSw1dZ=\"`\n","title":"LegacyNextPageToken"},"LegacyMaxPageSize":{"type":"integer","default":10,"description":"The maximum number of results to return in the response. You may receive less than this number if there are fewer results than the maximum.","title":"LegacyMaxPageSize"},"LegacyProcessorRunSummaryType":{"type":"string","enum":["EXTRACT","SPLITTER","CLASSIFY"],"description":"The type of processor that was run:\n* `\"EXTRACT\"` - Extraction processor\n* `\"SPLITTER\"` - Splitting processor\n* `\"CLASSIFY\"` - Classification processor\n","title":"LegacyProcessorRunSummaryType"},"LegacyProcessorRunSummary":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the processor run.\n\nExample: `\"exr_Zk9mNP12Qw4-yTv8BdR3H\"`\n"},"status":{"$ref":"#/components/schemas/LegacyProcessorStatus"},"processorId":{"type":"string","description":"The ID of the processor that was run. Will always start with \"ex_\".\n\nExample: `\"ex_BMdfq_yWM3sT-ZzvCnA3f\"`\n"},"processorName":{"type":"string","description":"The name of the processor that was run.\n\nExample: `\"Invoice Extractor\"`\n"},"processorVersionId":{"type":"string","description":"The ID of the processor version that was run. Will always start with \"exv_\".\n\nExample: `\"exv_Zk9mNP12Qw4-yTv8BdR3H\"`\n"},"type":{"$ref":"#/components/schemas/LegacyProcessorRunSummaryType","description":"The type of processor that was run:\n* `\"EXTRACT\"` - Extraction processor\n* `\"SPLITTER\"` - Splitting processor\n* `\"CLASSIFY\"` - Classification processor\n"},"createdAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which the processor run was created. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T15:29:55Z\"`\n"},"updatedAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which the processor run was last updated. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T16:45:00Z\"`\n"},"usage":{"$ref":"#/components/schemas/LegacyDocumentProcessorRunCredits"}},"required":["id","status","processorId","processorName","processorVersionId","createdAt","updatedAt"],"title":"LegacyProcessorRunSummary"},"processorRun_list_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"processorRuns":{"type":"array","items":{"$ref":"#/components/schemas/LegacyProcessorRunSummary"}},"nextPageToken":{"$ref":"#/components/schemas/LegacyNextPageToken"}},"required":["success","processorRuns"],"title":"processorRun_list_Response_200"},"ProcessorsPostRequestBodyContentApplicationJsonSchemaConfig":{"oneOf":[{"$ref":"#/components/schemas/LegacyClassificationConfig"},{"$ref":"#/components/schemas/LegacyExtractionConfig"},{"$ref":"#/components/schemas/LegacySplitterConfig"}],"description":"The configuration for the processor. The type of configuration must match the processor type. One of `cloneProcessorId` or `config` must be provided.","title":"ProcessorsPostRequestBodyContentApplicationJsonSchemaConfig"},"LegacyProcessorVersionConfig":{"oneOf":[{"$ref":"#/components/schemas/LegacyClassificationConfig"},{"$ref":"#/components/schemas/LegacyExtractionConfig"},{"$ref":"#/components/schemas/LegacySplitterConfig"}],"description":"The configuration settings for this version of the document processor. The structure of this object will vary depending on the processor type.\n\nSee the configuration section in the \"Guides\" tab, for yout specific processor type, for more details on the configuration settings.\n","title":"LegacyProcessorVersionConfig"},"LegacyProcessorVersion":{"type":"object","properties":{"object":{"type":"string","description":"The type of the object. In this case, it will always be `\"document_processor_version\"`.\n"},"id":{"type":"string","description":"The unique identifier for this version of the document processor.\n\nExample: `\"exv_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"processorId":{"type":"string","description":"The ID of the parent document processor.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"processorName":{"type":"string","description":"The name of the parent document processor.\n\nExample: `\"Invoice Processor\"`\n"},"processorType":{"$ref":"#/components/schemas/LegacyProcessorType"},"description":{"type":"string","description":"An optional description of this version of the document processor.\n\nExample: `\"Updated extraction fields for new invoice format\"`\n"},"version":{"type":"string","description":"The version number or identifier for this specific version of the document processor. The draft version will have version=\"draft\".\n\nExamples: `\"1.0\"`, `\"2.1\"`, `\"draft\"`\n"},"config":{"$ref":"#/components/schemas/LegacyProcessorVersionConfig","description":"The configuration settings for this version of the document processor. The structure of this object will vary depending on the processor type.\n\nSee the configuration section in the \"Guides\" tab, for yout specific processor type, for more details on the configuration settings.\n"},"createdAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which this version of the document processor was created. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T15:30:00Z\"`\n"},"updatedAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which this version of the document processor was last updated. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T16:45:00Z\"`\n"}},"required":["object","id","processorId","processorType","version","config","createdAt","updatedAt"],"title":"LegacyProcessorVersion"},"LegacyProcessor":{"type":"object","properties":{"object":{"type":"string","description":"The type of response. In this case, it will always be `\"document_processor\"`.\n"},"id":{"type":"string","description":"The ID of the processor.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"name":{"type":"string","description":"The name of the processor.\n\nExample: `\"Invoice Processor\"`\n"},"type":{"$ref":"#/components/schemas/LegacyProcessorType"},"createdAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which the processor was created. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T15:30:00Z\"`\n"},"updatedAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which the processor was last updated. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T16:45:00Z\"`\n"},"draftVersion":{"$ref":"#/components/schemas/LegacyProcessorVersion"}},"required":["object","id","name","type","createdAt","updatedAt","draftVersion"],"title":"LegacyProcessor"},"processor_create_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"processor":{"$ref":"#/components/schemas/LegacyProcessor"}},"required":["success","processor"],"title":"processor_create_Response_200"},"ProcessorsGetParametersSortBy":{"type":"string","enum":["createdAt","updatedAt"],"default":"updatedAt","title":"ProcessorsGetParametersSortBy"},"ProcessorsGetParametersSortDir":{"type":"string","enum":["asc","desc"],"default":"desc","title":"ProcessorsGetParametersSortDir"},"LegacyListProcessorsProcessorObject":{"type":"string","enum":["document_processor"],"description":"The type of response. In this case, it will always be `\"document_processor\"`.\n","title":"LegacyListProcessorsProcessorObject"},"LegacyListProcessorsProcessorVersion":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for this version of the document processor.\n\nExample: `\"exv_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"version":{"type":"string","description":"The version number or identifier for this processor version.\n\nExample: `\"3\"`\n"}},"required":["id","version"],"title":"LegacyListProcessorsProcessorVersion"},"LegacyListProcessorsProcessor":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/LegacyListProcessorsProcessorObject","description":"The type of response. In this case, it will always be `\"document_processor\"`.\n"},"id":{"type":"string","description":"The ID of the processor.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"name":{"type":"string","description":"The name of the processor.\n\nExample: `\"Invoice Processor\"`\n"},"type":{"$ref":"#/components/schemas/LegacyProcessorType"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/LegacyListProcessorsProcessorVersion"},"description":"Array of all versions for this processor"},"createdAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which the processor was created. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T15:30:00Z\"`\n"},"updatedAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which the processor was last updated. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T16:45:00Z\"`\n"}},"required":["object","id","name","type","versions","createdAt","updatedAt"],"title":"LegacyListProcessorsProcessor"},"LegacyListProcessorsResponse":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates the request was successful"},"warning":{"type":["string","null"],"description":"Optional warning message"},"processors":{"type":"array","items":{"$ref":"#/components/schemas/LegacyListProcessorsProcessor"},"description":"Array of processors"},"nextPageToken":{"type":["string","null"],"description":"Token for retrieving the next page of results. Will be null if there are no more results."}},"required":["success","processors"],"title":"LegacyListProcessorsResponse"},"ProcessorsIdPostRequestBodyContentApplicationJsonSchemaConfig":{"oneOf":[{"$ref":"#/components/schemas/LegacyClassificationConfig"},{"$ref":"#/components/schemas/LegacyExtractionConfig"},{"$ref":"#/components/schemas/LegacySplitterConfig"}],"description":"The new configuration for the processor. The type of configuration must match the processor type:\n* For classification processors, use `ClassificationConfig`\n* For extraction processors, use `ExtractionConfig`\n* For splitter processors, use `SplitterConfig`\n","title":"ProcessorsIdPostRequestBodyContentApplicationJsonSchemaConfig"},"processor_update_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"processor":{"$ref":"#/components/schemas/LegacyProcessor"}},"required":["success","processor"],"title":"processor_update_Response_200"},"processorVersion_list_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/LegacyProcessorVersion"},"description":"An array of ProcessorVersion objects representing all versions of the specified processor."}},"required":["success","versions"],"title":"processorVersion_list_Response_200"},"ProcessorsIdPublishPostRequestBodyContentApplicationJsonSchemaReleaseType":{"type":"string","enum":["major","minor"],"description":"The type of release for this version. The two options are \"major\" and \"minor\", which will increment the version number accordingly.","title":"ProcessorsIdPublishPostRequestBodyContentApplicationJsonSchemaReleaseType"},"ProcessorsIdPublishPostRequestBodyContentApplicationJsonSchemaConfig":{"oneOf":[{"$ref":"#/components/schemas/LegacyClassificationConfig"},{"$ref":"#/components/schemas/LegacyExtractionConfig"},{"$ref":"#/components/schemas/LegacySplitterConfig"}],"description":"The configuration for this version of the processor. The type of configuration must match the processor type.","title":"ProcessorsIdPublishPostRequestBodyContentApplicationJsonSchemaConfig"},"processorVersion_create_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"processorVersion":{"$ref":"#/components/schemas/LegacyProcessorVersion"}},"required":["success","processorVersion"],"title":"processorVersion_create_Response_200"},"processorVersion_get_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"version":{"$ref":"#/components/schemas/LegacyProcessorVersion","description":"A ProcessorVersion object representing the requested version of the processor."}},"required":["success","version"],"title":"processorVersion_get_Response_200"},"LegacyBatchProcessorRunMetrics":{"type":"object","properties":{"numFiles":{"type":"number","format":"double","description":"The total number of files processed in this batch run"},"numPages":{"type":"number","format":"double","description":"The total number of pages processed in this batch run"}},"title":"LegacyBatchProcessorRunMetrics"},"LegacyBatchProcessorRunStatus":{"type":"string","enum":["PENDING","PROCESSING","PROCESSED","FAILED"],"description":"The current status of the batch processor run:\n* `\"PENDING\"` - The batch processor run is waiting to start\n* `\"PROCESSING\"` - The batch processor run is in progress\n* `\"PROCESSED\"` - The batch processor run completed successfully\n* `\"FAILED\"` - The batch processor run encountered an error\n","title":"LegacyBatchProcessorRunStatus"},"LegacyBatchProcessorRunSource":{"type":"string","enum":["EVAL_SET","PLAYGROUND","STUDIO"],"description":"The source of the batch processor run:\n* `\"EVAL_SET\"` - The batch processor run was made from an evaluation set. The `sourceId` will be the ID of the evaluation set (e.g., `\"ev_1234\"`)\n* `\"PLAYGROUND\"` - The batch processor run was made from the playground. The `sourceId` will not be set\n* `\"STUDIO\"` - The batch processor run was made for a processor in Studio. The `sourceId` will be the ID of the processor (e.g., `\"ex_1234\"`)\n","title":"LegacyBatchProcessorRunSource"},"LegacyBatchProcessorRunOptions":{"type":"object","properties":{"fuzzyMatchFields":{"type":"array","items":{"type":"string"},"description":"The fields that were fuzzy matched."},"excludeFields":{"type":"array","items":{"type":"string"},"description":"The fields that were excluded from the run."}},"description":"The options for the batch processor run.","title":"LegacyBatchProcessorRunOptions"},"LegacyBatchProcessorRun":{"type":"object","properties":{"object":{"type":"string","description":"The type of response. In this case, it will always be `\"batch_processor_run\"`.\n"},"id":{"type":"string","description":"The unique identifier for this batch processor run.\n\nExample: `\"batch_processor_run_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"processorId":{"type":"string","description":"The ID of the processor used for this run.\n\nExample: `\"ex_Xj8mK2pL9nR4vT7qY5wZ\"`\n"},"processorVersionId":{"type":"string","description":"The ID of the specific processor version used.\n\nExample: `\"exv_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"processorName":{"type":"string","description":"The name of the processor.\n\nExample: `\"Invoice Processor\"`\n"},"metrics":{"$ref":"#/components/schemas/LegacyBatchProcessorRunMetrics"},"status":{"$ref":"#/components/schemas/LegacyBatchProcessorRunStatus","description":"The current status of the batch processor run:\n* `\"PENDING\"` - The batch processor run is waiting to start\n* `\"PROCESSING\"` - The batch processor run is in progress\n* `\"PROCESSED\"` - The batch processor run completed successfully\n* `\"FAILED\"` - The batch processor run encountered an error\n"},"source":{"$ref":"#/components/schemas/LegacyBatchProcessorRunSource","description":"The source of the batch processor run:\n* `\"EVAL_SET\"` - The batch processor run was made from an evaluation set. The `sourceId` will be the ID of the evaluation set (e.g., `\"ev_1234\"`)\n* `\"PLAYGROUND\"` - The batch processor run was made from the playground. The `sourceId` will not be set\n* `\"STUDIO\"` - The batch processor run was made for a processor in Studio. The `sourceId` will be the ID of the processor (e.g., `\"ex_1234\"`)\n"},"sourceId":{"type":"string","description":"The ID of the source of the batch processor run. See the `source` field for more details.\nExample: `\"ev_1234\"` for EVAL_SET source, `\"ex_1234\"` for STUDIO source\n"},"runCount":{"type":"integer","description":"The number of runs that were made."},"options":{"$ref":"#/components/schemas/LegacyBatchProcessorRunOptions","description":"The options for the batch processor run."},"createdAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which the batch processor run was created. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T15:30:00Z\"`\n"},"updatedAt":{"type":"string","format":"date-time","description":"The time (in UTC) at which the batch processor run was last updated. Will follow the RFC 3339 format.\n\nExample: `\"2024-03-21T16:45:00Z\"`\n"}},"required":["object","id","processorId","processorVersionId","processorName","metrics","status","source","runCount","options","createdAt","updatedAt"],"title":"LegacyBatchProcessorRun"},"batchProcessorRun_get_Response_200":{"type":"object","properties":{"success":{"type":"boolean"},"batchProcessorRun":{"$ref":"#/components/schemas/LegacyBatchProcessorRun"}},"required":["success","batchProcessorRun"],"title":"batchProcessorRun_get_Response_200"},"ParseRunStatusObject":{"type":"string","enum":["parse_run_status"],"description":"The type of object. Will always be `\"parse_run_status\"`.","title":"ParseRunStatusObject"},"ParseRunStatusStatus":{"type":"string","enum":["PROCESSING","PROCESSED","FAILED"],"description":"The status of the parse run:\n* `\"PROCESSING\"` - The file is still being processed\n* `\"PROCESSED\"` - The file was successfully processed\n* `\"FAILED\"` - The processing failed (see `failureReason` for details)\n","title":"ParseRunStatusStatus"},"ParseRunStatus":{"type":"object","properties":{"object":{"$ref":"#/components/schemas/ParseRunStatusObject","description":"The type of object. Will always be `\"parse_run_status\"`."},"id":{"type":"string","description":"A unique identifier for the parse run.\n\nExample: `\"pr_xK9mLPqRtN3vS8wF5hB2cQ\"`\n"},"status":{"$ref":"#/components/schemas/ParseRunStatusStatus","description":"The status of the parse run:\n* `\"PROCESSING\"` - The file is still being processed\n* `\"PROCESSED\"` - The file was successfully processed\n* `\"FAILED\"` - The processing failed (see `failureReason` for details)\n"},"failureReason":{"type":["string","null"],"description":"The reason for failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"failureMessage":{"type":["string","null"],"description":"A human-readable description of the failure.\n\n**Availability:** Present when `status` is `\"FAILED\"`.\n"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/RunMetadata"},{"type":"null"}],"description":"Any metadata that was provided when creating the parse run.\n\n**Availability:** Present when metadata was provided during creation.\n"}},"required":["object","id","status","failureReason"],"description":"Minimal parse run status object sent in webhook notifications.\nContains only the essential status information, without the full output data.\n","title":"ParseRunStatus"},"ParseRunProcessedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/ParseRunStatus"}},"required":["eventId","payload"],"title":"ParseRunProcessedWebhookEvent"},"ParseRunFailedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/ParseRunStatus"}},"required":["eventId","payload"],"title":"ParseRunFailedWebhookEvent"},"ExtractRunProcessedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/ExtractRun"}},"required":["eventId","payload"],"title":"ExtractRunProcessedWebhookEvent"},"ExtractRunFailedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/ExtractRun"}},"required":["eventId","payload"],"title":"ExtractRunFailedWebhookEvent"},"ExtractorCreatedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Extractor"}},"required":["eventId","payload"],"title":"ExtractorCreatedWebhookEvent"},"ExtractorUpdatedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Extractor"}},"required":["eventId","payload"],"title":"ExtractorUpdatedWebhookEvent"},"ExtractorDeletedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Extractor"}},"required":["eventId","payload"],"title":"ExtractorDeletedWebhookEvent"},"ExtractorDraftUpdatedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Extractor"}},"required":["eventId","payload"],"title":"ExtractorDraftUpdatedWebhookEvent"},"ExtractorVersionPublishedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/ExtractorVersion"}},"required":["eventId","payload"],"title":"ExtractorVersionPublishedWebhookEvent"},"ClassifyRunProcessedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/ClassifyRun"}},"required":["eventId","payload"],"title":"ClassifyRunProcessedWebhookEvent"},"ClassifyRunFailedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/ClassifyRun"}},"required":["eventId","payload"],"title":"ClassifyRunFailedWebhookEvent"},"ClassifierCreatedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Classifier"}},"required":["eventId","payload"],"title":"ClassifierCreatedWebhookEvent"},"ClassifierUpdatedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Classifier"}},"required":["eventId","payload"],"title":"ClassifierUpdatedWebhookEvent"},"ClassifierDeletedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Classifier"}},"required":["eventId","payload"],"title":"ClassifierDeletedWebhookEvent"},"ClassifierDraftUpdatedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Classifier"}},"required":["eventId","payload"],"title":"ClassifierDraftUpdatedWebhookEvent"},"ClassifierVersionPublishedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/ClassifierVersion"}},"required":["eventId","payload"],"title":"ClassifierVersionPublishedWebhookEvent"},"SplitRunProcessedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/SplitRun"}},"required":["eventId","payload"],"title":"SplitRunProcessedWebhookEvent"},"SplitRunFailedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/SplitRun"}},"required":["eventId","payload"],"title":"SplitRunFailedWebhookEvent"},"SplitterCreatedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Splitter"}},"required":["eventId","payload"],"title":"SplitterCreatedWebhookEvent"},"SplitterUpdatedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Splitter"}},"required":["eventId","payload"],"title":"SplitterUpdatedWebhookEvent"},"SplitterDeletedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Splitter"}},"required":["eventId","payload"],"title":"SplitterDeletedWebhookEvent"},"SplitterDraftUpdatedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Splitter"}},"required":["eventId","payload"],"title":"SplitterDraftUpdatedWebhookEvent"},"SplitterVersionPublishedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/SplitterVersion"}},"required":["eventId","payload"],"title":"SplitterVersionPublishedWebhookEvent"},"BatchProcessorRunCompletedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/BatchRun"}},"required":["eventId","payload"],"title":"BatchProcessorRunCompletedWebhookEvent"},"BatchProcessorRunFailedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/BatchRun"}},"required":["eventId","payload"],"title":"BatchProcessorRunFailedWebhookEvent"},"BatchParseRunCompletedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/BatchRun"}},"required":["eventId","payload"],"title":"BatchParseRunCompletedWebhookEvent"},"BatchParseRunFailedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/BatchRun"}},"required":["eventId","payload"],"title":"BatchParseRunFailedWebhookEvent"},"EditRunProcessedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/EditRun"}},"required":["eventId","payload"],"title":"EditRunProcessedWebhookEvent"},"EditRunFailedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/EditRun"}},"required":["eventId","payload"],"title":"EditRunFailedWebhookEvent"},"WorkflowRunCompletedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/WorkflowRun"}},"required":["eventId","payload"],"title":"WorkflowRunCompletedWebhookEvent"},"WorkflowRunFailedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/WorkflowRun"}},"required":["eventId","payload"],"title":"WorkflowRunFailedWebhookEvent"},"WorkflowRunNeedsReviewWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/WorkflowRun"}},"required":["eventId","payload"],"title":"WorkflowRunNeedsReviewWebhookEvent"},"WorkflowRunRejectedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/WorkflowRun"}},"required":["eventId","payload"],"title":"WorkflowRunRejectedWebhookEvent"},"WorkflowRunCancelledWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/WorkflowRun"}},"required":["eventId","payload"],"title":"WorkflowRunCancelledWebhookEvent"},"WorkflowRunStepRunProcessedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/StepRun"}},"required":["eventId","payload"],"title":"WorkflowRunStepRunProcessedWebhookEvent"},"WorkflowCreatedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Workflow"}},"required":["eventId","payload"],"title":"WorkflowCreatedWebhookEvent"},"WorkflowDeployedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Workflow"}},"required":["eventId","payload"],"title":"WorkflowDeployedWebhookEvent"},"WorkflowDeletedWebhookEvent":{"type":"object","properties":{"eventId":{"type":"string","description":"Unique identifier for the event"},"payload":{"$ref":"#/components/schemas/Workflow"}},"required":["eventId","payload"],"title":"WorkflowDeletedWebhookEvent"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}}}}