---
title: "Schedule document reprocessing"
method: POST
path: "/documents/{document_id}/reprocess"
tags: ["documents"]
---

# Schedule document reprocessing

`POST /documents/{document_id}/reprocess`

This endpoint schedules (async) reprocessing for the given document;
it will call the async processing with the given desired version name,
similar to the async document upload but skipping OCR.
It works asynchronously, so results need to be consulted by a separate call (or webhook)


**Permission required:** upload

## Query parameters

- `name` string
- `reviewer` 'Human' | 'Machine'

## Headers

- `X-Fields` string, mask

## Response `200`

Success

- DocumentModelGet
  - `escalate` StateModelGet
    - `by` string
    - `since` string, date-time
    - `value` boolean
  - `feedback` object
  - `files` FileModelGet[]
    - `embedded_attachment` boolean
    - `filehash` string
    - `filename` string
    - `leaf` boolean
    - `page` integer
    - `page_count` integer
  - `flag_for_review` boolean
  - `id` string, required
  - `inbox` string, required
  - `last_version` string
  - `lock` StateModelGet
    - `by` string
    - `since` string, date-time
    - `value` boolean
  - `meta_information` object
  - `opened_by` StateModelGet[]
    - `by` string
    - `since` string, date-time
    - `value` boolean
  - `original_filename` string, required
  - `page_count` integer, required
  - `prediction` object
  - `reject` StateModelGet
    - `by` string
    - `since` string, date-time
    - `value` boolean
  - `status_data` StatusDataModel
    - `archived` boolean
    - `data` boolean
    - `escalate` boolean
    - `feedback` boolean
    - `lock` boolean
    - `ready_accepted` boolean
    - `ready_attempts` integer
    - `reject` boolean
    - `reject_accepted` boolean
    - `reject_attempts` integer
    - `sampling` boolean
    - `submit_accepted` boolean
    - `submit_attempts` integer
    - `success` boolean
  - `submitted` StateModelGet
    - `by` string
    - `since` string, date-time
    - `value` boolean
  - `timings` TimingsModelGet
    - `done_time` string, date-time
    - `feedback_time` string, date-time
    - `processing_period` number
    - `receive_time` string, date-time
    - `start_time` string, date-time
    - `submit_time` string, date-time
  - `usage_data` object
  - `versions` object[]

## Other responses

- `403` — Permission insufficient

---

[API](https://skmtc.net/contractp/apis/contract-p.md) · [All operations](https://skmtc.net/contractp/apis/contract-p/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/contractp/contract-p/revisions/8ce53ebd6bd3/schema)
