---
title: "Finds timers based on search parameters"
method: POST
path: "/api/timers/list"
tags: ["Timer"]
---

# Finds timers based on search parameters

`POST /api/timers/list`

## Query parameters

- `Sort.Field` string
- `Sort.Dir` 'ascending' | 'descending' — Specify sorting direction.
- `Skip` integer
- `Take` integer

## Request body

- JobTrackingTimerRequestListTimersParameters — Parameters used for searching job tracking timers
  - `userId` string, nullable — Filter timers based on who started it
  - `jobId` string, nullable — Filter timers based on job
  - `runningTimersOnly` boolean, nullable — Filter to only running timers
  - `types` DomainTimeTrackingTimerType[], nullable — Filter to specific timer types
  - `createdBeforeUtc` string, date-time, nullable — Filters timers created before (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
  - `createdAfterUtc` string, date-time, nullable — Filters timers created after (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
  - `modifiedBeforeUtc` string, date-time, nullable — Filters timers modified before (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
  - `modifiedAfterUtc` string, date-time, nullable — Filters timers modified after (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
  - `startedBeforeUtc` string, date-time, nullable — Filters timers started before (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
  - `startedAfterUtc` string, date-time, nullable — Filters timers started after (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
  - `stoppedBeforeUtc` string, date-time, nullable — Filters timers stopped before (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
  - `stoppedAfterUtc` string, date-time, nullable — Filters timers stopped after (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
  - `stoppedBeforeUtcOriginal` string, date-time, nullable — Filters timers stopped before (exclusive) this parameter in UTC time. This explicitly looks at the ORIGINAL stopped date which means this would be primarily for filtering mechanics that necessitate scope limiting. If no time component is passed, midnight UTC will be used.
  - `stoppedAfterUtcOriginal` string, date-time, nullable — Filters timers stopped after (exclusive) this parameter in UTC time. This explicitly looks at the ORIGINAL stopped date which means this would be primarily for filtering mechanics that necessitate scope limiting. If no time component is passed, midnight UTC will be used.

## Response `200`

OK

- DtoPagedResultDtoTimerDto — Paged result
  - `data` TimerDto[], required — The data
    - `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.
  - `page` integer, required — The 1-indexed page
  - `pageSize` integer, required — The page size
  - `totalCount` integer, required — The total count of records
  - `totalPages` integer, required — The total pages
  - `hasPreviousPage` boolean, required — True if there is a previous page
  - `hasNextPage` boolean, required — True if there is a next page

---

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