Time Tracking
Public API
Execute Time Tracking Import
Changed onExecutes a DRAFT time tracking import: every row is committed as a time tracking record and the import moves to COMPLETE. The work runs synchronously in one transaction, so either every row is committed or none is and the import is left in DRAFT; retrying after a 5xx is therefore safe. Every row must be free of validation errors first - correct them through the row endpoints, or the request is rejected and names the rows still failing.
OAuth Scopes: time_tracking:imports.write
post/api/v1/time-tracking/imports/{id}/execute
Request
- Base URLhttps://companySubDomain.bamboohr.com
- Auth
- HTTP basic
- or OAuth 2Authorization code/authorize.phpToken URL/token.phpScopestime_tracking:imports.write
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
idinteger required
The import ID.
Response
The import was executed. The import is returned in COMPLETE, with completedAt populated; the row endpoints report the timeTrackingId each row created.
Example response
{
"id": 77,
"status": "DRAFT",
"fileSize": 721,
"rowCount": 25,
"errorRowCount": 3,
"columnMapping": {
"employeeNumber": 0,
"dateWorked": 1,
"payRate": 2,
"rateType": 3,
"hoursWorked": 4
},
"createdAt": "2026-05-12T22:13:26Z"
}Changes
- info
endpoint added
- info