---
title: "Partially update a timer"
method: PATCH
path: "/api/timers/{timerId}"
tags: ["Timer"]
---

# Partially update a timer

`PATCH /api/timers/{timerId}`

## Path parameters

- `timerId` string, required

## Response `200`

Timer

- TimerDto — Data transfer object for Timer entity
  - `id` string, required — The timer identifier
  - `jobId` string, nullable — The job identifier
  - `jobName` string, nullable — The job name.
  - `itemToMakeId` string, nullable — The item to make identifier
  - `itemToMakeItemId` string, nullable — The item to make's original item id.
  - `itemToMakeName` string, nullable — The item to make name.
  - `itemToMakeDescription` string, nullable — The item to make description.
  - `jobOperationId` string, nullable — The job operation identifier
  - `jobOperationName` string, nullable — The job operation name.
  - `jobOperationDescription` string, nullable — The job operation description.
  - `workOrderId` string, nullable — The work order identifier. Set when the timer is tracked against a work order rather than a job.
  - `workOrderName` string, nullable — The work order name (its number when unnamed).
  - `workOrderOperationId` string, nullable — The work order operation identifier.
  - `workOrderOperationName` string, nullable — The work order operation name.
  - `startedById` string, nullable — The user identifier who started the timer
  - `startedOnUtc` string, date-time, required — When the timer was started in UTC time.
  - `startedOnUtcOriginal` string, date-time, required — When the timer was ORIGINALLY started in UTC time.
  - `stoppedOnUtc` string, date-time, nullable — When the timer was stopped in UTC time.
  - `stoppedOnUtcOriginal` string, date-time, nullable — When the timer was ORIGINALLY stopped in UTC time.
  - `type` 'setup' | 'run' | 'clockIn' | 'break' | 'labor' | 'machine', required
  - `isRunning` boolean — Whether the timer is running or not
  - `createdUtc` string, date-time, required — When the timer was created in UTC time.
  - `modifiedUtc` string, date-time, nullable — When the timer was modified in UTC time.
  - `elapsedTimeInSeconds` number, double, nullable — Elapsed time this timer was running. Can be greater than the labor time if the operator has multiple concurrent timers.
  - `operationTimeInSeconds` number, double, nullable — Total Operation run time If this timer was overridden, the operation time will be adjusted by the multiple of the adjustment
  - `laborTimeInSeconds` number, double, nullable — Labor time for use in costing calculations Can be less than elapsed time if an operator's time was split between jobs
  - `machineTimeInSeconds` number, double, nullable — Machine time for use in costing and time displays which is just the elapsed time of the segments If the start/stop time has been overridden directly, use that value
  - `segments` TimerSegmentDto[], required — The segments of time that this overall timer represents.
    - `id` string, uuid, required — The timer segment identifier.
    - `startedOnUtc` string, date-time, required — When this segment begins.
    - `stoppedOnUtc` string, date-time, nullable — When this segment ends. If the timer is not stopped (still running), this value will be blank.
    - `isRunning` boolean — Whether the timer segment is running or not.
    - `details` DtoTimerSegmentAttributionDetails — Time attribution for a timer segment.
      - `timeInSeconds` number, double, required — Elapsed time. If the segment is not stopped, this value will be calculated as of now.
      - `timeInSecondsWeighted` number, double, required — Time in seconds (after using the multiplier/weighted).
      - `multiplier` number, double, nullable — With timers, because segments account for overlapping operations, we must account for the percentage to attribute to this segment.
  - `externalReferences` object, nullable — External references associated with this entity.
  - `details` DtoTimerAttributionDetails — Cost and time attribution for a timer.
    - `timeInSeconds` number, double, required — Elapsed time.
    - `timeInSecondsWeighted` number, double, required — Time in seconds (after using the multiplier/weighted).
    - `rateHourlyInPrimaryCurrency` number, double, nullable — Rate in primary currency.
    - `cost` number, double, nullable — Cost. This value will always reflect the current calculated cost. What this means is that overriding start/stop times would affect this value.

## Other responses

- `404` — Timer 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)
