List Time Off Policies
Changed onLists time off policies, with support for filtering, sorting, and pagination. Each accruing policy includes its currently effective version with milestones inlined.
OAuth Scopes: time_off:policies
Request
- Base URLhttps://companySubDomain.bamboohr.com
- Auth
- HTTP basic
- or OAuth 2Authorization code/authorize.phpToken URL/token.phpScopestime_off:policies
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
OData filter expression applied to time off policies. Supported operators: eq (equals, use eq null to match NULL), ne (not equals, use ne null to match NOT NULL), lt (less than), le (less than or equal), gt (greater than), ge (greater than or equal), in (value in list), and (combine clauses). Not supported: or, not, parenthesized grouping. Filterable fields: id, name, categoryId, type, createdAt, updatedAt. Examples: type eq 'ACCRUING', categoryId in (22, 23), type eq 'ACCRUING' and name eq 'Standard Vacation'.
Sort the results by a property and direction, e.g. name asc. Sortable fields: id, name, categoryId, type, createdAt, updatedAt.
The page number to retrieve.
The number of items to return per page.
Response
A paginated list of time off policies.
Example response
{
"data": [
{
"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