Time Tracking
Public API
List Timesheets
Changed onReturns a paginated list of timesheets. Supports OData-style filter (fields: employeeId, status, startDate, endDate) and sort (fields: startDate, endDate, approvedAt, updatedAt; default startDate desc). Page-based pagination via page (default 1) and pageSize (default 50, max 200). Future-period timesheets are always excluded.
OAuth Scopes: time_tracking:timesheets
get/api/v1/time-tracking/timesheets
Request
- Base URLhttps://companySubDomain.bamboohr.com
- Auth
- HTTP basic
- or OAuth 2Authorization code/authorize.phpToken URL/token.phpScopestime_tracking:timesheets
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
filterstring
OData-style filter expression.
sortstring
Sort expression. Default: startDate desc.
pageinteger
Page number (1-based).
pageSizeinteger
Records per page (max 200).
Response
Successfully retrieved the timesheets.
Example response
{
"data": [
{
"id": 100,
"employeeId": 42,
"type": "CLOCK",
"startDate": "2026-03-16",
"endDate": "2026-03-29",
"status": "PENDING_APPROVAL",
"totalHours": 80,
"createdAt": "2026-03-16T00:00:00Z",
"updatedAt": "2026-03-29T17:00:00Z",
"hoursLastChangedAt": "2026-03-29T17:00:00Z"
}
],
"meta": {
"totalItems": 42,
"totalPages": 1,
"page": 1,
"pageSize": 50
}
}Changes
- info
endpoint added
- info