For Agents
Read and write employee, company, department, and time-off data across BambooHR, Gusto, Workday, ADP, Rippling, and other HRIS providers through one unified API.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the HRIS API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with HRIS API API.
List, create, retrieve, update, and delete employee records across the connected HRIS
Manage company and department records to model the connected organisation's structure
Read payroll runs and per-employee payroll line items for downstream finance reconciliation
Submit, update, and cancel employee time-off requests through the time-off-requests endpoints
GET STARTED
Use for: List all active employees in the connected HRIS, Create a new employee record for a recently hired developer, Update an employee's department after an internal transfer, Submit a time-off request for an employee for next Friday
Not supported: Does not run payroll, manage benefits enrollment, or handle ATS/recruiting workflows — use for employee, department, time-off, and read-only payroll data only.
The Apideck HRIS API is a unified interface across HR information systems including BambooHR, Gusto, Workday, ADP, and Rippling. A single set of 25 endpoints covers employees, companies, departments, payrolls, employee schedules, and time-off requests, eliminating the need to maintain a separate integration per HRIS vendor. Employee records support the standard CRUD lifecycle, while payroll endpoints are read-only — payroll runs are surfaced as data, not triggered through this API. Time-off requests can be created and updated, making it usable for self-service leave workflows.
Retrieve employee work schedules under /hris/schedules/employees/{employee_id}
Look up an individual employee's payroll history with GET /hris/payrolls/employees/{employee_id}
Patterns agents use HRIS API API for, with concrete tasks.
★ Cross-HRIS Employee Sync
Pull a normalised employee directory from whichever HRIS a customer uses (BambooHR, Gusto, Workday, ADP, Rippling) into a SaaS product without writing per-vendor integrations. The HRIS Unified API exposes the same 25 endpoints regardless of provider, so a single GET /hris/employees pagination loop syncs the directory across the customer base. Useful for IT provisioning, security tooling, or employee directory features.
Page through GET /hris/employees with limit=100 until the cursor returns null, returning a deduped list of employee_id, full_name, department, and employment_status
Self-Service Time Off
Build an internal Slack bot or chat app that lets employees submit, check, and cancel time-off requests without leaving the chat surface. POST /hris/time-off-requests creates a new request, GET retrieves its status, PATCH updates start/end dates, and DELETE cancels it. The same flow works across all HRIS providers Apideck supports.
Submit a vacation request for employee_id 'emp_42' from 2026-08-10 to 2026-08-14 with type 'vacation' and verify the resulting status is 'pending'
Payroll Reconciliation Feed
Pull payroll run data from the customer's HRIS into an accounting or analytics system. GET /hris/payrolls lists runs, GET /hris/payrolls/{payroll_id} returns the detail of one run, and GET /hris/payrolls/employees/{employee_id} returns the per-employee history. Read-only — payroll runs are not triggered through this API, only surfaced for reconciliation.
Get the most recent payroll run, then for each employee in it return employee_id, gross_pay, and net_pay as a CSV string
AI Agent HR Workflow via Jentic
An AI HR assistant fields a request like 'who's out next week?'. Through Jentic, the agent searches 'list time off requests', loads the GET /hris/time-off-requests operation, and executes it filtered by date range. Jentic stores the Apideck Authorization, x-apideck-app-id, and x-apideck-consumer-id headers separately so the agent never sees the raw key, even when the workflow spans multiple HRIS calls.
Through Jentic, search 'list time off requests', load GET /hris/time-off-requests, filter to the next 7 days, and return employee names with their leave dates
25 endpoints — the apideck hris api is a unified interface across hr information systems including bamboohr, gusto, workday, adp, and rippling.
METHOD
PATH
DESCRIPTION
/hris/employees
List employees
/hris/employees
Create an employee
/hris/employees/{id}
Update an employee
/hris/departments
List departments
/hris/payrolls
List payroll runs
/hris/time-off-requests
Create a time-off request
/hris/time-off-requests
List time-off requests
/hris/schedules/employees/{employee_id}
List an employee's schedule
/hris/employees
List employees
/hris/employees
Create an employee
/hris/employees/{id}
Update an employee
/hris/departments
List departments
/hris/payrolls
List payroll runs
Three things that make agents converge on Jentic-routed access.
Credential isolation
Apideck application keys, x-apideck-app-id, and x-apideck-consumer-id values are stored encrypted in the Jentic vault. Agents receive scoped execution tokens and never see the raw Authorization value, even when reading sensitive payroll data.
Intent-based discovery
Agents search by intent (for example 'list employees' or 'create a time off request') and Jentic returns the matching HRIS operation with its input schema, so the agent calls GET /hris/employees or POST /hris/time-off-requests without browsing Apideck docs.
Time to first call
Direct Apideck HRIS integration: 1-2 days to wire auth, pagination, and per-connector field-level differences. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
BambooHR API
BambooHR-only HRIS API with deeper BambooHR-specific features but no abstraction over Gusto or Workday.
Choose BambooHR direct when the customer is BambooHR-only and needs vendor-specific objects like custom tables; choose Apideck HRIS for write-once cross-HRIS code.
Gusto API
Gusto-only payroll and HRIS API with deeper payroll capabilities the unified API does not surface.
Choose Gusto direct when you need to actually run payroll (the unified API is read-only for payroll); choose Apideck HRIS for read-heavy multi-vendor workflows.
Apideck Vault API
Vault sets up and stores the OAuth or API key connection the HRIS API executes against.
Use Vault first to authorise the customer's HRIS connection; then call HRIS endpoints scoped to the resulting consumer ID.
Specific to using HRIS API API through Jentic.
What authentication does the Apideck HRIS API use?
An apiKey scheme on the `Authorization` header containing your Apideck application key, plus `x-apideck-app-id` and `x-apideck-consumer-id` headers identifying the app and end user. Through Jentic these are stored encrypted in the vault and injected at execution time.
Can I trigger a payroll run with the HRIS API?
No. The payroll endpoints (GET /hris/payrolls and GET /hris/payrolls/employees/{employee_id}) are read-only — they expose payroll runs and line items for reconciliation but do not start a run. Trigger runs in the underlying HRIS UI or its native API.
What are the rate limits for the Apideck HRIS API?
The OpenAPI spec does not publish per-endpoint rate limits. Apideck applies plan-based limits at unify.apideck.com plus per-connector limits passed through from the underlying HRIS. See https://developers.apideck.com for your plan's quotas.
How do I create a time-off request through Jentic?
Install with `pip install jentic`, then run the search query 'create a time off request'. Jentic returns POST /hris/time-off-requests — load its schema, supply employee_id, start_date, end_date, and request type, then execute.
Which HRIS providers does this API support?
Apideck's HRIS Unified API normalises BambooHR, Gusto, Workday, ADP, Rippling, and other HRIS systems behind one set of 25 endpoints. The actual provider used is determined by the connection associated with the x-apideck-consumer-id; manage connections via the Vault API.
Can I update an existing employee's department or job title?
Yes. Use PATCH /hris/employees/{id} with the employee object's department, job_title, or related fields. The PATCH applies a partial update so unspecified fields are left unchanged. Confirm the change with a follow-up GET /hris/employees/{id}.
/hris/time-off-requests
Create a time-off request
/hris/time-off-requests
List time-off requests
/hris/schedules/employees/{employee_id}
List an employee's schedule