PARSER GUIDES
Upload Files to Parser or Classifier
POST
/api/v1/process/files
Upload one or more files to either a parser or a document classifier.
Provide exactly one target:
parserIdto extract data with that parser.classifierIdto classify and route documents to configured target parsers.
Classifier uploads return routing status for each document. Classifiers do not extract data themselves; routed documents are extracted by the target parsers.
Authorization
bearerAuth
authorization: <token>
Your API key. Include it directly in the Authorization header as the API key value (e.g., 'authorization: your-api-key-here')
In: header
Request Body
multipart/form-data
parserId?string
Parser ID. Required when classifierId is not provided.
Format: uuid
classifierId?string
Classifier ID. Required when parserId is not provided.
Format: uuid
file\*file
One or more document files to upload.
Format: binary
externalIds?string
JSON-encoded array of external IDs, one per uploaded file.
custom?string
JSON-encoded array of custom tracking objects, one per uploaded file.
folderId?string
Parser folder ID. Not supported for classifier uploads.
Response Body
200
application/json
400
application/json
curl -X POST "https://api.PARSER.com/api/v1/process/files" \ -F file="string"
200400
{
"success": true,
"result": [
{
"id": "2b9b1243-3d94-42b0-9515-729c7404e3b7",
"name": "sample-invoice.pdf",
"url": "https://documents.PARSER.com/resources/t/01dd1542-7aac-463c-8eda-a7e042fd5876/p/d1458cd7-8692-488f-8b3f-0fddade05f9c/d/2b9b1243-3d94-42b0-9515-729c7404e3b7/sample-invoice.pdf?sig=70adb475a196e71cd2f82c40623bb9be94647aff0d187120ee39c9fd9c7a10d0",
"isProcessed": false,
"status": "processing",
"message": "Extraction started: EXTRACT (f19c7e5b-efb1-48fd-bcd1-876b7aa211a7) job initiated",
"operationName": "f19c7e5b-efb1-48fd-bcd1-876b7aa211a7",
"documentId": "2b9b1243-3d94-42b0-9515-729c7404e3b7",
"pageCount": 1,
"externalId": "doc-123",
"custom": {
"batchId": "xyz",
"customerId": "pqr"
},
"parserId": "a257721a-d31e-4fba-b43e-0ebfc3bf1cca",
"classifierId": "633243f0-1b9a-412f-a7d1-5ec71b3bfdac",
"routing": {
"status": "routed",
"category": "string",
"targetParserId": "c1414b5c-cc7f-4042-9bc2-fa9363157ee6",
"targetParserName": "string",
"reasoning": "string",
"error": "string"
}
}
]
}
{
"error": true,
"message": "Parser ID mismatch"
}
WebhooksReceive document.exported events and payload structureOpen guide →
Upload URLs to Parser or Classifier POSTUpload documents by URL to either a parser or a document classifier. Provide exactly one of \parserId\ or \classifierId\. Classifier URL uploads route documents to target parsers and return routing status. Each request accepts up to 20 public HTTP or HTTPS URLs, with a maximum of 100 MB per file. URLs must return the file without browser cookies, embedded credentials, or sign-in. PARSER validates every redirect, follows no more than five redirects, and blocks local, private-network, and cloud-metadata destinations. The batch is queued only after every file has been stored. If a transfer fails before queueing, retry the complete request.Open guide →