bamboohr-cli
v1.0.27
Published
Command-line interface for the [BambooHR API](https://documentation.bamboohr.com/reference). 17 commands across 4 domains — employees, time off, files, and metadata.
Readme
bamboohr-cli
Command-line interface for the BambooHR API. 17 commands across 4 domains — employees, time off, files, and metadata.
Install
npm install -g bamboohr-cliSetup
Set two environment variables in your shell profile:
export BAMBOO_TOKEN="your-api-token" # BambooHR > Settings > API Keys
export BAMBOO_COMPANY_DOMAIN="mycompany" # the subdomain in mycompany.bamboohr.comCommands
All commands output JSON. Add --pretty to pretty-print.
employee
| Command | Description |
|---------|-------------|
| bamboohr employee get [id] | Get employee by ID (defaults to current user) |
| bamboohr employee search [query] | Search employees by name, supervisor, department, location, division |
| bamboohr employee directory | Get the full company directory |
| bamboohr employee photo <id> | Download employee photo (--size: original, large, medium, small, xs, tiny) |
| bamboohr employee goals <id> | Get performance goals (--status: open, closed, all) |
timeoff
| Command | Description |
|---------|-------------|
| bamboohr timeoff types | List time off types (--requestable to filter) |
| bamboohr timeoff create [employeeId] | Create a time off request (defaults to current user) |
| bamboohr timeoff requests | List requests (--status, --start, --end, --employee, --type) |
| bamboohr timeoff balance [employeeId] | Estimate time off balance (--end to project to future date) |
| bamboohr timeoff whos-out | View who's out today and upcoming |
| bamboohr timeoff update-status <requestId> | Approve, deny, or cancel a request |
file
| Command | Description |
|---------|-------------|
| bamboohr file list | List all company files and categories |
| bamboohr file get <fileId> | Download a company file |
meta
| Command | Description |
|---------|-------------|
| bamboohr meta fields | List all available BambooHR fields |
| bamboohr meta departments | List all departments |
| bamboohr meta locations | List all office locations |
| bamboohr meta divisions | List all divisions |
Pagination
List commands accept --limit to control page size. Responses include a nextPage token — pass it back as --offset to fetch the next page. When nextPage is null, there are no more results.
Examples
# Look up your own employee record
bamboohr employee get
# Find someone by name
bamboohr employee search "Jane"
# Filter by supervisor (use "me" for your direct reports)
bamboohr employee search --supervisor me
# Download a photo
bamboohr employee photo 123 --output ./photo.jpg --size large
# Check who's out this week
bamboohr timeoff whos-out
# Request a day off
bamboohr timeoff create --start-date 2026-04-20 --end-date 2026-04-20 --type-id 83 --amount 1
# See pending requests for approval
bamboohr timeoff requests --status requested --start-date 2026-01-01 --end-date 2026-12-31
# List available fields for custom queries
bamboohr meta fields