Time Off
Public API
Create Time Off Policy
Changed onCreates a time off policy. Accruing policies include an inlined initial version with milestones; unlimited and manual policies have no version.
OAuth Scopes: time_off:policies.write
post/api/v1/time-off/policies
Request
- Base URLhttps://companySubDomain.bamboohr.com
- Auth
- HTTP basic
- or OAuth 2Authorization code/authorize.phpToken URL/token.phpScopestime_off:policies.write
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Request body
Example request
{
"name": "Standard Vacation",
"categoryId": 22,
"type": "ACCRUING",
"version": {
"effectiveDate": "2026-01-01",
"rateTransitions": "IMMEDIATELY",
"firstAccrual": "PRORATE",
"carryOverYmd": "01-01",
"milestones": [
{
"accrualBeginsType": "IMMEDIATELY",
"accrualHours": 6.67,
"accrualInterval": "MONTHLY",
"maximumHours": 240,
"maximumCarryOver": 40
}
]
}
}Response
The created time off policy, including currentVersion for accruing policies.
Example response
{
"id": 1,
"name": "Standard Vacation",
"categoryId": 22,
"type": "ACCRUING",
"currentVersion": {
"id": 1,
"policyId": 15,
"effectiveDate": "2026-01-01",
"status": "ACTIVE",
"rateTransitions": "IMMEDIATELY",
"firstAccrual": "PRORATE",
"carryOverYmd": "01-01",
"milestones": [
{
"id": 1,
"accrualBeginsType": "IMMEDIATELY",
"accrualHours": 6.67,
"accrualInterval": "MONTHLY",
"maximumHours": 240,
"maximumCarryOver": 40
}
],
"createdAt": "2026-01-01T06:00:00Z",
"updatedAt": "2026-01-02T17:00:00Z"
},
"assignedEmployeeCount": 42,
"createdAt": "2026-01-01T06:00:00Z",
"updatedAt": "2026-01-02T17:00:00Z"
}Changes
- info
endpoint added
- info