---
title: "Update a change order. A full replacement of the header: omitted fields are cleared, except `notificationsEnabled`, where null keeps the stored value. The change order's impacted records and tasks are never written here — both are maintained elsewhere, and a concurrent change to either stands."
method: PUT
path: "/api/change-orders/{id}"
tags: ["Change Order"]
---

# Update a change order. A full replacement of the header: omitted fields are cleared, except \`notificationsEnabled\`, where null keeps the stored value. The change order's impacted records and tasks are never written here — both are maintained elsewhere, and a concurrent change to either stands.

`PUT /api/change-orders/{id}`

## Path parameters

- `id` string, required

## Request body

- ChangeOrderSaveDto — The writable state of a change order. Create and update both take the whole object: update is a full replacement, so an omitted field is cleared.
  - `customer` CommonReferenceDto — Represents a reference to a document in a DB collection
    - `id` string, nullable — Unique Id associated to the referenced object
    - `name` string, nullable — Descriptive name associated to the object
  - `originalRevisionItem` ChangeOrderItemReferenceDto, required — A reference to an item revision on a change order.
    - `id` string, nullable — The id of the item revision, as returned by Item List
    - `name` string, nullable — The item's number and revision together, as the app displays it. Read-only
    - `number` string, nullable — The item's number. Read-only
    - `revision` string, nullable — The item's revision, or null when the item carries none. Read-only
  - `newRevisionItem` ChangeOrderItemReferenceDto — A reference to an item revision on a change order.
    - `id` string, nullable — The id of the item revision, as returned by Item List
    - `name` string, nullable — The item's number and revision together, as the app displays it. Read-only
    - `number` string, nullable — The item's number. Read-only
    - `revision` string, nullable — The item's revision, or null when the item carries none. Read-only
  - `requestedUtc` string, date-time, nullable — When the change was requested (UTC). Defaults to the moment of creation when not supplied
  - `dueDateUtc` string, date-time, nullable — When the change order is due (UTC)
  - `approvedUtc` string, date-time, nullable — When the change order was approved (UTC)
  - `completedUtc` string, date-time, nullable — When the change order was completed (UTC). Stamped server-side when status is Completed and none is supplied
  - `status` 'new' | 'inProgress' | 'completed' — Where a change order stands.
  - `detail` string, nullable — What the change is
  - `disposition` CommonReferenceDto — Represents a reference to a document in a DB collection
    - `id` string, nullable — Unique Id associated to the referenced object
    - `name` string, nullable — Descriptive name associated to the object
  - `notificationsEnabled` boolean, nullable — Whether completing a task on this change order tells the owners of the next step. Null on a create takes the company default; null on an update keeps what the change order carries

## Response `200`

The updated change order

- ChangeOrderDto — A change order: an item revision being replaced, and the sales orders, jobs and quotes it touches. Its tasks are a separate resource.
  - `id` string, nullable — The id of the change order
  - `number` integer — The change order's sequential number, unique within the tenant and assigned server-side
  - `customer` CommonReferenceDto — Represents a reference to a document in a DB collection
    - `id` string, nullable — Unique Id associated to the referenced object
    - `name` string, nullable — Descriptive name associated to the object
  - `originalRevisionItem` ChangeOrderItemReferenceDto — A reference to an item revision on a change order.
    - `id` string, nullable — The id of the item revision, as returned by Item List
    - `name` string, nullable — The item's number and revision together, as the app displays it. Read-only
    - `number` string, nullable — The item's number. Read-only
    - `revision` string, nullable — The item's revision, or null when the item carries none. Read-only
  - `newRevisionItem` ChangeOrderItemReferenceDto — A reference to an item revision on a change order.
    - `id` string, nullable — The id of the item revision, as returned by Item List
    - `name` string, nullable — The item's number and revision together, as the app displays it. Read-only
    - `number` string, nullable — The item's number. Read-only
    - `revision` string, nullable — The item's revision, or null when the item carries none. Read-only
  - `requestedUtc` string, date-time, nullable — When the change was requested (UTC). Defaults to the moment of creation when not supplied
  - `dueDateUtc` string, date-time, nullable — When the change order is due (UTC), or null when it carries no date
  - `approvedUtc` string, date-time, nullable — When the change order was approved (UTC), or null when it has not been
  - `completedUtc` string, date-time, nullable — When the change order was completed (UTC). Stamped server-side when status moves to Completed without one supplied
  - `status` 'new' | 'inProgress' | 'completed' — Where a change order stands.
  - `detail` string, nullable — What the change is
  - `disposition` CommonReferenceDto — Represents a reference to a document in a DB collection
    - `id` string, nullable — Unique Id associated to the referenced object
    - `name` string, nullable — Descriptive name associated to the object
  - `notificationsEnabled` boolean, nullable — Whether completing a task on this change order tells the owners of the next step
  - `createdBy` CommonReferenceDto — Represents a reference to a document in a DB collection
    - `id` string, nullable — Unique Id associated to the referenced object
    - `name` string, nullable — Descriptive name associated to the object
  - `createdUtc` string, date-time, nullable — When the change order was created (UTC). Read-only
  - `modifiedBy` CommonReferenceDto — Represents a reference to a document in a DB collection
    - `id` string, nullable — Unique Id associated to the referenced object
    - `name` string, nullable — Descriptive name associated to the object
  - `modifiedUtc` string, date-time, nullable — When the change order was last modified (UTC); supports incremental sync. Read-only
  - `impactedRecords` ChangeOrderImpactedRecordDto[] — The sales orders, jobs and quotes the change order impacts; empty when it impacts none. Read-only — create and update never write it, so a change made to it elsewhere while an update is in flight stands
    - `id` string, nullable — The id of the impacted record
    - `documentType` 'salesOrder' | 'job' | 'quote' — The kind of document a change order impacts.
    - `documentId` string, nullable — The id of the impacted sales order, job or quote
    - `originalRevDocumentLineId` string, nullable — For a sales order or quote, the impacted line item at the original revision. For a job, the sales order line item the job was created from
    - `newRevDocumentLineId` string, nullable — For a sales order or quote, the replacement line created at the new revision when the change order is applied; null until then
    - `disposition` string, nullable — What happens to the original line when the change order is applied
    - `rolledRev` boolean — Whether the document now sits at the change order's new revision item

## Other responses

- `400` — Validation issues with input
- `404` — Change order did not exist

## Changes

- **2026-09-26** `e584a13d530a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/changes/api/change-orders/:id/put.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/e584a13d530a?raw)
