# Reprocess Document

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

# Reprocess Document

Server URL`loading...`

POST

/`api`/`v1`/`process`/`{parserId}`/`reprocess`

Send

Authorization

Path

Body

Re-run extraction for an already uploaded document (useful after adding new parser fields).

Reprocessing uses the parser's current settings. If the parser has document type rules enabled, DigiParser checks the document type again before extraction. The document can return to the `skipped` status when the current rule says it should not be processed.

**Request body:** Provide exactly one of `documentId` or `externalId`.

*   `documentId` and `externalId` cannot be sent together.
*   If neither is provided, the API returns `400`.

## [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`

## [Path Parameters](#path-parameters)

parserId\*string

The ID of the parser

Format`uuid`

## [Request Body](#request-body)

`application/json`

documentId?string

Existing document ID to reprocess.

Format`uuid`

externalId?string

External ID of the document to reprocess (for this parser).

## [Response Body](#response-body)

### 200

`application/json`

### 400

`application/json`

### 401

`application/json`

### 403

`application/json`

### 404

`application/json`

### 405

`application/json`

### 409

`application/json`

### 500

`application/json`

cURL

JavaScript

Go

Python

Java

C#

```
curl -X POST "https://api.digiparser.com/api/v1/process/d1458cd7-8692-488f-8b3f-0fddade05f9c/reprocess" \  -H "Content-Type: application/json" \  -d '{}'
```

200400401403404405409500

```
{
  "success": true,
  "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
  "status": "processing"
}
```

```
{
  "error": true,
  "message": "Parser ID mismatch"
}
```

```
{
  "error": true,
  "message": "Parser ID mismatch"
}
```

```
{
  "error": true,
  "message": "Access denied"
}
```

```
{
  "error": true,
  "message": "Document not found",
  "notFound": [
    {
      "type": "documentId",
      "value": "string"
    }
  ]
}
```

```
{
  "error": true,
  "message": "Parser ID mismatch"
}
```

```
{
  "error": true,
  "message": "Parser ID mismatch"
}
```

```
{
  "error": true,
  "message": "Parser ID mismatch"
}
```

[

Get Document Data GET

Retrieve the extracted data from a processed document. \*\*What you need:\*\* - \*\*Parser ID\*\*: Find it in Parser Settings -> General Settings - Either: - \*\*Document ID\*\*: Get this from the upload response (\`documentId\` field), or - \*\*externalId\*\*: The external tracking ID you provided during upload - \*\*API Key\*\*: Generate it from Team Settings -> API Keys \*\*How to use:\*\* - Endpoint: \`GET /api/v1/process/{parserId}/files/data?documentId={documentId}\` - OR: \`GET /api/v1/process/{parserId}/files/data?externalId={externalId}\` - Include your API key in the \`Authorization\` header \*\*What you get:\*\* - \*\*data\*\*: Extracted field values and table data matching your parser's fields and tables - \*\*metadata\*\*: Document information including status, timestamps, and file details \*\*Note:\*\* If the document is still processing, the \`data\` field will be empty and \`status\` will be \`processing\`. Poll this endpoint periodically until \`status\` is \`processed\` or \`failed\`.

](/docs/api/getDocumentData)[

Delete Documents POST

Delete documents so their \`externalId\` values can be reused on re-upload. \*\*Request body:\*\* Provide \`documentIds\` and/or \`externalIds\`. - If you send \`documentIds\`, \`externalIds\` is optional. - If you send \`externalIds\`, \`documentIds\` is optional. - You must provide at least one of them.

](/docs/api/deleteDocuments)