---
title: "Create a routing operation for a specific item"
method: POST
path: "/api/items/{itemId}/routing/operations"
tags: ["Item Routing"]
---

# Create a routing operation for a specific item

`POST /api/items/{itemId}/routing/operations`

## Path parameters

- `itemId` string, required

## Request body

- ItemRoutingOperationCreateDto — A routing operation (step)
  - `systemOperationId` string, required — System Operation Id
  - `order` integer, nullable — The order of this operation. Operations with the same order are expected to run in parallel
  - `outsideProcessingOperation` ItemRoutingOutsideProcessingOperationDto — Defines outside processing fields
    - `outsideProcessingTime` 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
    - `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
    - `selectedVendorId` string, nullable — Outside processing vendor
  - `operation` ItemRoutingNormalOperationDto — Defines non-outside-processing fields
    - `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
    - `anyEquipment` boolean — Specifies that any equipment associated with this operation can be used
    - `selectedEquipmentIds` string[] — List of equipment ids selected from equipment associated with this operation
    - `isNestable` boolean — Indicate if this operation is nestable.
  - `leadDays` integer, nullable — Lead days. Will default to zero if not provided.
  - `unattended` boolean, nullable — If `true`, the run portion of this step is unattended by an operator.
  - `instructions` string, nullable — Operation instructions. Will default to the instructions defined on the operation when not provided.
  - `inputMaterialIds` string[], nullable — The ids on the input material to associate to this operation. This value should be the Id from the response from items/{itemId}/routing/input-materials/list

## Response `200`

Created operation id

- CreatedResponseDto — Response for a created record
  - `id` string, required — The id of the created record

## Other responses

- `400` — Validation issue with input
- `404` — Item id not present in the system

---

[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)
