---
title: Unified HRIS API — Truto Unified API
slug: hris
canonical: "https://truto.one/unified-apis/hris/"
---

# Human Resource Information System Unified API

Integrate Human Resource Information System data across 41 providers with one API. 20 normalized resources, real-time pass-through, fully customizable.

**Base URL:** `https://api.truto.one/unified/hris`  
**Resources:** 20  
**Integrations:** 41

## Resources

### Bank Info

Bank info represent the Bank Account information for an Employee (7 fields)

- `id` (string) — The unique identifier for bank info
- `employee` (string) — This represents employee
- `account_number` (string) — This represents the account number
- `bank_name` (string) — This represents the bank name
- `account_type` (string) — This represents the account type
- `created_at` (string) — This represents the date when the bank info was created
- `updated_at` (string) — This represents the date when the bank info was updated

### Benefits

Benefits represent the benefits for an Employee (13 fields)

- `id` (string) — The unique identifier for benefits
- `name` (string) — The name of the benefit
- `employee` (object) — Employee associated with this benefit
- `provider_name` (string) — This represents the provider name
- `company_benefit` (object) — 
- `employee_contribution` (string) — This represents the employee contribution
- `company_contribution` (string) — This represents the company contribution
- `currency` (string) — This represents the currency in which the contribution is made
- `start_date` (string) — This represents the start date of the benefit
- `end_date` (string) — This represents the end date of the benefit
- `status` (string) — This represents the status of the benefit
- `created_at` (string) — This represents the date when the benefits was created
- `updated_at` (string) — This represents the date when the benefits was updated

### Companies

Companies represent the companies in HRIS (6 fields)

- `id` (string) — The unique identifier for companies
- `legal_name` (string) — This represents the legal name
- `display_name` (string) — This represents the display name
- `enis` (array) — This represents the company's Employer Identification Numbers.
- `created_at` (string) — This represents the date when the companies was created
- `updated_at` (string) — This represents the date when the companies was updated

### Company Benefits

Represents the benefits offered by a company (7 fields)

- `id` (string) — The unique identifier for company benefits
- `name` (string) — This represents the name of the company benefit
- `description` (string) — This represents the description of the company benefit
- `status` (string) — This represents the status of the company benefit
- `company` (object) — This represents the company associated with the company benefit
- `created_at` (string) — This represents the date when the company benefits was created
- `updated_at` (string) — This represents the date when the company benefits was updated

### Employee Compensations

Represent the compensation configuration for an Employee (14 fields)

- `id` (string) — The unique identifier for the compensation
- `type` (string) — The type of compensation
- `description` (string) — The description of the compensation
- `employee` (object) — Employee associated with this compensation
- `amount` (number) — Represents the amount of the compensation. Can be a number or percentage.
- `currency` (string) — Represents the currency of the compensation
- `period` (string) — Represents the period of the compensation
- `payment_frequency` (string) — Represents how often the compensation is paid
- `status` (string) — Represents the status of the compensation
- `start_date` (string) — Represents the start date of the compensation
- `end_date` (string) — Represents the end date of the compensation
- `end_reason` (string) — Represents why the compensation ended
- `created_at` (string) — This represents the date when the compensation was created
- `updated_at` (string) — This represents the date when the compensation was updated

### Employee Payroll Runs

Employee Payroll Runs represent the Employee Payroll Runs for an Employee (13 fields)

- `id` (string) — The unique identifier for Employee Payroll Runs
- `employee` (string) — This represents employee 
- `payroll_run` (string) — This represents the payroll run
- `gross_pay` (number) — This represents the gross pay
- `net_pay` (number) — This represents the net pay
- `start_date` (string) — This represents the start date
- `end_date` (string) — This represents the end date
- `check_date` (string) — This represents the check date
- `earnings` (array) — This represents the earnings
- `deductions` (array) — This represents the deductions
- `taxes` (array) — This represents the taxes
- `created_at` (string) — This represents the date when the Employee Payroll Runs was created
- `updated_at` (string) — This represents the date when the Employee Payroll Runs was updated

### Employees

Represents an employee in HRIS (32 fields)

- `id` (string) — The unique identifier for employees
- `employee_number` (string) — This represents the employee number
- `company` (object) — This represents the company
- `first_name` (string) — This represents the first name of the employee
- `middle_name` (string) — This represents the middle name of the employee
- `last_name` (string) — This represents the last name of the employee
- `name` (string) — This represents the name of the employee
- `username` (string) — This represents the username
- `job_title` (string) — Job title of the employee
- `groups` (array) — This represents the groups
- `emails` (array) — The emails of the user
- `phones` (array) — The phones of the user
- `employments` (array) — Represents a role or employment of the employee in the company
- `home_location` (array) — This represents the home location
- `work_location` (object) — This represents the work location
- `manager` (object) — Represents the manager of the employee. Is also an employee.
- `pay_group` (object) — This represents the pay group
- `ssn` (string) — This represents the ssn
- `gender` (string) — This represents gender
- `ethnicity` (string) — This represent ethnicity
- `marital_status` (string) — This represents marital status
- `date_of_birth` (string) — This represents date of birth
- `start_date` (string) — This represents the start date
- `employment_status` (string) — This represents the employment status. If no clear mapping is available, then the raw value is returned.
- `termination_date` (string) — This represents the termination date
- `termination_type` (string) — Represents the type of termination. If no clear mapping exists, then raw value is returned.
- `termination_reason` (string) — Represents the reason for termination
- `avatar` (string) — This represents the avatar
- `tags` (array) — The employee's tags
- `created_at` (string) — This represents the date when the Employee was created
- `updated_at` (string) — This represents the date when the Employee was updated
- `etag` (string) — The unique identifier for the specific version of the resource.

### Employments

Employments represent a job position at a company. (15 fields)

- `id` (string) — The unique identifier for employments
- `employee` (object) — Employee associated with this employment
- `job_title` (string) — Job title of the employee
- `pay_rate` (number) — This represents the pay rate
- `pay_period` (string) — This represents the pay period
- `pay_frequency` (string) — This represents the pay frequency
- `pay_currency` (string) — This represents the pay currency
- `pay_group` (string) — This represents the pay group
- `flsa_status` (string) — This represents the flsa status
- `effective_date` (string) — Represents the effective date of the employment
- `end_date` (string) — Represents the end date of the employment
- `employment_type` (string) — This represents the employment type
- `end_reason` (string) — Represents why the employment ended
- `created_at` (string) — This represents the date when the employments was created
- `updated_at` (string) — This represents the date when the employments was updated

### Fields

Represent the fields for various entities in the company (6 fields)

- `id` (string) — The unique identifier for the field
- `name` (string) — The name of the field
- `label` (string) — The descriptive label of the field
- `entity_type` (string) — The entity name the field belongs to
- `created_at` (string) — This represents the date when the field was created
- `updated_at` (string) — This represents the date when the field was updated

### Group Types

Group types represent the types of group. (5 fields)

- `id` (string) — The unique identifier for group type
- `name` (string) — Group type's name
- `description` (string) — Short description of the group type
- `created_at` (string) — This represents the date when the group types was created
- `updated_at` (string) — This represents the date when the group types was updated

### Groups

Groups represent the groups for an Employee (7 fields)

- `id` (string) — The unique identifier for groups
- `parent_group` (string) — Parent Group of this group
- `name` (string) — Group's name
- `description` (string) — Short description of the group
- `type` (string) — Type of the group. Some underlying providers use this to differentiate between in-built and user created groups.
- `created_at` (string) — This represents the date when the groups was created
- `updated_at` (string) — This represents the date when the groups was updated

### Job Roles

Represent the job roles in a company (5 fields)

- `id` (string) — The unique identifier for job roles
- `name` (string) — This represents the name of the job role
- `description` (string) — This represents the description of the job role
- `created_at` (string) — This represents the date when the job roles was created
- `updated_at` (string) — This represents the date when the job roles was updated

### Locations

Locations represent the locations in HRIS (12 fields)

- `id` (string) — The unique identifier for locations
- `name` (string) — This represents the name of the location
- `phone_number` (object) — This represents the phone number of the location
- `street_1` (string) — This represents the Line 1 of the location's street address.
- `street_2` (string) — This represents the Line 2 of the location's street address.
- `city` (string) — This represents the city
- `state` (string) — This represents the state
- `postal_code` (string) — This represents the zip
- `country` (string) — This represents the country
- `location_type` (string) — This represents the location type
- `created_at` (string) — This represents the date when the locations was created
- `updated_at` (string) — This represents the date when the locations was updated

### Pay Groups

Paygroups represent a subset of employees that are put together for payroll processing purposes. (5 fields)

- `id` (string) — The unique identifier for paygroups
- `name` (string) — This represents the name of the paygroup
- `pay_group_name` (string) — This represents the name of the paygroup
- `created_at` (string) — This represents the date when the paygroups was created
- `updated_at` (string) — This represents the date when the paygroups was updated

### Payroll Runs

Payrollruns represent  a group of pay statements for a specific pay schedule. (8 fields)

- `id` (string) — The unique identifier for payrollruns
- `run_state` (string) — This represents the run state
- `run_type` (string) — This represents the run type
- `start_date` (string) — This represents the start date
- `end_date` (string) — This represents the end date
- `check_date` (string) — This represents the check date
- `created_at` (string) — This represents the date when the payrollruns was created
- `updated_at` (string) — This represents the date when the payrollruns was updated

### Tags

The tags represent a tag for a employee. (4 fields)

- `id` (string) — The tag's unique identifier
- `name` (string) — The tag's name
- `created_at` (string) — The date and time of the tag's creation
- `updated_at` (string) — The date and time of the tag's last update

### Timeoff Balances

Represent the time off balances for an Employee (6 fields)

- `id` (string) — The unique identifier for time off balances
- `employee` (object) — This represents the employee the balance belongs to..
- `timeoff_policy` (string) — This represents the time off policy of the time off request.
- `balance` (number) — This represents the balance of the time off request.
- `created_at` (string) — This represents the date when the timeoffbalances was created
- `updated_at` (string) — This represents the date when the timeoffbalances was updated

### Timeoff Policies

Represent the time off policies in a company (4 fields)

- `id` (string) — The unique identifier for TimeoffPolicy
- `name` (string) — This represents the name of the time off policy
- `description` (string) — This represents the description of the time off policy
- `unit` (string) — This represents the unit of the time off policy

### Timeoff Requests

Represent the time off requests for an Employee (16 fields)

- `id` (string) — The unique identifier for timeoffpolicies
- `description` (string) — This represents the description of the time off request.
- `reason` (object) — This represents the reason of the time off request.
- `employee` (object) — This represents the employee requesting time off.
- `approver` (string) — This represents the approver of the time off request.
- `status` (string) — This represents the status of the time off request.
- `employee_note` (string) — This represents the employee note for the time off request.
- `units` (string) — This represents the units of the time off request.
- `amount` (number) — This represents the amount of the time off request.
- `timeoff_type` (string) — This represents the time off type of the time off request.
- `request_policy_type` (string) — This represents the request type of the time off request.
- `start_time` (string) — This represents the start time of the time off request.
- `end_time` (string) — This represents the end time of the time off request.
- `session` (string) — This represents the session of the time off request.
- `created_at` (string) — This represents the date when the timeoffpolicies was created
- `updated_at` (string) — This represents the date when the timeoffpolicies was updated

### Timeoff Types

Represent the time off types in a company (6 fields)

- `id` (string) — The unique identifier for TimeoffType
- `name` (string) — This represents the name of the time off type
- `description` (string) — This represents the description of the time off type
- `unit` (string) — This represents the unit of the time off type
- `created_at` (string) — This represents the date when the timeofftype was created
- `updated_at` (string) — This represents the date when the timeofftype was updated

## Supported integrations

- [AlexisHR](https://truto.one/integrations/detail/alexishr/)
- [BambooHR](https://truto.one/integrations/detail/bamboohr/)
- [Breathe](https://truto.one/integrations/detail/breathe/)
- [Charlie](https://truto.one/integrations/detail/charlie/)
- [ClayHR](https://truto.one/integrations/detail/clayhr/)
- [Factorial](https://truto.one/integrations/detail/factorial/)
- [Google](https://truto.one/integrations/detail/google/)
- [Google Workspace](https://truto.one/integrations/detail/googleworkspace/)
- [greytHR](https://truto.one/integrations/detail/greythr/)
- [Gusto](https://truto.one/integrations/detail/gusto/)
- [Hailey HR](https://truto.one/integrations/detail/haileyhr/)
- [HeavenHR](https://truto.one/integrations/detail/heavenhr/)
- [HiBob](https://truto.one/integrations/detail/hibob/)
- [HR Cloud](https://truto.one/integrations/detail/hrcloud/)
- [HR Partner](https://truto.one/integrations/detail/hrpartner/)
- [HROne](https://truto.one/integrations/detail/hrone/)
- [Humaans](https://truto.one/integrations/detail/humaans/)
- [IntelliHR](https://truto.one/integrations/detail/intellihr/)
- [JumpCloud](https://truto.one/integrations/detail/jumpcloud/)
- [Keka](https://truto.one/integrations/detail/keka/)
- [Kenjo](https://truto.one/integrations/detail/kenjo/)
- [Lucca](https://truto.one/integrations/detail/lucca/)
- [Microsoft 365](https://truto.one/integrations/detail/microsoft/)
- [Microsoft Dynamics 365 Business Central](https://truto.one/integrations/detail/msbusinesscentral/)
- [MYNDHRX](https://truto.one/integrations/detail/myndhrx/)
- [Namely](https://truto.one/integrations/detail/namely/)
- [Officient](https://truto.one/integrations/detail/officient/)
- [Okta](https://truto.one/integrations/detail/okta/)
- [Oracle Fusion Cloud HCM](https://truto.one/integrations/detail/oraclefusioncloudhcm/)
- [Oracle Netsuite](https://truto.one/integrations/detail/netsuite/)
- [PeopleForce](https://truto.one/integrations/detail/peopleforce/)
- [PeopleHR](https://truto.one/integrations/detail/peoplehr/)
- [Personio](https://truto.one/integrations/detail/personio/)
- [PrimePay HR](https://truto.one/integrations/detail/primepayhr/)
- [RazorpayX Payroll](https://truto.one/integrations/detail/razorpayxpayroll/)
- [Rippling](https://truto.one/integrations/detail/rippling/)
- [ServiceNow](https://truto.one/integrations/detail/servicenow/)
- [Square](https://truto.one/integrations/detail/square/)
- [Workable](https://truto.one/integrations/detail/workable/)
- [Zoho People](https://truto.one/integrations/detail/zohopeople/)
- [Zwayam](https://truto.one/integrations/detail/zwayam/)

## Related reading

- [Building Native HRIS Integrations Without Draining Engineering in 2026](https://truto.one/blog/building-native-hris-integrations-without-draining-engineering-in-2026/) — Your team says a Workday integration is 'just a week.' Here's why HRIS integrations take months, cost 40-70% more to maintain in-house, and how to ship them without burning your roadmap.
- [Kombo vs Finch vs Truto: Why Single-Vertical Unified APIs Hit a Wall](https://truto.one/blog/kombo-vs-finch-vs-truto-why-single-vertical-unified-apis-hit-a-wall/) — Comparing Kombo and Finch for HRIS and payroll integrations, and why growing B2B SaaS companies are migrating to multi-category unified APIs like Truto to scale.
- [Automating the Employee Compliance Lifecycle: From Offer Letter to Offboarding](https://truto.one/blog/automating-the-employee-compliance-lifecycle-from-offer-letter-to-offboarding/) — Automate the employee compliance lifecycle from hiring to offboarding. Learn how to use Unified APIs to sync ATS, HRIS, LMS, and Directory data for SOC 2 readiness.
- [What Are the Best Alternatives to Kombo for HRIS Integrations in 2026?](https://truto.one/blog/what-are-the-best-alternatives-to-kombo-for-hris-integrations-in-2026/) — Compare the top Kombo alternatives for HRIS integrations in 2026: Merge.dev, Apideck, Nango, and Truto. Covers data privacy, custom fields, pricing, and AI readiness.
- [Why B2B Fintech Needs More Than Bank Data: Embracing Unified APIs for Core Business Systems](https://truto.one/blog/why-b2b-fintech-needs-more-than-bank-data-unified-apis/) — Bank feeds aren't enough for B2B fintech. Learn why engineering teams are adopting horizontal unified APIs to integrate with NetSuite, Workday, and QuickBooks.
- [What Are HRIS Integrations? The 2026 Guide for B2B SaaS PMs](https://truto.one/blog/what-are-hris-integrations-the-2026-guide-for-b2b-saas-pms/) — HRIS integrations connect your SaaS product to HR platforms via APIs. Learn the data models, real engineering costs, use cases, and strategies to ship them fast in 2026.
