---
title: "Reopens a complete or cancelled job operation, setting it back to Ready."
method: POST
path: "/api/jobs/{jobId}/items-to-make/{itemToMakeId}/operations/{operationId}/reopen"
tags: ["Job Item To Make Operation"]
---

# Reopens a complete or cancelled job operation, setting it back to Ready.

`POST /api/jobs/{jobId}/items-to-make/{itemToMakeId}/operations/{operationId}/reopen`

## Request

- Base URL: `https://api.fulcrumpro.com`
- URL: `https://api.fulcrumpro.com/api/jobs/{jobId}/items-to-make/{itemToMakeId}/operations/{operationId}/reopen`
- Auth: none declared

Resets the operation's quantity made to zero (an outside-processing operation keeps what its purchase
orders received), sets downstream Ready operations back to Pending, and moves the job to In Progress.
When the item was complete, the finished goods this job received for it are taken back out of inventory.
The revert is all or nothing: when later inventory activity on the received lots blocks it, every receipt
stays. Receipts through outside-processing purchase orders always stay, and reopening one chain of a
split operation keeps all of the item's receipts. Materials picked for the operation stay
picked; completing it again does not pick them a second time. Reopening an operation that is already
Ready changes nothing, so a request that may not have landed can be safely resent.

## Path parameters

- `jobId` string, required
- `itemToMakeId` string, required
- `operationId` string, required

## Response `200`

Operation reopened, or already Ready

- ItemsToMakeOperationsReopenJobOperationResponse: Response after reopening a job operation
  - `jobId` string, required: The ID of the job
  - `itemToMakeId` string, required: The ID of the item to make
  - `operationId` string, required: The ID of the reopened operation
  - `operationStatus` string, required: The operation's status after this action
  - `quantityMade` number, double, required: The operation's quantity made after this action: zero, or for an outside-processing operation the quantity its purchase orders have received
  - `finishedGoodsRevertedQuantity` number, double, required: The finished-goods quantity this reopen took back out of inventory. Zero when the item was not complete, when later inventory activity on the received lots blocked the revert, or when the operation is one chain of a split operation.
  - `finishedGoodsKeptQuantity` number, double, required: The finished-goods quantity from this job the reopen left in inventory: everything when later inventory activity on the received lots blocked the revert, otherwise what outside-processing purchase orders received. Zero when no revert ran.

## Other responses

- `400`: The job is complete or cancelled, the item to make is cancelled, or the operation is still open
- `404`: Job, item to make, or operation did not exist

## Changes

- **2026-10-27** `ce5c5a534fa4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/changes/api/jobs/:jobId/items-to-make/:itemToMakeId/operations/:operationId/reopen/post.md)

---

[API](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi.md) - [All operations](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/llms.txt) - [OpenAPI document](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/revisions/c9e6f41852d1?raw)
