---
title: "List time entries"
method: GET
path: "/maintenance/time-entries/stream"
tags: ["Maintenance"]
---

# List time entries

`GET /maintenance/time-entries/stream`

## Request

- Base URL: `https://api.samsara.com`
- URL: `https://api.samsara.com/maintenance/time-entries/stream`
- Auth: HTTP bearer

Returns a paginated feed of technician time entries updated in the requested time window, including deletion tombstones.

 <b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).

To use this endpoint, select **Read Time Entries** under the Work Orders category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
 

 **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.

## Query parameters

- `startTime` string, required
- `endTime` string
- `after` string
- `limit` integer

## Response `200`

OK response.

- EntityTimeEntriesServiceListTimeEntriesResponseBody
  - `data` EntityListTimeEntriesTypeResponseBody[], required: An array of TimeEntries
    - `activityType` 'unknown' | 'break' | 'shopCleaning' | 'partsHandling' | 'operationalTest' | 'equipmentSetup' | 'inspection' | 'roadCall' | 'training' | 'administrative' | 'shopMiscellaneous': Non-repair activity associated with the time entry. Omitted for work-order time. Valid values: `unknown`, `break`, `shopCleaning`, `partsHandling`, `operationalTest`, `equipmentSetup`, `inspection`, `roadCall`, `training`, `administrative`, `shopMiscellaneous`
    - `activityTypeId` string: ID of the non-repair activity, including activity types defined by the organization, which activityType reports as unknown. Omitted for work-order time.
    - `activityTypeName` string: The organization's display name for the non-repair activity. Omitted for work-order time.
    - `clockInAtTime` string: Time when the technician clocked in.
    - `clockInLocation` ListTimeEntriesEntityTimeEntryTimeEntryLocationTypeResponseBody: TimeEntryLocation object
      - `latitude` number, double: Latitude in decimal degrees.
      - `longitude` number, double: Longitude in decimal degrees.
    - `clockInSource` 'unknown' | 'cloud' | 'mobile': Surface that recorded the clock-in. Valid values: `unknown`, `cloud`, `mobile`
    - `clockOutAtTime` string: Time when the technician clocked out. Omitted while the entry is in progress.
    - `clockOutLocation` ListTimeEntriesEntityTimeEntryTimeEntryLocationTypeResponseBody: TimeEntryLocation object
      - `latitude` number, double: Latitude in decimal degrees.
      - `longitude` number, double: Longitude in decimal degrees.
    - `clockOutMethodType` 'unknown' | 'manual' | 'overwrite' | 'clockIn' | 'autoClockOut': Method that ended the time entry. Valid values: `unknown`, `manual`, `overwrite`, `clockIn`, `autoClockOut`
    - `clockOutSource` 'unknown' | 'cloud' | 'mobile': Surface that recorded the clock-out. Valid values: `unknown`, `cloud`, `mobile`
    - `createdAtTime` string: Time when the time entry was created.
    - `deletedAtTime` string: Time when the time entry was deleted. Deleted records contain only the ID, this field, and deletedByUserId when available.
    - `deletedByUserId` string: Dashboard user ID that deleted the time entry, when available.
    - `hourlyRate` ListTimeEntriesEntityTimeEntryMoneyTypeResponseBody: Money object
      - `amount` string: Monetary amount as a decimal string in major currency units (e.g. "24.50").
      - `currency` string: ISO 4217 currency code, lowercased (e.g. "usd").
    - `id` string: Stable unique identifier for the time entry.
    - `placeId` string: Samsara Place currently linked to the work order's maintenance site captured at clock-in.
    - `serviceTaskId` string: Work-order service-task instance associated with the time entry, when present.
    - `timeEntryStatus` 'unknown' | 'inProgress' | 'completed': Whether the time entry is in progress or completed. Valid values: `unknown`, `inProgress`, `completed`
    - `updatedAtTime` string: Time when the time entry was last updated. The feed window and ordering operate on this field.
    - `userId` string: Dashboard user ID of the technician. Omitted when the technician is not linked to a dashboard user.
    - `workOrderId` string: Work order associated with the time entry. Omitted for non-repair activities.
  - `pagination` GoaPaginationResponseResponseBody, required: Pagination parameters.
    - `endCursor` string, required: Cursor identifier representing the last element in the response. This value should be used in conjunction with a subsequent request's 'after' query parameter. This may be an empty string if there are no more pages left to view.
    - `hasNextPage` boolean, required: True if there are more pages of results immediately available after this endCursor.

## Other responses

- `401`: Unauthorized response.
- `404`: Not Found response.
- `405`: Method Not Allowed response.
- `413`: Content Too Large response.
- `429`: Too Many Requests response.
- `500`: Internal Server Error response.
- `501`: Not Implemented response.
- `502`: Bad Gateway response.
- `503`: Service Unavailable response.
- `504`: Gateway Timeout response.
- `default`: Bad Request response.

---

[API](https://skmtc.dev/samsara/apis/samsara-api.md) - [All operations](https://skmtc.dev/samsara/apis/samsara-api/llms.txt) - [OpenAPI document](https://skmtc.dev/samsara/apis/samsara-api/revisions/a9e35d4999be?raw)
