Get Time Off Balance

Returns time off balances for an employee across all assigned categories as of a given date. Each category's balance is calculated by summing all historical balance events (accruals, manual adjustments, used time off, and carry-over events) plus any future accruals and adjustments up to the specified date. To get current balances, pass today's date; to project future balances, pass a future date. Response defaults to XML unless Accept: application/json is provided.

This endpoint does not accept the 0 self sentinel. Unlike Get Employee (get-employee), passing 0 as employeeId returns 404 with an empty body and the header x-bamboohr-error-message: Employee not found. To read the authenticated caller's own balances, first resolve their internal employee ID with get-employee using the id 0, then call this endpoint with that ID.

Permissions. Access is gated on the same Time Off tab view permission the web application uses. That permission is configured per access level and is not implied by the reporting structure: being an employee's manager does not by itself grant it, and a manager may receive 403 for their own direct reports. A caller without permission for the target employee receives an explicit 403 rather than an empty success, so the two cases are distinguishable: a 403 means access was denied, while an empty array with 200 means the employee has no assigned policies among the time off types this caller can view. Do not read a 403 as the employee having no time off, and do not read an empty array as a permission problem.

Because the categories returned are limited to the time off types the caller can view for that employee, two callers can legitimately receive different subsets for the same person. Treat the returned set as what this caller may see, not as the employee's complete policy list. list-employee-time-off-policies-v1-1 is the companion endpoint for the underlying assignments and is gated on the same permission.

A category returning 0.00 is not an error and does not necessarily mean the time cannot be requested. Discretionary policies (for example Bereavement or FMLA) are granted as needed rather than accrued, so they normally report a zero balance while still being available to request. Use policyType to distinguish accruing from discretionary before characterizing a zero.

OAuth Scopes: time_off

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
^\d+$

The internal employee ID of the employee whose time off balances are returned.

Query Params
date

The date to calculate the time off balance as of, in YYYY-MM-DD format. Defaults to company today if not provided. Example: use a future date to project balance.

integer
0 to 4
Defaults to 2

Number of decimal places for balance and usedYearToDate values. Minimum 0, maximum 4. Defaults to 2.

Headers
string
enum

This endpoint can produce either JSON or XML.

Allowed:
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

401

Unauthorized. Invalid API credentials.

403

Insufficient permissions to view this employee's time off.

Language
Credentials
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json