---
title: "Create a component reprocessing job"
method: POST
path: "/api/v0/documents/{document_id}/component-reprocessing-jobs"
tags: ["Documents"]
---

# Create a component reprocessing job

`POST /api/v0/documents/{document_id}/component-reprocessing-jobs`

Reprocesses specific visual components to re-extract content based on updated bboxes.

## Path parameters

- `document_id` string, uuid, required

## Request body

- ComponentReprocessingRequest — Request model for component reprocessing with batch mutations.
  - `component_ids` string[], nullable — Specific component IDs to reprocess. If not provided, uses reprocess_all_pending.
  - `reprocess_all_pending` boolean — Reprocess all components with needs_reprocessing=true for this document.
  - `creates` ComponentCreateSpec[], nullable — Components to create before reprocessing.
    - `type` string, required — Component type (text, table, image, etc.)
    - `page_number` integer, required — Page number (0-indexed)
    - `bbox` BoundingBox, required
      - `x0` integer, required
      - `y0` integer, required
      - `x1` integer, required
      - `y1` integer, required
      - `dpi` integer
      - `class_name` string, nullable
      - `text` string, nullable
      - `confidence` number, nullable
    - `label` string, nullable — Optional label
    - `parent_id` string, uuid, nullable — Public id of an existing component to set as parent on creation. Must be on the same page and fully contain this component's bbox; validated server-side.
  - `updates` ComponentUpdateSpec[], nullable — Component updates (type, bbox) to apply before reprocessing.
    - `component_id` string, uuid, required — Component public ID to update
    - `type` string, nullable — New component type
    - `bbox` BoundingBox
      - `x0` integer, required
      - `y0` integer, required
      - `x1` integer, required
      - `y1` integer, required
      - `dpi` integer
      - `class_name` string, nullable
      - `text` string, nullable
      - `confidence` number, nullable
  - `deletes` string[], nullable — Component IDs to delete before reprocessing.
  - `merges` ComponentMergeSpec[], nullable — Groups of component IDs to merge as lists before reprocessing.
    - `component_ids` string[], required — Component public IDs to merge (minimum 2)

## Response `200`

Successful Response

- ComponentReprocessingResponse — Response model for component reprocessing job.
  - `job_status_id` string, uuid, required — The ID of the job status for tracking.
  - `status` string, required — The initial status of the job.
  - `component_count` integer, required — The number of components queued for reprocessing.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/outerport/apis/outerport-api.md) · [All operations](https://skmtc.dev/outerport/apis/outerport-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/outerport/outerport-api/revisions/f565b46daaea/schema)
