Upload File
Upload a document file to process and extract data.
What you need:
- Parser ID: Find it in Parser Settings → General Settings
- API Key: Generate it from Team Settings → API Keys
How to use:
- Endpoint:
POST /api/v1/process/{parserId}/files - Send the request as
multipart/form-datawith field namefile - (Optional) Provide additional fields:
folderId: Folder UUID to assign the created document(s)externalIds: JSON-encoded array of external IDs (one per uploaded file)custom: JSON-encoded array of tracking objects (one per uploaded file)
- Include your API key in the
Authorizationheader
What you get:
- Response includes
documentIdfor the uploaded document - Document status will be
processinginitially - Use the
documentIdwith the "Get Document Data" endpoint to retrieve extracted data once processing is complete
Authorization
bearerAuth Your API key. Include it directly in the Authorization header as the API key value (e.g., 'authorization: your-api-key-here')
In: header
Path Parameters
The ID of the parser
uuidRequest Body
multipart/form-data
File to upload (plus optional externalIds, custom, and folderId)
The document file to upload
binaryOptional JSON-encoded array string of external IDs (e.g. ["doc-123"]). When provided, the array length must match the number of uploaded file entries.
Optional JSON-encoded array string of tracking objects (e.g. [{"batchId":"xyz"}]). When provided, the array length must match the number of uploaded file entries.
Optional folder UUID to assign created documents to that folder. The folder must belong to the same parser/team and must not be deleted.
Response Body
application/json
application/json
curl -X POST "https://app.digiparser.com/api/v1/process/d1458cd7-8692-488f-8b3f-0fddade05f9c/files" \ -F file="string"{
"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 (markdown parsing disabled)",
"operationName": "f19c7e5b-efb1-48fd-bcd1-876b7aa211a7",
"documentId": "2b9b1243-3d94-42b0-9515-729c7404e3b7",
"pageCount": 1,
"externalId": "doc-123",
"custom": {
"batchId": "xyz",
"customerId": "pqr"
}
}
]
}{
"error": true,
"message": "Parser ID mismatch"
}Reprocess Document POST
Re-run extraction for an already uploaded document (useful after adding new parser fields). **Request body:** Provide exactly one of `documentId` or `externalId`. - `documentId` and `externalId` cannot be sent together. - If neither is provided, the API returns `400`.
Upload via URL POST
Upload a document by providing a URL pointing to the document file. **What you need:** - **Parser ID**: Find it in Parser Settings → General Settings - **API Key**: Generate it from Team Settings → API Keys - **Document URL**: A publicly accessible URL to the document file **How to use:** - Endpoint: `POST /api/v1/process/{parserId}/urls` - Send a JSON body (application/json) - Include your API key in the `Authorization` header - Optional fields: - `folderId`: Folder UUID to assign created documents to that folder - `externalIds`: Array of external IDs (one per URL); length must match `urls` if provided - `custom`: Array of tracking objects (one per URL); length must match `urls` if provided - `urls` can contain up to 20 URLs per request **Example:** ```json { "urls": ["https://example.com/document.pdf"], "externalIds": ["doc-123"], "custom": [{"batchId":"xyz"}], "folderId": "YOUR_FOLDER_ID" } ``` **What you get:** - Response includes `documentId` for each uploaded document - Document status will be `processing` initially - Use the `documentId` with the "Get Document Data" endpoint to retrieve extracted data once processing is complete