Time Off
Public API
Create Time Off Request
Changed onCreates a time off request on behalf of an employee. The request is created with status REQUESTED and enters the approval workflow.
OAuth Scopes: time_off:requests.write
post/api/v1/time-off/requests
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.
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
{
"employeeId": 43046,
"categoryId": 22,
"startDate": "2026-01-01",
"endDate": "2026-01-03",
"employeeNote": "Family vacation.",
"amount": 16,
"dailyAmounts": [
{
"date": "2026-01-01",
"amount": 8
}
]
}Response
The time off request was created.
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