# Upload Files to Parser or Classifier

Source: https://www.digiparser.com/docs/api/uploadFilesToProcessingTarget

# Upload Files to Parser or Classifier

Server URL`loading...`

POST

/`api`/`v1`/`process`/`files`

Send

Authorization

Body

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](#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](#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](#response-body)

### 200

`application/json`

### 400

`application/json`

cURL

JavaScript

Go

Python

Java

C#

```
curl -X POST "https://api.digiparser.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.digiparser.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"
}
```

[

Webhooks

Receive document.exported events and payload structure

](/docs/api/webhooks)[

Upload URLs to Parser or Classifier POST

Upload 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. DigiParser 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.

](/docs/api/uploadUrlsToProcessingTarget)