Unconfirm Manufacturing Order
POST/api/manufacturing/manufacturing-orders/:manufacturingOrder/unconfirm
Take the order back to Draft so its planned quantity and warehouses can be edited again: releases its component inventory allocations and discards the BOM-derived component lines, output lines, and operations, which are rebuilt at the current planned quantity on the next Confirm. Operations added manually after confirmation are kept.
Allowed from Confirmed, and from In Progress while nothing has been produced — starting an order records only a status and a start time, so it is reversible until production is recorded. An In Progress order also has its start time cleared.
Refused with 422 once work has been recorded against the order. The response carries a code: production_recorded (production has been recorded, or completed quantity is above zero), components_consumed (component consumption or scrap has been recorded), operations_worked (a BOM-derived operation has been started, completed, or costed), or status (the order is in a status with no path back to Draft, e.g. Partially Completed or Completed).
Auth: requires Bearer token.
Path param: manufacturingOrder = manufacturing order id.
Body: reason (optional, string, max 1000) recorded on the order's event log together with the status the order came back from.
manufacturing:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Content
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.