---
title: "Update an operation."
method: PUT
path: "/api/operation/{id}"
tags: ["Operation"]
---

# Update an operation.

`PUT /api/operation/{id}`

## Path parameters

- `id` string, required

## Request body

- OperationUpdateDto — Details of an operation to be updated. This is a full replacement of the publicly-exposed fields. Internal-only fields not exposed here (in-process tracking, tolerances, shop rates) are preserved.
  - `name` string, required — The name of operation.
  - `description` string, required — The description of the operation.
  - `isOutsideProcessing` boolean — Specifies whether this is an outside processing operation.
  - `setupTime` ItemRoutingOperationTime — Operation time and type
    - `time` number, double — Time or units of this operation
    - `option` 'fixedSeconds' | 'fixedMinutes' | 'fixedHours' | 'fixedDays' | 'secondsPerUnit' | 'minutesPerUnit' | 'hoursPerUnit' | 'daysPerUnit' | 'unitsPerHour' — The time unit or option used in operation times
  - `laborTime` ItemRoutingOperationTime — Operation time and type
    - `time` number, double — Time or units of this operation
    - `option` 'fixedSeconds' | 'fixedMinutes' | 'fixedHours' | 'fixedDays' | 'secondsPerUnit' | 'minutesPerUnit' | 'hoursPerUnit' | 'daysPerUnit' | 'unitsPerHour' — The time unit or option used in operation times
  - `machineTime` ItemRoutingOperationTime — Operation time and type
    - `time` number, double — Time or units of this operation
    - `option` 'fixedSeconds' | 'fixedMinutes' | 'fixedHours' | 'fixedDays' | 'secondsPerUnit' | 'minutesPerUnit' | 'hoursPerUnit' | 'daysPerUnit' | 'unitsPerHour' — The time unit or option used in operation times
  - `machineTimeTrackingEnabled` boolean — Specifies whether machine tracking is enabled.
  - `outsideProcessingCost` ItemRoutingOutsideProcessingOperationCost — Outside processing operation cost
    - `costOption` 'fixed' | 'perUnit' — The cost option for the outside processing operation
    - `fixedCost` number, double, nullable — The fixed total cost for the operation
    - `perUnitCost` number, double, nullable — The cost per unit for the operation
  - `defaultVendorId` string, nullable — Default vendor id that will be used for this operation. Please reference /api/vendors endpoint.
  - `vendors` string[], nullable — Available vendors.
  - `leadDays` integer, nullable — Lead days.
  - `instructions` string, nullable — Instructions.
  - `accountingCodeId` string, nullable — Accounting code key identifier. Please reference /api/accounting-codes endpoint.

## Response `200`

The updated operation

- OperationDto — Operation definition.
  - `id` string, required — Unique id associated to this entity.
  - `name` string, required — Identifying name. Must be unique.
  - `description` string, nullable — A verbose description of the location.
  - `setupTime` ItemRoutingOperationTime — Operation time and type
    - `time` number, double — Time or units of this operation
    - `option` 'fixedSeconds' | 'fixedMinutes' | 'fixedHours' | 'fixedDays' | 'secondsPerUnit' | 'minutesPerUnit' | 'hoursPerUnit' | 'daysPerUnit' | 'unitsPerHour' — The time unit or option used in operation times
  - `laborTime` ItemRoutingOperationTime — Operation time and type
    - `time` number, double — Time or units of this operation
    - `option` 'fixedSeconds' | 'fixedMinutes' | 'fixedHours' | 'fixedDays' | 'secondsPerUnit' | 'minutesPerUnit' | 'hoursPerUnit' | 'daysPerUnit' | 'unitsPerHour' — The time unit or option used in operation times
  - `machineTimeTrackingEnabled` boolean, nullable — Is machine time tracking enabled.
  - `machineTime` ItemRoutingOperationTime — Operation time and type
    - `time` number, double — Time or units of this operation
    - `option` 'fixedSeconds' | 'fixedMinutes' | 'fixedHours' | 'fixedDays' | 'secondsPerUnit' | 'minutesPerUnit' | 'hoursPerUnit' | 'daysPerUnit' | 'unitsPerHour' — The time unit or option used in operation times
  - `isOutsideProcessing` boolean — Specifies whether this is an outside processing operation
  - `outsideProcessingCost` ItemRoutingOutsideProcessingOperationCost — Outside processing operation cost
    - `costOption` 'fixed' | 'perUnit' — The cost option for the outside processing operation
    - `fixedCost` number, double, nullable — The fixed total cost for the operation
    - `perUnitCost` number, double, nullable — The cost per unit for the operation
  - `unattended` boolean — Specifies whether this is operation will be unattended.
  - `defaultVendorId` string, nullable — Default vendor id that will be used for this operation. Please reference /api/vendors endpoint.
  - `leadDays` integer — Lead days.
  - `accountingCodeId` string, nullable — Accounting code key identifier. Please reference /api/accounting-codes endpoint.
  - `workCenters` CommonReferenceDto[] — The work centers associated with the operation
    - `id` string, nullable — Unique Id associated to the referenced object
    - `name` string, nullable — Descriptive name associated to the object
  - `isNestable` boolean — Indicates if this operation is nestable.
  - `instructions` string, nullable — Instructions.
  - `rates` DtoOperationRates — Hourly cost and shop rates for an operation, in the shop's primary currency. Cost rates override work-center rates when costing jobs; shop rates drive quoted pricing for the operation. A null rate means no operation-level rate is set and the work-center rates apply.
    - `hourlyRateForSetupInPrimaryCurrency` number, double, nullable — Hourly cost rate applied to setup time.
    - `hourlyRateForLaborInPrimaryCurrency` number, double, nullable — Hourly cost rate applied to labor time.
    - `hourlyRateForOverheadInPrimaryCurrency` number, double, nullable — Hourly overhead cost rate.
    - `hourlyRateForMachineInPrimaryCurrency` number, double, nullable — Hourly cost rate applied to machine time.
    - `hourlyShopRateForSetupInPrimaryCurrency` number, double, nullable — Hourly shop rate charged for setup time when pricing.
    - `hourlyShopRateForRunInPrimaryCurrency` number, double, nullable — Hourly shop rate charged for run time when pricing.
    - `hourlyShopRateForMachineInPrimaryCurrency` number, double, nullable — Hourly shop rate charged for machine time when pricing.

## Other responses

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

---

[API](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi.md) · [All operations](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fulcrumpro/fulcrum-publicapi/versions/1b5649cff14a/schema)
