PARSERGet Started

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:

  • parserId to extract data with that parser.
  • classifierId to 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 →