Time Tracking
Public API
Clock Out
Changed onClocks an employee out at the current server time, closing the employee's open clock entry (end set, endSource: USER). Proxy clock-out for a different employee requires time_tracking:timesheets.write scope plus permission to manage the target employee's time.
OAuth Scopes: time_tracking:timesheets.write
post/api/v1/time-tracking/clock-outs
Request
- Base URLhttps://companySubDomain.bamboohr.com
- Auth
- HTTP basic
- or OAuth 2Authorization code/authorize.phpToken URL/token.phpScopestime_tracking:timesheets.write
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Request body
Example request
{
"employeeId": 384,
"clockOutLocation": {
"latitude": 40.7608,
"longitude": -111.891,
"accuracy": 5,
"address": "123 Main St"
}
}Response
Successfully clocked out. Returns the closed clock entry.
Example response
{
"id": 58231,
"employeeId": 384,
"timesheetId": 1042,
"date": "2026-03-17",
"start": "2026-03-17T08:00:00-07:00",
"end": "2026-03-17T17:00:00-07:00",
"timezone": "America/Denver",
"hours": 9,
"projectId": 19,
"taskId": 47,
"clockInLocation": {
"latitude": 40.7608,
"longitude": -111.891,
"accuracy": 5,
"address": "123 Main St, Lindon, UT"
},
"clockOutLocation": {
"latitude": 40.7608,
"longitude": -111.891,
"accuracy": 5,
"address": "123 Main St, Lindon, UT"
},
"schedulingShiftId": "9f4b3e2c-1a2d-4e5f-8b9c-1d2e3f4a5b6c",
"startSource": "USER",
"endSource": "USER",
"clockedInBy": 42,
"clockedOutBy": 42,
"createdAt": "2026-03-17T08:00:00Z",
"updatedAt": "2026-03-17T17:00:00Z"
}Changes
- info
endpoint added
- info