Returns a paginated list of time entries. Required scope: r_time_tracking.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
This endpoint uses ther_time_trackingscope, which must be enabled through the Integrations section found within the Settings menu.
This endpoint supports both user tokens and account tokens.
Token behaviour
Account token — when employee_ids is omitted, returns time entries for every employee in the account. Supply employee_ids to filter for specific employees.
User token — when employee_ids is omitted, returns the authenticated user's own entries plus those of all direct and indirect descendants in the org chart. Users with the time tracking manage permission receive every entry in the account regardless of the org chart.
When employee_ids is provided on a user token, each id is authorized individually: if the user cannot view any of the requested employees, the request fails with 403.
Time format
Times are returned in UTC
clock_in_timeandclock_out_timeare returned as ISO 8601 timestamps in UTC (with theZsuffix, e.g.2024-10-15T09:00:00.000Z). Each entry also includes atimezonefield with the IANA timezone (e.g.Europe/London) that was resolved for the timesheet at the time the entry was persisted — use it to render the wall-clock time when needed.
Results
Calling the /time-tracking/time-entries endpoint returns a paginated list of time entries. An example of the response follows:
{
"total_count": 2,
"time_entries": [
{
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"employee_id": "3fc9a811",
"type": "time-entry",
"clock_in_time": "2024-01-15T09:00:00.000Z",
"clock_out_time": "2024-01-15T17:30:00.000Z",
"worked_minutes": 510,
"is_active": false,
"note": "Regular shift",
"timezone": "Europe/London"
},
{
"uuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"employee_id": "3fc9a811",
"type": "clock-in",
"clock_in_time": "2024-01-16T09:05:00.000Z",
"clock_out_time": null,
"worked_minutes": null,
"is_active": true,
"note": null,
"timezone": "Europe/London"
}
]
}Each time entry will have the following keys:
| key | type | description |
|---|---|---|
| uuid | string | Unique identifier for the time entry |
| employee_id | string | SPI key of the employee |
| type | string | Entry type: time-entry, clock-in, clock-out, ergani-clock-in, or ergani-clock-out |
| clock_in_time | string | null | ISO 8601 clock-in timestamp in UTC (with Z suffix); null for clock-out entries |
| clock_out_time | string | null | ISO 8601 clock-out timestamp in UTC (with Z suffix); null for open clock-in entries |
| worked_minutes | integer | null | Duration in minutes; null if the entry is still active or has no out-time |
| is_active | boolean | true if this is the currently running clock entry |
| note | string | null | Optional note attached to the entry |
| timezone | string | IANA timezone resolved for the timesheet (e.g. Europe/London, Etc/UTC) |
Error responses
| Status | Condition |
|---|---|
| 400 | Invalid query parameters (e.g. to_date before from_date, duration without duration_operator, invalid limit/offset values) |
| 403 | Missing required scope r_time_tracking, or a user token supplied an employee_ids value it cannot view |
