List Time Entries
Retrieve a paginated list of time clock entries.
Endpoint
GET /v1/staff/time-entries
Authentication
Requires an API key with the staff:read scope.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 15 | Items per page (max 100) |
staff_id | integer | - | Filter by staff member ID |
from | string | - | Return entries clocked in on or after this date/time |
to | string | - | Return entries clocked in on or before this date (inclusive) |
open | boolean | - | 1 returns only entries still on the clock |
sort | string | clock_in_at | Sort field: id, clock_in_at, clock_out_at, created_at |
direction | string | desc | Sort direction: asc or desc |
Response
Success (200 OK)
{
"data": [
{
"id": 12,
"staff_id": 5,
"staff": { "id": 5, "first_name": "Jane", "last_name": "Smith" },
"staff_shift_id": 44,
"clock_in_at": "2026-06-12T22:58:00+00:00",
"clock_out_at": "2026-06-13T07:04:00+00:00",
"is_on_break": false,
"break_started_at": null,
"break_minutes": 30,
"worked_minutes": 456,
"source": "kiosk",
"clocked_in_by": null,
"clocked_out_by": null,
"edited_by": null,
"notes": null,
"created_at": "2026-06-12T22:58:00+00:00",
"updated_at": "2026-06-13T07:04:00+00:00"
}
],
"meta": {
"current_page": 1,
"per_page": 15,
"total": 1,
"total_pages": 1,
"request_id": "req_abc123",
"timestamp": "2026-06-13T10:00:00+00:00"
}
}
Errors
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks staff:read scope |
Example Request
curl "https://app.equipdash.com/api/v1/staff/time-entries?open=1" \
-H "Authorization: Bearer YOUR_API_KEY"