Split a PDF into document page ranges asynchronously
POST/api/v8/partner/split/async
Same as the synchronous endpoint, but returns the split id immediately and delivers the result to your configured webhook. This API supports .pdf,.zip. The max file size is 50mb. The max number of pages to process is limited to 250. When it finishes, you should expect a request with this payload:
{'event': 'split.created', 'data': {'id': 42000, 'created': '2026-10-16 16:40:40', 'page_breaks': [{'page_start': 1, 'page_end': 2}, {'page_start': 3, 'page_end': 5}], 'error': None}}
If it fails, the event is split.failed, page_breaks is empty and error describes the failure.
Request
- application/json
- multipart/form-data
Body
Possible values: non-empty
A custom identification value. Use this if you would like to assign your own ID to documents. This parameter is useful when mapping this document to a service or resource outside Veryfi.
Possible values: non-empty
Default value: ``
Tags you want to associate with the document.
Possible values: non-empty
A path to a file in an S3 bucket, e.g. 'some/receipt.jpg
Possible values: non-empty
An S3 bucket for 'package_path', e.g. 'documents'.
Possible values: non-empty
Used to upload a document via base64 encoded string, could be raw or data URI scheme. This is the least effective way to upload a document for processing. See file_urls or uploading zip files.
Possible values: non-empty
A URL to a publicly accessible document to be sent to Veryfi for processing.
Possible values: non-empty
An array of URLs to publicly accessible documents to be sent to Veryfi for processing.
Possible values: non-empty
An optional filename. Useful to determine file type.
Default value: false
Split the PDF on blank pages instead of detecting document boundaries. Each blank page marks the end of a document and is not included in any of the resulting page ranges.
Possible values: >= 1 and <= 250
Default value: 250
Limit processing to number of pages.
Body
Possible values: non-empty
External ID you want to associate with the document.
Possible values: non-empty
Default value: ``
Tags you want to associate with the document.
Possible values: non-empty
A custom identification value. Use this if you would like to assign your own ID to documents. This parameter is useful when mapping this document to a service or resource outside Veryfi.
Possible values: non-empty
A path to a file in an S3 bucket, e.g. 'some/receipt.jpg
Possible values: non-empty
An S3 bucket for 'package_path', e.g. 'documents'.
Possible values: non-empty
Used to upload a document via base64 encoded string, could be raw or data URI scheme. This is the least effective way to upload a document for processing. See file_urls or uploading zip files.
Possible values: non-empty
A URL to a publicly accessible document to be sent to Veryfi for processing.
Possible values: non-empty
An array of URLs to publicly accessible documents to be sent to Veryfi for processing.
Possible values: non-empty
An optional filename. Useful to determine file type.
A binary file. Submitting zipped documents through this parameter is the fastest way to process any document. Not every supported extension is enabled by default; see the Process a Document endpoint description for default vs by-request file types.
Default value: false
Split the PDF on blank pages instead of detecting document boundaries. Each blank page marks the end of a document and is not included in any of the resulting page ranges.
Possible values: >= 1 and <= 250
Default value: 250
Limit processing to number of pages.
Responses
- 202
- 400
- 403
- 404
- 413
- 429
- 499
- 500
- 503
- 504
- default
The unique identifier of the split.
- application/json
- Schema
- Example (from schema)
Schema
The unique identifier of the split.
{
"id": 0
}
User error
- application/json
- Schema
- Example (from schema)
Schema
- COULDNT_DOWNLOAD_FILE_FROM_PROVIDED_URL
- RECEIVED_EMPTY_OR_MISSING_DATA
- NO_FILES_TO_PROCESS
- FILE_IS_CORRUPTED
- THE_FILE_IS_TOO_BIG
- IMAGE_DIMENSIONS_ARE_TOO_SMALL
- FILE_IS_ENCRYPTED
Default value: fail
Default value: Couldn't download file from provided url.
Default value: [object Object]
Default value: fail
Default value: Received empty or missing data
Default value: fail
Default value: No files to process
Default value: fail
Default value: File is corrupted
Default value: fail
Default value: The file is too big
Default value: fail
Default value: Image dimensions are too small
Default value: [object Object]
Default value: fail
Default value: File is encrypted
{}
User error
- application/json
- Schema
- Example (from schema)
Schema
- AUTHENTICATION_CREDENTIALS_WERE_NOT_PROVIDED
- THIS_API_KEY_IS_NOT_PERMITTED_TO_ACCESS_THIS_ROUTE
Default value: fail
Default value: Authentication credentials were not provided.
Default value: fail
Default value: This API key is not permitted to access this route
{}
Not found
- application/json
- Schema
- Example (from schema)
Schema
- NOT_FOUND
- DOCUMENT_NOT_FOUND
Default value: fail
Default value: Not found.
Default value: fail
Default value: Document Not Found
{}
Request body too large
- application/json
- Schema
- Example (from schema)
Schema
- REQUEST_BODY_TOO_LARGE
Default value: fail
Default value: Request body too large
{}
Rate limit
- application/json
- Schema
- Example (from schema)
Schema
- YOU_HAVE_BEEN_RATE_LIMITED
Default value: fail
Default value: You have been rate limited
Default value: [object Object]
{}
User error
- application/json
- Schema
- Example (from schema)
Schema
- CLIENT_CLOSED_REQUEST_OR_LOST_CONNECTION
Default value: fail
Default value: Client closed request or lost connection
{}
Unexpected error
Service is temporarily unavailable
- application/json
- Schema
- Example (from schema)
Schema
- SERVICE_IS_TEMPORARILY_UNAVAILABLE_PLEASE_TRY_AGAIN_LATER
Default value: fail
Default value: Service is temporarily unavailable. Please try again later
{}
Gateway timeout. Returned if request takes more than 120 seconds. The request might finish successfully later.
- application/json
- Schema
- Example (from schema)
Schema
- GATEWAY_TIMEOUT
Default value: fail
Default value: Gateway timeout
{}
General error response
- application/json
- Schema
- Example (from schema)
Schema
Default value: fail
{
"status": "fail",
"error": "string"
}