---
title: "Reopens a complete job, setting it back to In Progress."
method: POST
path: "/api/jobs/{jobId}/reopen"
tags: ["Job"]
---

# Reopens a complete job, setting it back to In Progress.

`POST /api/jobs/{jobId}/reopen`

## Request

- Base URL: `https://api.fulcrumpro.com`
- URL: `https://api.fulcrumpro.com/api/jobs/{jobId}/reopen`
- Auth: none declared

Clears the job's completed date. Every complete item to make leaves Complete, and the finished goods this
job received for it are taken back out of inventory unless later inventory activity on the received lots
holds them. A Job Reopened entry is written to the job's log. Operations keep their status: reopen an
operation with the job operation reopen endpoint to redo its work. Materials picked for the job stay
picked. A job that has items shipped on its sales-order line cannot be reopened. Reopening a job that is
already In Progress changes nothing, so a request that may not have landed can be safely resent.

## Path parameters

- `jobId` string, required

## Response `200`

Job reopened, or already In Progress

- DtoJobsReopenJobResponse: Response after reopening a job
  - `jobId` string, required: The ID of the job
  - `status` 'draft' | 'needsReview' | 'approved' | 'engineering' | 'scheduled' | 'inProgress' | 'complete' | 'cancelled' | 'hold', required: Job status
  - `finishedGoodsRevertedQuantity` number, double, required: The finished-goods quantity this reopen took back out of inventory, summed over the job's items to make. Zero when the job was already In Progress, or when later inventory activity on the received lots blocked every revert.
  - `finishedGoodsKeptQuantity` number, double, required: The finished-goods quantity from this job the reopen left in inventory, summed over the job's items to make: everything an item received when later inventory activity on its lots blocked the revert, otherwise what outside-processing purchase orders received. Zero when no revert ran.

## Other responses

- `400`: The job is neither Complete nor In Progress, or items from it were shipped
- `404`: Job did not exist

## Changes

- **2026-11-11** `c5ed1ac3ffa2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/changes/api/jobs/:jobId/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/7a73a80a6afb?raw)
