Time Off
Public API
Deny Time Off Request
Changed onDenies a time off request. A single denial is final: it completes the caller's step and discards any remaining steps in the approval chain, so the returned time off request is always in DENIED status.
OAuth Scopes: time_off:requests.write
post/api/v1/time-off/requests/{id}/denials
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": "Denied. We need coverage that week."
}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