Knit is #1 product of the week in the developer tools category on Product Hunt!

Understanding Payroll API Integration: The Complete Guide

This payroll API integration guide teaches key payroll concepts, data models, top payroll APIs, popular payroll integration use cases and how to get started

If you are looking to integrate multiple HRIS, payroll and ATS apps with a single API key, check out Knit API. If you are looking to learn more about key payroll API concepts, data models and use cases, keep reading

As the nature of employment is constantly changing with dynamic employee benefit expectations, organizational payroll is seeing constant transformation. At the same time, payroll data is no longer used only for paying employees, but is increasingly being employed for a variety of other purposes. 

This diversification and added complexities of payroll has given rise to payroll APIs which are integral in bringing together the employment ecosystem for businesses to facilitate smooth transactions. 

What are payroll APIs?

Like all other APIs or application programming interfaces, payroll APIs help companies integrate their different applications or platforms that they use to manage employee payment details together for a robust payroll system. 

Essentially, it enables organizations to bring together details related to salary, benefits, payment schedule etc. and run this data seamlessly to ensure that all employees are compensated correctly and on time, facilitating greater satisfaction and motivation, while preventing any financial challenges for the company. 

Payroll concepts and information

To build or use any payroll API or HRIS integration, it is important that you understand the key payroll concepts and the information you will need to collect for effective execution. Since payroll APIs are domain specific, lack of knowledge of these concepts will make the process of integration complicated and slow. Thus, here is a quick list of concepts to get started.

1. Frequency and repetition 

The first concept you should start with focuses on understanding the frequency and repetition of payments. There are multiple layers to understand here. 

First, understand the frequency. In technical terms, it is called pay period. This refers to the number of times a payment is made within a specific period. For instance, it could be monthly, twice in a month, four times a month, etc. Essentially, it is how many times a payment is made within a particular period.

Second, is the repetition, also known as payroll runs. Within an organization, some employees are paid on a regular basis, while others might receive a one-time payment for specific projects. A payroll run defines whether or not the payment is recurring. Your payroll run will also constitute a status to help understand whether or not the payment has been made. In case the payment is being calculated, the status will likely be unprocessed. However, once it is complete, the status will change to paid or whatever nomenclature you use. 

2. Pay scale and in-hand pay

As a part of the payroll concepts, it is extremely important for you to understand terms like pay scale, in-hand pay, compensation, pay rate, deduction, reimbursements, etc. We’ll take them one at a time.

Pay scale/ Pay rate

A pay scale or pay rate determines the amount of salary that is due to an employee based on their level of experience, job role, title, tenure with the organization, etc. 

A pay scale or a pay rate can be in the form of an hourly or weekly or even a monthly figure, say INR xx per week or INR yy per hour. It may differ for people with similar experience at the same level, based on their tenure with the company, skills and competencies, etc. 


Based on the pay scale or pay rate, a company can calculate the compensation due to any employee. Generally, the math for compensation isn’t linear. Compensation is also referred to as the gross pay which includes the pay rate multiplied by the time period that the employee has worked for along with other benefits like bonuses and commissions that might be due to the employee, based on their terms of employment. 

For instance, some organizations provide a one-time joining bonus, while others have sales incentives for their employees. All of these form a part of the compensation or gross pay. 


In addition to the benefits mentioned above, an employee might be eligible for others including a health cover, leave-travel allowance, mental wellness allowance etc. These all together add up to benefits that an employee receives over and above the pay rate


Within the compensation or the gross pay are parts of deductions, which are not directly paid to the employees. These deductions differ across countries and regions and even based on the size of the company. 

For instance, in India, companies have to deduct PF from the employee’s gross pay which is given to them at the time of retirement. However, if an organization is smaller than 20 people, this compliance doesn’t come into existence. At the same time, based on the pay scale and pay rate, there are tax deductions which are due. 

In-hand pay

The in-hand pay is essentially the amount an employee receives after addition of all due payment and subtraction of the aforementioned deductions. This is the payment that the employee receives in his/ her bank account.


Another concept within the payroll is reimbursements. There might be some expenses that an employee undertakes based on the requirements of the job, which are not a part of the gross pay. For instance, an employee takes out a client for dinner or is traveling for company work. In such cases, the expenses borne by the employee are compensated to the employee. Reimbursements are generally direct and don’t incur any tax deductions.

3. Cost to employer

The above concepts together add up to the cost to the employer. This refers to how much an employee essentially costs to a company, including all the direct and indirect payments made to them. The calculation starts with the pay scale or pay rate to which other aspects like contribution to benefits and em

Payroll data models/ data schemas 

Now that you have an understanding of the major payroll concepts, you also need to be aware about the key data or information that you will need to comprehend to work on payroll APIs. 

Essentially, there are two types of data models that are most used in payroll APIs. One focuses on the employees and the other on the overall organization or company.

Employee details

From an employee standpoint, any payroll API will need to have the following details:


The part of the world where the employee resides. You need to capture not only the present but also the permanent address of the employee.


Employee profile refers to a basic biography of the concerned person which includes their educational backgrounds, qualifications, experience, areas of expertise, etc. These will help you understand which pay scale they will fit into and define the compensation in a better way. It is equally important to get their personal details like date of birth, medical history, etc. 


An employee ID will help you give a unique identifier to each employee and ensure all payments are made correctly. There might be instances where two or more employees share the same name or other details. An employee ID will help differentiate the two and process their payrolls correctly. 


Information on dependents like elderly parents, spouses and children will help you get a better picture of the employee’s family. This is important from a social security and medicare perspective that is often extended to dependents of employees.

Company details

When it comes to company details, working with a payroll API, you need to have a fair understanding of the organizational structure. The idea is to understand the hierarchy within the organization, the different teams as well as to get manager details for each employee.

A simple use case includes reimbursements. Generally, reimbursements require an approval from the direct reporting manager. Having this information can make your payroll API work effectively.

Top payroll API use cases

Invariably, a payroll API can help you integrate different information related to an employee’s payroll and ensure a smooth payment process. However, it is interesting to note that many SaaS companies are now utilizing this payroll data collected from payroll APIs with HRIS integration to power their operations. Some of the top payroll API use cases include:

1. Insurance and lending

Often, information about payroll and income for individuals is siloed and insurance and lending companies have to navigate through dozens of documents to determine whether or not the individual is eligible for any kind of insurance or loans. Fortunately, with payroll APIs, this becomes easy by enabling several benefits. 

  • First, payroll API can help lenders or insurance agents with streamlined information on whether or not the person has the ability to pay the installments or loans. 
  • Second, any kind of lending also requires a background verification which payroll APIs with HRIS integration can easily provide. Thus, with payroll APIs, SaaS based insurance and lending companies can easily process verification and loan underwriting. 

2. Accounting

Accounting and tax management companies have for long struggled with manual paperwork to file company taxes which comply with the national and regional norms. With payroll API, SaaS based accounting firms find it extremely easy to access all employee related tax information at one place. They can see the benefits offered to different employees, overall compensation, reimbursements and all other payroll related technicalities which were earlier siloed. 

Armed with this data, courtesy payroll APIs, accounting firms find their work has been highly streamlined as they no longer have to manually document all information and then work to verify its accuracy and compliance.

3. Employee benefit companies

There are several SaaS companies today that are helping businesses set up their benefits plans and services for high levels of employee satisfaction. These employee benefits companies can take help of data from payroll APIs to help businesses customize their benefits packages to best suit employee expectations and trends. 

For instance, you might want to have different benefits for full-time versus contractual employees. With payroll API data, employee benefit companies can help businesses make financially prudent decisions for employee benefits. 

4. Performance management systems

The recent years have seen a rise in the adoption of performance management systems which can help businesses adopt practices for better employee performance. Armed with HRIS and payroll API data from different companies, these companies can identify motivators in payroll for better performance and even help identify rate of absenteeism and causes of poor performance. 

Such SaaS based companies use payroll APIs to understand which pay scale employees take more time off, what their benefits look like and how this gap can be bridge to facilitate better performance. Invariably, here, payroll data can help streamline performance management from a benefits, incentives and compensation standpoint.As well as, it makes HRIS data makes it a one click process to gather all relevant employee information. 

5. Consumer fintech companies

Consumer fintech companies, like those in direct deposit switching, are increasingly leveraging payroll APIs to facilitate their operations. Payroll API integrations allow consumers to directly route their deposits through their payroll with direct deposit switching. The account receiving the deposit is directly linked to the employee’s payroll account, making it easy for consumer fintech companies to increase their transactions, without manual intervention which increases friction and reduces overall value. 

5. Commercial insurance 

Finally, there are SaaS companies that deal with commercial insurance for companies for different purposes. Be it health or any other, payroll API data can help them get a realistic picture of the company’s people posture and their payroll information which can help these commercial insurance companies suggest the best plans for them as well as ensure that the employees are able to make the payments. They can achieve all of this without having to manually process data for all employees across the organization.

Payroll fragmentation challenges

Research shows that the payroll market is poised to grow at a CAGR of 9.2% between 2022 and 2031, reaching $55.69 billion by 2031. 

While the growth is promising, the payroll market is extremely fragmented. Undoubtedly, there are a few players like ADP RUN, Workday, etc. which have a significant market share. However, the top 10 players in the space constitute only about 55%-60% share, which clearly illustrates the presence of multiple other smaller companies. In fact, as you go down from the top 2-3 to the top 10, the market share for individual applications dwindles down to 1% each. 

Here is a quick snapshot of the payroll market segmentation to help understand its fragmented nature and the need for a unified solution to make sense of payroll APIs. 

Before moving on to how payroll fragmentation can be addressed with a unified solution, it is important to understand why this fragmentation exists. The top reasons include:

Changing and diverse employee demographics

First, different businesses have different demographics and industries that they cater to. Irrespective of the features, each business is looking for a payroll solution that provides them with the best pricing based on their number of employees and employment terms. While some might have a large number of full time salaried employees, others might have a large number of contractual workers, while the third kind might have a balanced mix of both. These diverse demographic requirements have given birth to different payroll applications, fragmenting the market. 

Dynamic market conditions

Next, it is important to understand that market conditions and employment terms are constantly in flux. 

  • On one hand, the compensation and benefits expectations are continually changing. 
  • On the other hand, with the rise of remote and hybrid work, employment models are undergoing transformation. 

Therefore, as businesses need new and fresh approaches to deal with their payroll requirements, a consequent rise of fragmentation can be observed. 

New and tech enabled solutions

Finally, organizations are increasingly adopting white labeled or embedded payroll solutions which enable them to either brand the solutions with their name or embed the API into their existing product. This is enabling market players in other verticals to also enter the payroll market, which further adds to the fragmentation. 

  • On one hand, there are completely new SaaS players entering the market to address new business needs and changing market conditions. 
  • On the other hand, existing players from other verticals are adding to their capabilities to address payroll requirements. 

Unified API for payroll integration

With so many payroll applications in the market for HRMS integration, it can be extremely daunting for businesses to make sense of all payroll related data. At the same time, it is difficult to manage data exchange between different payroll applications you might be using. Therefore, a unified payroll API can help make the process easy. 

Data normalization

First, the data needs to be normalized. This means that your unified payroll API will normalize and funnel data from all payroll providers about each employee into a consistent, predictable and easy to understand data format or syntax, which can be used. 

Data management

Second, a unified API will help you manage all employee payroll data in the form of unified logs with an API key to ensure that you can easily retrieve the data as and when needed. 

Make informed decisions

Finally, a unified payroll API can help ensure that you are able to make sense of the payroll data and make informed decisions during financial planning and analysis on factors like pay equity, financial prudence, etc. 

Payroll API data with Knit 

As a unified payroll API, Knit can help you easily get access to the following payroll data from different payroll applications that you might be using to facilitate seamless payment processing and payroll planning for the next financial year. 

Employee Profile

Seamlessly retrieve all employee data like first name, last name, unique ID, date of birth, work email, start date, termination data in case of former employees, marital data and employment type. 

Employee Organizational Structure

Hierarchical data for the employee, including information on the employee’s title and designation, department, manager details, subordinates or those who report to the employee, etc. 

Employee Dependents

Details about the family members of the employees including children, spouse and parents. The information includes name, relation, date of birth and other specific data points which can be useful when you are negotiating insurance and other benefits with third party companies. 

Employee Location 

Information on where the employee currently resides, specific address as well as the permanent address for the employee. 

Employee payroll

All kinds of details about the compensation for the employee, including gross pay, net pay, benefits and other earnings like commissions, bonuses, employee contributions to benefits, employer contributions, taxes and other deductions, reimbursements, etc. 

Wrapping up: TL:DR

Overall, if you observe it is very clear that increasingly, the payroll market is becoming more and more fragmented. Invariably, it is becoming extremely difficult for businesses using multiple payroll applications to normalize all data to facilitate understanding and exchange. To make sense of payroll APIs, you need to first acquaint yourself with the key payroll concepts like pay period, payroll run, compensation, in-hand pay, gross pay, reimbursements, benefits and deductions, etc. 

Once you understand these, you will agree that a payroll API can make the payment process seamless by helping in employee onboarding and payroll integration, management of reimbursements, administration of benefits and easy deductions, tax and net pay management, accounting and financial planning, among others. 

Increasingly, data from payroll APIs is also enabling other SaaS companies to power their operations, especially in the finance and fintech space. If you look closely, lending, insurance, portfolio management, etc. have become very streamlined, automated with a reduced reliance on manual process. At the same time, HR management has also become simplified, especially across performance management. Payroll data can help performance management companies help businesses identify the right incentive structure to motivate high performance. 

However, with increasing fragmentation, a unified payroll API can help businesses easily extract salary information, data on benefits and deductions and records about how and when the employees have been paid along with tax related information from a single source. Thus, if  you are adopting payroll API, look out for data normalization and data management for maximum business effectiveness. 

Sudeshna Roy

Head of Content, Knit

Decoding product and generating users with valuable content

Latest Blogs

Browse all Blogs
API Directory
Apr 9, 2024

A Guide toIntegrating with Freshteams API


Freshteam API Directory

A cloud based HR software, Freshteam enables organizations with managing employee details, recruitment, on-boarding, time-off, off-boarding, and organization details, among other aspects of their HR processes and practices. With Freshteam API integration, organizations can seamlessly synchronize data between their application and Freshteam to ensure real time updation of employee information across both platforms. It helps capture any changes in employee status, designation, HR policies, etc. across different applications a business uses. 

Freshteam API Authentication, Filtering, Rate Limits

To ensure utmost security and prevent unauthorized access, Freshteam API uses Oauth2.0 for authentication and authorization. Developers can use the Freshteam UI to make calls to the Freshteam authentication server to obtain an access token. This access token can be used to make valid API calls thereon. The access token identifies the requester and the requester’s permission. In the Freshteam domain, the access token is present under Your API Key, which can be copied and used to make API calls. 

Rate limits i.e. the number of API calls that can be made in a minute for Fresteam API are determined by the plan selected by the organization. The rate limit variation for each plan is dependent on the number of subscribed employees for the organization. The trial account has a limit of 10 API calls per minute, which goes on to as high as (100, 2 * number of subscribed employees) API calls per minute for the enterprise plan. Developers or admins can also keep a track of the API calls to understand their usage patterns via:

  • X-ratelimit-total: Permissible number of API calls in a minute.
  • X-ratelimit-remaining: Number of API calls remaining.
  • X-ratelimit-used-currentrequest: Number of API calls consumed by the API request that obtained the response.

There are several endpoints in Freshteam API which retrieve bulk data, especially the ones which are required to List a certain object. In such a case, developers can use pagination parameters to filter data and limit the responses for a streamlined understanding. Developers can select the page value (from which page number they want responses), as well as the number of responses required for each page (default is set at 50). They can also sort the values as ascending or descending or select some other attribute for sorting as well. 

Freshteam API Objects, Data Models & Endpoints


  • List all employees: GET /employees
  • Create an employee: POST /employees
  • Retrieve employee information: GET /employees/{id}
  • Update employee information: PUT /employees/{id}
  • List all employee fields: GET /employee_fields
  • Create a custom employee field: POST /employee_fields

Common attributes: id, created at, updated at, workstation number, date of birth, gender, address, communication address, designation, phone number, joining date, termination date, first name, last name, status, official email, personal email, employee type, team id, department id, reporting to id, time off, hire reason, marital status, etc. 


(Used to configure different geographical locations for an organization and associate employees to a branch)

  • List all branches: GET /branches

Common attributes: id, created at, updated at, name, street, state, country code, zip, time zone, currency, language, main office, date format

Departments & Sub-Departments

  • List all departments: GET /departments
  • List all sub-departments: GET /sub_departments

Business Units

  • List all business units: GET /business_units

Common attributes: id, created at, updated at, name, description


  • List all teams: GET /teams


  • List all levels: GET /levels


  • List all timeoffs: GET /time_offs
  • Create a timeoff request: POST /time_offs
  • List all timeoff types: GET /time_off_types
  • Retrieve timeoff information: GET /time_off_types/{id}
  • Cancel A Timeoff Request: PUT /time_off_types/{id}/ cancel
  • Approve A Timeoff Request: PUT /time_off_types/{id}/ approve

Common attributes: id, created at, updated at, start date, end date, status, leave units, leave type id, status comments, comments, attachment, applied by, approved by, rejected by, canceled by, notify to, description, add to calendar, canceled at, optional leave days, applicable for, auto approve, status


  • List all roles: GET /roles

Job Postings

  • List all job postings: GET /job_postings
  • Retrieve job posting information: GET /job_postings/{id}
  • List all job posting fields: GET /job_posting_fields
  • List all applicant fields: GET /job_postings/{id}/applicant_fields
  • Create an applicant: POST  /job_postings/{id}/applicants

Common attributes: id, created at, updated at, deleted, title, description, status, show_pursue_as_career, closing date, experience, remote, type, salary, branch, department, title, location, skills, requisitions, label, field type, position, candidate, candidate id, first name, last name, date of birth, mobile, phone number, source id, resume, cover letter, portfolio, skype id, content file name, url, gender, profile link, rejected at, archived at, on hold at, on hold till

Candidate Sources

  • List all candidate sources: GET /candidate_sources
  • Create a candidate source: POST /candidate_sources
  • List all candidate source categories: GET ​/candidate_source_categories

Common attributes: id, created at, updated at, deleted, label, default, leads count

User Functions

  • List all user functions: GET /user_functions

New Hires

  • Create a new hire: POST /new_hires
  • Retrieve new hire information: GET /new_hires/{id}
  • Update new hire information: PUT /new_hires/{id}

Common attributes: id, created at, updated at, deleted, first name, middle name, last name, official email, employee id, status, workstation number, designation, joining date, probation start date, probation end date, branch id, team id, department id, sub department id, termination date, termination reason, notice period, notice start date, notice end date, employee type, hired on, no show, no show reason, date of birth, marital status, gender, blood group, emergency contacts, social profiles, address, communication address, phone numbers, job codes, job exempt, scheduled weekly hours, retirement eligibility date, rehire eligibility, rehire status, confirmed, language, branch, team

Freshteam API Use Cases

  • Centralize HR operations with AI-powered virtual agents, self-service solutions and  seamless integration with MS Teams, Slack, and other applications
  • Automate internal processes with easy-to-configure workflows, leading to streamlined work and increased efficiency
  • Leverage 50+ job descriptions out of the box for use to accelerate hiring processes
  • Capture qualitative feedback about candidates along with better candidate relationships through built-in email and a manageable candidate database

Top customers

50,000+ companies from across 120+ countries use Freshteam to power their HR operations and streamline processes to make them efficient, robust and optimized. Here are some of the top customers that are leveraging Freshteam:

  • Gartner, Inc., an American technological research and consulting firm
  • OpeninApp, a smart link generator tool that ensures all social media links open in the apps they should
  • Dymocks Booksellers, an Australian-founded privately owned bookstore chain
  • Valley Medical Center, a 321-bed, acute care community hospital and clinic network
  • Kirat Plastics, a full-service custom plastic injection molding, metal pressing, fabrication, and assembly facility
  • Lot Squared Development, a Washington DC based design-build residential real estate developer 

Freshteam API FAQs

Here is a list of Freshteam API FAQs that developers must understand to make their integration journey more effective and robust:

  • How to use Freshteam Developer API? Answer
  • Where to find Freshteam API key, how to reset it and Scope of an API Key? Answer
  • What are the status and error messages that indicate the success or failure of an API request in Freshteam API? Answer
  • What are the common request header parameters used in requests to Freshteam APIs? Answer
  • What are the API methods that developers interact with for Freshteam API? Answer
  • What are models in Freshteam API? Answer

Common Integrations with Freshteam API 

Businesses, especially those engaged in the employee side of work, are increasingly seeking integration with Freshteam API to streamline data exchange between this HRIS platform and their application. Some of the top use cases and common integrations with Freshteam API include:

  • Recruitment companies which can use the write APIs to update candidate information into Freshteam once a client is hired to ensure the customer’s HRIS is up to date for all onboarding and future requirements
  • Payroll providers can leverage both read APIs to fetch employee information for payroll creation and disbursement, as well as write APIs, to push back data into customer’s Freshteam account to notify that salaries have been paid
  • Rewards and recognition companies which can use integration with Freshteam API to fetch information on employees to seamlessly manage their operations and help end customers build a culture of recognition.  

How to integrate with Freshteam API 

To kickstart the integration journey with Freshteam API, developers can go through this quick start guide. The first step is to create a developer account and join the Freshteam developer community. Next developers need to follow the installation instructions to install the API SDK. Following this it is important to get acquainted with the authorization and authentication protocols to access data and make API calls.  Learn about the terms of use for accessing or using the Freshteam developer portal and understand the different terminology used. For more support and information, businesses can scroll through the Freshteam support page and get answers to their queries. 

Get started with Freshteam API 

Companies that integrate with Freshteam API benefit from the seamless exchange of information between this HRIS platform and their application and have been able to explore multiple use cases for their end customers. However, manually building and maintaining integration with Freshteam API can be a daunting task for developers. Building the integration alone can take 4 weeks on an average and cost USD 10K (considering the cost of software developers, QA engineers, etc.). Further, the cost associated with maintaining the Freshteam API adds another burden on the bottom line, while diverting resources away from core product functionalities and enhancements. And, this is for a single HRIS integration in question here (Freshteam API). Businesses generally need to integrate with multiple HRIS APIs, meeting the demands of their end customers. Here, a unified HRIS API like Knit can enable businesses to easily integrate with multiple HRIS applications with a single connector. By incorporating an additional layer of abstraction, a unified API allows businesses to ship and scale integrations faster and in an efficient manner. Book a discovery call today to learn how developers can integrate with Freshteam API and other HRIS applications within hours and not weeks. 

API Directory
Apr 9, 2024

A Guide to Integrating with Zenefits APIs


Zenefits API Directory

TriNet Zenefits is a leading provider of full service HR solutions. It enables small and medium sized companies to administer and manage benefits, HR offerings, including time tracking, onboarding, employee engagement, employee record keeping; payroll; performance and well-being. As a highly sought after HRIS platform, companies have been increasingly integrating with TriNet Zenefits to facilitate seamless exchange of HRIS data, captured by Zenefits, with their own apps to drive diverse use cases. 

Zenefits API Authentication, Filtering, Rate Limits

Owing to the sensitive nature of information held by the HRIS application, including personal identifiable information (PII), Zenefits API ensures that all data scopes are accessed at a granular level. The Zenefits API uses OAuth2 to authenticate and authorize access to information stored in the application. OAuth2 authorizes third party applications to request private details from Zenefits accounts, without passwords. It is limited only to admins and developers receive unique Client ID and Client Secret to access data with integration. 

Zenefits API pagination helps developers define the records needed per page. The developers can use the limit parameter to specify the number of records in a response. The maximum limit can be 100, however, in case the limit is not defined, the default limit is 20. In case the total number of records do not fit into a single page, the next_url field will have a link to the next page with the remaining records. In case the next_url field displays null, then no records exist for subsequent pages. Developers can also use the starting_after or ending_before query parameter to specify pagination based on object ids. The ending_before query parameter is useful for backwards pagination. 

Zenefits API Objects, Data Models & Endpoints

It is extremely important for developers to understand the objects, data models and endpoints when it comes to integrating with Zenefits API. While the overall scope might be large, here are a few which can be considered as a starting point for Zenefits API integration. 

  • Applications: Used to return information about the application


  • Companies: Used to get information about the company


Fields include: ‘legal_name', 'ein','departments', 'locations'

  • People: Used to return information about a company’s employees


GET{:id} (For information about a single employee)

GET (For information for all employees across the company)

Fields include: 'work_email', 'date_of_birth', 'manager', 'department', 'location', 'work_phone', 'status', 'subordinates', 'banks','company', 'employments', 'department', 'location', 'manager', 'banks'

  • Employments: Used to return information about an employee’s employment history


GET{:employment_id} (For information on a specific employment

GET (For information on all employments across all people)

Fields include: 'termination_type', 'employment_type', 'comp_type', 'annual_salary', 'pay_rate', 'working_hours_per_week','person'

  • Employee Bank Accounts: Used to return information about employee’s bank account


GET{:bank_id} (For information for a specific bank)

GET (For information for all banks across all people)

  • Departments: Used to return the list of a company’s department


GET{:department_id} (For information regarding a single department:

GET (For information relating to all departments across all companies)

  • Locations: Used to return the list of a company’s location


GET{:location_id} (For information relating to a single location)

GET (For information relating to all locations across all companies)

  • Vacation Requests: Used to return information about employees' PTO vacation requests


GET{:id} (For information relating to a single vacation request)

GET{:vacation_type_id}/vacation_requests/ (For all vacation requests for a single vacation type)

Fields include: 

  • status: Requested, approved, denied, cancelled, deleted
  • vacation_type: Vacation Type for this request, e.g. Jury Duty, Work From Home, Doctor's Appointment
  • start_date: Start date of vacation request (inclusive)
  • end_date: End date of vacation request (inclusive) 
  • creator i.e. Person who filed this vacation request
  • person i.e. Person who this vacation request applies to (often the same as creator)
  • created_date: Date this vacation request was created
  • hours: Number of hours requested, generally calculated at 8 hours a day for multi-day requests and specified manually for single day requests
  • approved_date: Date this request was moved from requested status, either to approved or denied.
  • reason: Note from the person requesting this vacation
  • deny_reason: Note from the approver for why this vacation request was denied. (Only applies if status is denied)

  • Vacation Types: Used to return information about a company's PTO vacation types


GET{:id} (For information relating to a single vacation type)

Fields include:

  • status: Active, deleted
  • vacation_types
  • name: Name of the type
  • company: Company for this vacation type
  • vacation_requests: Vacation Requests for this type
  • counts_as: What account this type counts towards (vacation, sick, personal)

  • Time Durations: Used to return information about a person's T&A hours


GET{:id} (For information relating to a single time duration object)

Fields include: 

  • person: Person that this time duration is logged for people
  • activity: Activity type (work, meal_break)
  • state: Effective, overridden, deleted, correction
  • valid_status: valid, exceeds, overlapping same day, overlapping previous day, overlapping next day, missing clock out, missing clock in
  • hours: Number of hours logged
  • start: When this time duration started
  • end: When this time duration ended
  • is_overnight: Whether this time duration has been marked as part of an overnight shift
  • is_approved: When this time duration was approved. 
  • approver: Person who approved this time duration

Zenefits API Use Cases

  • Automate onboarding, saving 100s of hours as information gets auto synced to Benefits and Payroll
  • Simplify employee management with organizational charts, company directories allowing employees to update their own records
  • Improve HR processes and decision making with business intelligence reports and insights on turnover, workforce diversity, with understanding of how to pay new hires
  • Simplify the process of providing great benefits to employees, from comprehensive healthcare plans to extra perks like commuter benefits
  • Facilitate time and attendance management with employee scheduling tools, with time off and clocked-in hours automatically syncing Payroll

Zenefits API FAQs

Here is a list of FAQs about TriNet Zenefits API which can help commence and accelerate your integration:

  • What is the software stack of Zenefits? Answer
  • How to address the CORS issue in Angular 8 without changing the backend in Zenefits API? Answer 
  • How to handle New Company Installations in TriNet Zenefits API? Answer
  • How to handle New People's Subscriptions in TriNet Zenefits API? Answer
  • What does Webhooks shared secret vs OAuth client secret mean? Answer
  • How to read and write custom data with Zenefits API? Answer
  • How to issue Access Tokens for Zenefits API authentication and authorization? Answer
  • Where can I find a guidebook for Zenefits integration? Answer
  • Does Zenefits have a public API? Answer
  • What is Zenefits’ App Acceptance Criteria for API integration? Answer
  • Where is the developer portal for Zenefits API? Answer

Common Integrations with Zenefits API 

Several businesses are increasingly building integrations with Zenefits API to power operations for the end customers, facilitated by seamless data exchange, including:

  • Payroll providers to get access to employee information, employment records and agreement terms, compensation details and other relevant information like leaves, time off, etc. 
  • Candidate recruitment companies to push data about selected candidates and relevant information for smooth onboarding
  • Employee engagement companies to fetch employee data, including demographic information, personal and professional details, attendance, etc. 
  • Early wage access providers to get access to employee information, payroll details and even write back data regarding early payments/ deductions for accurate payroll processing

How to integrate with Zenefits API 

To get started with the Zenefit API integration journey, a developer account needs to be created. To create the same, developers can reach out to Zenefits team by dropping an email on this email address. Reaching out on this email ID will take the developers to the next step to get access to a sandboxed Zenefits test company and credentials to start using the API. Once the Zenefits developer account is active, developers can leverage this getting started guide for a detailed overview on REST API, Modules, Webhooks, Authentication and much more.  It is important to read through and understand the App Acceptance Criteria well. The same can be accessed here. At the same time, knowledge of the Zenefits Developer Policy is critical to understand the technical, brand and general requirements and restrictions. 

Get started with Zenefits API 

Integrating with Zenefits API is beneficial for businesses looking to seamlessly exchange data with this leading HRIS provider with bi-directional sync. However, building a custom 1:1 integration can be a complex, time and resource intensive process. The above mentioned steps, restrictions and requirements can all choke up developer bandwidth. Invariably, SaaS businesses today are moving away from building integrations to partnering with unified APIs like Knit. A unified API, in this case for HRIS integrations, enables companies to integrate once and seamlessly connect with multiple HRIS applications, including Zenefits API, without any additional requirements. With a unified HRIS API, maintenance and management of integration with Zenefits and other applications also becomes quite easy. Book a discovery call today to learn how a unified API can help you ship and scale integrations fast. 

API Directory
Mar 21, 2024

Comprehensive Guide to Keka API Directory


Keka is a leading human resources management system that enables organizations to seamlessly manage diverse aspects of their human resource processes, including recruitment and onboarding, attendance and time management, payroll, expense and performance management. With OAuth authentication, rate limiting, pagination, and adherence to industry standards, Keka provides developers with everything they need to build robust integrations with their software/ platform and facilitate data exchange between their application and this leading HRMS portal. 

Keka API Authentication, Pagination, Rate Limit

To ensure safe and secure access, Keka API uses OAuth for authentication. This suggests that for successful integration, developers need an access token which can be generated with specific details. This includes client id (identifier for the client), client secret (for secure authentication), api key (unique API key for accessing the system), scope (requires passing kekaapi for this key). To facilitate integration testing for applications, developers can also leverage the Sandbox Environment which is offered by Keka. This allows developers to ensure robust functionality, before integration production begins. Keka APIs already come with pagination implemented to ensure response time optimization. The standard or the default page size in Keka is 100 with 1 being the default page number. 

API limit is a critical element of any API and so is the case with Keka, which helps define the number of requests that can be made to Keka within a limited time period. Keka has a rate limit of 50 API requests/ minute. This suggests that once 50 requests are made in a minute, the user needs to wait for the quote to be refilled before any other request is made. The rate limits are enforced and automatically reset after 60 seconds. In case a request is made before the quota is refilled, a 429 error with the reason rateLimitExceeded will be sent. 

Keka API Objects, Data Models & Endpoints

As a developer or the representative of an organization seeking to integrate with Keka API, it is important to understand the endpoints that you will be using eventually for data exchange, both when it comes to read APIs (getting data from Keka) as well as write APIs (providing data to Keka). 



  • Get all Employees

GET https://{company}.{environment}.com/api/v1/hris/employees

  • Create an Employee

POST https://{company}.{environment}.com/api/v1/hris/employees

  • Get an Employee

GET https://{company}.{environment}.com/api/v1/hris/employees/{id}

  • Get all update fields

GET https://{company}.{environment}.com/api/v1/hris/employees/updatefields

  • Update Employee personal details

PUT https://{company}.{environment}.com/api/v1/hris/employees/{id}/personaldetails

  • Update employee job details

PUT https://{company}.{environment}.com/api/v1/hris/employees/{id}/jobdetails


  • Get all Groups

GET https://{company}.{environment}.com/api/v1/hris/groups

  • Get all Group Types

GET https://{company}.{environment}.com/api/v1/hris/grouptypes


  • Get all departments

GET https://{company}.{environment}.com/api/v1/hris/departments


  • Get all Locations

GET https://{company}.{environment}.com/api/v1/hris/locations

Job Title

  • Get all job titles

GET https://{company}.{environment}.com/api/v1/hris/jobtitles


  • Get all currencies

GET https://{company}.{environment}.com/api/v1/hris/currencies

Notice Period

  • Get all notice periods

GET https://{company}.{environment}.com/api/v1/hris/noticeperiods


Leave Types

  • Get all Leave Types

GET https://{company}.{environment}.com/api/v1/time/leavetypes

Leave Balance

  • Get all Leave balances

GET https://{company}.{environment}.com/api/v1/time/leavebalance

Leave Requests

  • Get all Leave Requests

GET https://{company}.{environment}.com/api/v1/time/leaverequests

  • Create an Leave Request

POST https://{company}.{environment}.com/api/v1/time/leaverequests



  • Get all Attendance Records

GET https://{company}.{environment}.com/api/v1/time/attendance

Attendance Capture Scheme

  • Get all captureschemes

GET https://{company}.{environment}.com/api/v1/time/capturescheme

Holiday Calendar

  • Get all holidays Calendar

GET https://{company}.{environment}.com/api/v1/time/holidayscalendar


Salary Components

  • Get all Salary Components

GET https://{company}.{environment}.com/api/v1/payroll/salarycomponents

Pay Groups

  • Get all Pay Groups

GET https://{company}.{environment}.com/api/v1/payroll/paygroups

Pay Cycles

  • Get all Pay Cycles

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles

  • Get Pay Register

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/payregister

  • Get all Pay Batches

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches

  • Get all Batch Payments

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments

  • Update the Payments status

PUT https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments

Pay Grades

  • Get all Pay Grades

GET https://{company}.{environment}.com/api/v1/payroll/paygrades

Pay Bands

  • Get all Pay Bands

GET https://{company}.{environment}.com/api/v1/payroll/paybands



  • Get all clients

GET https://{company}.{environment}.com/api/v1/psa/clients

  • Create a Client

POST https://{company}.{environment}.com/api/v1/psa/clients

  • Get a client

GET https://{company}.{environment}.com/api/v1/psa/clients/{id}

  • Update a Client

PUT https://{company}.{environment}.com/api/v1/psa/clients/{id}

Project Phases

  • Get project phases.

GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/phases

  • Create a Project Phase

POST https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/phases


  • Get all projects.

GET https://{company}.{environment}.com/api/v1/psa/projects

  • Create a Project

POST https://{company}.{environment}.com/api/v1/psa/projects

  • Get a project

GET https://{company}.{environment}.com/api/v1/psa/projects/{id}

  • Update a Project

PUT https://{company}.{environment}.com/api/v1/psa/projects/{id}

  • Get a project allocations

GET https://{company}.{environment}.com/api/v1/psa/projects/{id}/allocations

  • Get project timesheet entries.

GET https://{company}.{environment}.com/api/v1/psa/projects/{id}/timeentries


  • Get project tasks.

GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks

  • Create a task

POST https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks

  • Update a task

PUT https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks/{taskId}

  • Get project task time entries.

GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks/{taskId}/timeentries


Time Frames

  • Get time frame list.

GET https://{company}.{environment}.com/api/v1/pms/timeframes


  • Get goal list.

GET https://{company}.{environment}.com/api/v1/pms/goals

  • Update goal progress

PUT https://{company}.{environment}.com/api/v1/pms/goals/{goalId}/progress


  • Get badge list.

GET https://{company}.{environment}.com/api/v1/pms/badges


  • Add Praise

POST https://{company}.{environment}.com/api/v1/pms/praise


Expense Category

  • Get all Expense Categories

GET https://{company}.{environment}.com/api/v1/expense/categories


  • Get all Expense Claims

GET https://{company}.{environment}.com/api/v1/expense/claims

Expense Policy

  • Get all expense policies

GET https://{company}.{environment}.com/api/v1/expensepolicies



  • Get all Assets

GET https://{company}.{environment}.com/api/v1/assets

Asset Type

  • Get all Asset Types

GET https://{company}.{environment}.com/api/v1/assets/types

Asset Category

  • Get all Asset Categories

GET https://{company}.{environment}.com/api/v1/assets/categories

Asset Condition

  • Get all Asset Conditions

GET https://{company}.{environment}.com/api/v1/assets/conditions

Keka API Use Cases

  • Easy payroll processing and integration with attendance and leave to ensure proper calculation of payroll and taxes
  • Covers every HR workflow to manage people processes, including hiring, onboarding, probation confirmation, internal movements, etc.
  • Streamline all HR operations with automated workflows, comprehensive analytics, and hassle-free employee management
  • Conduct a multi-dimensional assessment of employees' abilities, behavioral competencies, and performance for constructive team evaluation
  • Get an accurate view of revenue against each project, resources allocation, and amount of time spent
  • Robust attendance management system that integrates every aspect of time tracking, including scheduling shifts, and tracking over-time, fully integrated with payroll

Top Customers

Keka, as an HRMS tool, is widely used with 5000+ customers, including:

  • Noise, India's trusted wearable watch brand
  • GrabOn, one of India’s top players in the coupons and deals industry
  • ICM, a UK-based global multi-regulated financial service provider
  • Easypolicy, a leading insurance aggregator
  • Traveazy, a Dubai-based travel-tech company focused on simplifying pilgrimage travel
  • Unbox Robotics, a leading supply chain robotics technology company specializing 
  • HackerEarth, a comprehensive developer assessment software that helps companies accurately measure developers' skills while recruiting
  • Metrochem API, a manufacturer of Active Pharmaceutical Ingredients (APIs), Pellets, and Intermediates in Multi Therapeutic segments


Here’s a list of quick FAQs which will help answer any thoughts that you might have during your journey of integrating your application with Keka API

  • How can an admin create an API access key on Keka? Answer
  • How to integrate the Mettl assessment app with Keka Hire? Answer
  • How to integrate Naukri with Keka Hire? Answer
  • How to integrate Keka Hire with HackerEarth for Sending Assessments? Answer
  • How to integrate Keka Hire with LinkedIn? Answer 
  • How to integrate MS Teams account with Keka Hire? Answer
  • How to integrate SpringVerify with Keka? Answer

How to integrate with Keka API 

If you are just getting started, it might be a good idea to go through this documentation to understand how you can initiate the integration process. The detailed documentation contains everything you need to know about the overview, endpoints and much more. Leverage this to learn about the different data models scope and other details which will come in handy to get started. At the same time, this link will help you generate the access token for seamless authentication. 

Get started with Keka API 

While the guide shared above will serve as a comprehensive starting point for you to integrate your application with Keka API, it is important to understand that the entire process can be engineering heavy, time consuming and resource intensive. Put simply, it’s not just about building an integration, but also about managing and maintaining it over time. At the same time, if you want to connect with other HRMS APIs, the process becomes multifold. In such a situation, leveraging a unified HRMS API like Knit can come in handy. Knit enables SaaS businesses to easily connect with multiple HRMS applications by integrating once with its unified API, eliminating the need to connect with each application separately.

Book a demo call today to learn how you can accelerate your integration journey with Keka and other HRMS applications using Knit. 

Start building with Knit, today

Talk to our sales team for a free tour of Knit!

Book Demo!