Time Off
Public API
Approve Time Off Request
Changed onApproves a time off request. Completes the caller's step in the approval chain, or every remaining step when bypass is true. Returns the updated time off request, which remains in REQUESTED status when further approvals are still outstanding.
OAuth Scopes: time_off:requests.write
post/api/v1/time-off/requests/{id}/approvals
Request
- Base URLhttps://companySubDomain.bamboohr.com
- Auth
- HTTP basic
- or OAuth 2Authorization code/authorize.phpToken URL/token.phpScopestime_off:requests.write
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
idinteger required
The time off request ID.
Query parameters
returnActionsboolean
Set to true to include the _links block naming the state transitions available to the caller for this time off request. Also accepts 1, yes and on. Omitted from the response by default.
Request body
Example request
{
"managerNote": "Approved. Enjoy your time off!"
}Response
The updated time off request.
Example response
{
"id": 1,
"employeeId": 43046,
"categoryId": 22,
"startDate": "2026-01-01",
"endDate": "2026-01-01",
"amount": 3.5,
"unit": "HOURS",
"status": "APPROVED",
"requestedAt": "2026-01-01T06:00:00Z",
"dailyAmounts": [
{
"date": "2026-01-01",
"amount": 8
}
],
"employeeNote": "Family trip.",
"managerNote": "Approved. Enjoy your time off!",
"statusUpdatedAt": "2026-01-02T17:00:00Z",
"statusUpdatedBy": 2274,
"_links": {
"self": {
"href": "/api/v1/time-off/requests/{id}"
},
"edit": {
"href": "/api/v1/time-off/requests/{id}",
"method": "PATCH"
},
"cancel": {
"href": "/api/v1/time-off/requests/{id}/cancellations",
"method": "POST"
}
}
}Changes
- info
endpoint added
- info