List and execute saved Custom Reports via the BambooHR API
domain: hr-payroll · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Call GET https://{companyDomain}.bamboohr.com/api/v1/custom-reports to list saved custom reports, returning each report's id and name (paginated, default 500/page, max 1000)
Call Get Report by ID with a report's id to execute it and retrieve its data using the report's saved field list and filter configuration
Avoid the older POST https://{companyDomain}.bamboohr.com/api/v1/reports/custom endpoint - it is deprecated in favor of the Datasets "Get Data from Dataset" endpoint for new integrations
Paginate through large report results using the standard page parameters rather than assuming a single response contains everything
Cache report IDs after the first List Reports call rather than re-listing on every execution
Known gotchas
The ad-hoc custom-report POST endpoint is deprecated - building new integrations against it risks being on a sunset path; use List Reports + Get Report by ID, or Datasets, instead
Report definitions (fields/filters) are managed in the BambooHR UI, not via API - the API only executes and reads existing saved reports
Default page size differs from the maximum (500 default vs 1000 max) - request the larger size explicitly if you need it
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?