---
title: "List Clock Entries"
method: GET
path: "/api/v1/time-tracking/clock-entries"
tags: ["Time Tracking", "Public API"]
---

# List Clock Entries

`GET /api/v1/time-tracking/clock-entries`

## Request

- Base URL: `https://companySubDomain.bamboohr.com`
- URL: `https://companySubDomain.bamboohr.com/api/v1/time-tracking/clock-entries`
- Auth: one of:
  - HTTP basic
  - OAuth 2
    - Authorization code: `/authorize.php`
    - Token URL: `/token.php` scopes: `time_tracking:timesheets`
- TypeScript: <https://skmtc.dev/bamboohr/apis/bamboohr-api/docs/api/v1/time-tracking/clock-entries/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a paginated list of time tracking clock entries. Supports OData-style `filter` and `sort` query parameters. Pagination is page-based via `page` and `pageSize` (defaults: page 1, pageSize 50, min 10, max 200). Filterable fields: `timesheetId`, `employeeId`, `start`, `end`. Sortable fields: `start`, `end`, `updatedAt`. Default sort is `start desc`. Geolocation is omitted (null) for entries whose configuration has it disabled.

OAuth Scopes: time_tracking:timesheets

## Query parameters

- `filter` string
- `sort` string
- `page` integer
- `pageSize` integer

## Response `200`

A paginated list of clock entries.

- object: Pagination envelope shared by paginated clock entry endpoints.
  - `meta` object: Pagination metadata.
    - `totalItems` integer, required
    - `totalPages` integer, required
    - `page` integer, required
    - `pageSize` integer, required
  - `_links` object: Pagination links. Keys are omitted when there is no previous/next page.
    - `prev` object: Link object for the previous page. Omitted on the first page.
      - `href` string
    - `next` object: Link object for the next page. Omitted on the last page.
      - `href` string
  - `data` TimeTrackingClockEntryV1[]: Collection of time tracking clock entries.
    - `id` integer: Identifier for the clock entry.
    - `employeeId` integer: The employee who owns the entry.
    - `timesheetId` integer: The timesheet (pay period) this entry rolls up to.
    - `date` string, date: Calendar date the entry is attributed to (in the entry's timezone).
    - `start` string, date-time: Clock-in timestamp, ISO 8601 with the offset of the entry's timezone.
    - `end` string, date-time, nullable: Clock-out timestamp. Null while the employee is actively clocked in.
    - `timezone` string: IANA timezone name under which start / end were recorded.
    - `hours` number, float: Computed elapsed hours between start and end. Zero while the entry is open.
    - `note` string, nullable: Free-text note attached to the entry.
    - `projectId` integer, nullable: Project the time was logged against.
    - `taskId` integer, nullable: Task within the project.
    - `clockInLocation` TimeTrackingClockEntryLocationV1: Geolocation captured for a clock action.
      - `latitude` number, float: Latitude in decimal degrees.
      - `longitude` number, float: Longitude in decimal degrees.
      - `accuracy` number, float, nullable: GPS accuracy radius in meters.
      - `address` string, nullable: Client-supplied human-readable address. Not server-canonical.
    - `clockOutLocation` TimeTrackingClockEntryLocationV1: Geolocation captured for a clock action.
      - `latitude` number, float: Latitude in decimal degrees.
      - `longitude` number, float: Longitude in decimal degrees.
      - `accuracy` number, float, nullable: GPS accuracy radius in meters.
      - `address` string, nullable: Client-supplied human-readable address. Not server-canonical.
    - `schedulingShiftId` string, uuid, nullable: The scheduled shift this entry was worked against.
    - `startSource` 'USER' | 'SYSTEM', nullable: How start was set: USER or SYSTEM. Read-only; server-set.
    - `endSource` 'USER' | 'SYSTEM', nullable: How end was set: USER or SYSTEM. Read-only; server-set.
    - `clockedInBy` integer, nullable: The employee id of the actor who recorded clock-in. Differs from employeeId on proxy clock-in. Null when the actor is not an employee.
    - `clockedOutBy` integer, nullable: The employee id of the actor who recorded clock-out. Null when the actor is not an employee.
    - `createdAt` string, date-time: When the entry was created.
    - `updatedAt` string, date-time: When the entry was last modified.

## Other responses

- `401`: Unauthorized.
- `403`: Forbidden.
- `422`: Invalid query parameters.

## Changes

- **2026-11-03** `922fc15f43a7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bamboohr/apis/bamboohr-api/changes/api/v1/time-tracking/clock-entries/get.md)

---

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