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

Ultimate Guide for Assessment API Integration

This guide talks about integrating with assessment APIs, bi-directional sync of data between assessment tools and other applications. And relevant apis and applications for different use cases

As hiring needs for organizations become more complex, assessing candidates in a holistic and comprehensive manner is more critical than ever. Fortunately, multiple assessment software have surfaced in the recent past, enabling organizations to carry out assessments in the most effective and efficient manner. Leveraging technology, gamification and other advances, such tools are able to help organizations ensure that a candidate is a perfect fit for the role, skills, company culture and all other parameters. 

However, to make the best use of assessment software, it is important to integrate data and information from them across other platforms being used for operational efficiency and faster turnaround in recruitment and onboarding. Here, assessment API integration plays a major role. 

When organizations integrate data from the assessment API with other applications, including ATS, HRIS, interview scheduling, etc., they are able to optimize their recruitment workflow with a high degree of automation. 

In this article, we will discuss the different aspects of assessment API, its integration use cases, key data models and the different ways in which you can accomplish seamless integration. 

Assessment API Data Models

To ensure that you understand the different assessment APIs well, it is important to comprehend the data models or fields that are commonly used. One of the major reasons that the knowledge of data models is imperative is to facilitate data transformation and normalization during data sync. Here are the common data models for assessment APIs:

Candidate name

This data model focuses on the name of the candidate to whom a particular assessment will be administered and all records pertaining to the candidate will be stored. It can also be associated with a unique candidate ID to prevent any confusion in case of duplication of names. 

Candidate profile

The next data model captures the profile of the candidate. From an assessment software perspective, the focus is on a candidate’s professional profile, prior work experience, qualifications, certifications, competencies, etc. Such details help in determining the right assessments for each candidate based on their experience and the role for which they are being assessed.  

Candidate contact information

This data field keeps the details or contact information for all candidates, including phone number, email address, etc. The contact information ensures that the candidate’s can be easily informed about their assessment schedule, any changes in the schedule, results, status, etc. it facilitates smooth communication between the assessment software and the candidate. 

Candidate profile picture

Most assessment software capture candidate pictures to ensure authenticity during assessments or training. Candidate profile pictures in assessment software databases help the latter to prevent proxy attendance during interviews or assessments and address any potential foul play. 

Job type

The next data model captures the nature of employment or the type of job. Today, in addition to full-time employees, organizations are increasingly hiring consultants, gig workers and even contractual employees. The assessment requirements for each one of them can be varied. Thus, the assessment software has a data model to capture the job type to ensure appropriate assessments. 

Job information

Assessment API captures job information or job details as an important data model. Put simply, this model has all details about the role being assessed for, the requirements, skills, competencies, and other aspects which need to be assessed. As a data model or field, job information contains all aspects of the job that need to be matched when candidates are assessed. 

Job department and managers

Next in line is the data model which focuses on the job department and managers. This particular field captures the department for which the candidate has applied for and the hiring managers. The details of hiring managers are important because the results of the assessment tests have to be sent to them. 

Assessment stages

Most assessment software have a few stages that a candidate undergoes. It can start from a normal personality test and go on to psychometric evaluations, coding tests, to personal interviews. As a data model, assessment stages help hiring managers understand where the candidates stand in the hiring pipeline and how close or far they are from closing a particular role at hand. 

Assessment list

The next data model captures all the types of assessments that are available as a part of the assessment software. This field has a repository of different assessments that can be administered. 

Scorecard

Once the assessment is administered, an important data model is the scorecard. This captures how the candidate performed for a particular assessment. The scorecard format or type can be different and unique for each assessment type. In some, it can be an absolute and objective score, while some others might give a more subjective outcome, determining the suitability of the candidate for the role. 

Assessment result

The assessment result as a data model captures the final verdict for the candidate. More often than not, hiring managers can update the result as selected, rejected or any other based on the scorecard and other evaluations undertaken, post which the data can be integrated into the next workflow software. 

Assessment attachment

This data field or data model captures any attachments that come along with a particular assessment test. Some tests might require candidates to submit their assessments as an attachment or external document. This field contains all such attachments which can be consulted during final hiring decisions. 

Assessment status

The assessment status data model captures the status of the assessment test for a particular candidate. It captures if the test has been provided to the candidate, whether or not they have completed the same, etc. 

Top Assessment Applications

Now that there is a clear understanding of the different assessment software data models, let’s quickly look at some of the top assessment applications available in the market today, which can be integrated with different software like ATS, HRIS, LMS, etc. 

Name of the Assessment API Capabilities/ Features Pricing
Perspect AI Game based assessment, personality assessment, AI video interview, english language assessment Demo available, pricing available on request
The Predictive Index Behavioral Assessment, Cognitive Assessment, Job Assessment Pricing based on eligible employee count, available on request
Vervoe Customizable skills, Dynamic Skills testing, AI-powered hiring automation, anti-cheating, personalized grading Free trial available with paid options starting at $228/year
HireSelect Aptitude tests, personality tests, basic skills tests, video interviews Free trial available with paid option details available on request
Codility Online coding tests, technical interviews, anti-plagiarism toolkit, enterprise-level administration Demo available, pricing available on request
eSkill Skills testing, video response questions, cognitive aptitude, behavioral assessments Demo available, pricing available on request
Adaface Aptitude test, psychometric tests, personality tests, coding tests, automated proctoring, automated evaluation Pricing starts at $180/ year
Harver Traditional behavior, gamified behavioral, cognitive, job knowledge and skills, interviews  Demo available, pricing available on request

Assessment API Integration: Top Use Cases

Assessment software is a part of the larger ecosystem of software that companies today use to manage their people's operations. Invariably, there are several other tools and software in the market today, which when integrated with assessment APIs can lead to operational efficiency and smooth HR and related processes. There are several categories of tools out there which either feed data into assessment APIs (write APIs) or get access to data from assessment APIs (read APIs). Integration ensures that such data syncs are automated and do not require any manual interview, which can be prone to errors, time consuming and operationally taxing. Here are some of the top use cases for assessment API integration across different software. 

Assessment API integration for ATS tools

Assessment API integration is very critical for ATS or applicant tracking systems. ATS tools and platforms have all the required information about candidates, including their name, profile, pictures, contact information, etc. Assessment API integration with ATS tools ensures that the assessment read API can get access to all these details automatically without any manual intervention. At the same time, integration also facilitates real-time information updation in assessment tools, which can set up assessments for new applicants almost immediately. This leads to faster turnaround. Furthermore, the assessment write APIs can feed information back to the ATS tools with the assessment results and scorecards to help update the candidate’s status in the recruitment flow. 

Examples: Greenhouse Software, Workable, BambooHR, Lever, Zoho

Assessment API integration for candidate screening tools

Candidate screening tools help organizations determine whether or not a candidate is ideal or right for the role in question. Integration with assessment software ensures that data about a candidate’s performance in an assessment test is automatically synced for screening managers to assess the skills, competencies and abilities of the candidate and its relevance to the open position. Furthermore, assessment API integration with candidate screening tools ensures that the latter have real time access to candidate assessment results for immediate hiring decision making, based on evidence backed data for smart hiring. 

Examples: 

Assessment API integration for HRIS tools

Assessment API integration with HRIS tools is a no brainer. Once a candidate clears the assessments and is offered a job at an organization, it is essential to capture the results from the assessments in the HRIS platform. Here, the assessment write APIs play an important role. They help HR teams get access to all the relevant information about an employee based on different personality, psychometric, behavioral, cognitive tests to help them capture employee records which are robust and comprehensive. Automated integration of data from assessment tools to HRIS platforms ensures that no human error or bias crawls in when assessment data is being entered into HRIS portals. Furthermore, since many parts of an assessment test can be sensitive, such integration ensures that data exchange is confidential and on a need to know basis only. 

Examples: BambooHR, Namely, SAP SuccessFactors, Gusto

Assessment API integration for interview scheduling tools

Most companies today leverage interview scheduling tools to automate their entire interview processes, including blocking calendars, managing schedules, etc. For interview scheduling tools, integration with assessment APIs is important to ensure that all interviews with candidates can be scheduled effectively, keeping in my mind both interviewer and interviewee schedules. Interview scheduling tools can leverage assessment read APIs to understand the assessment availability and dates to schedule the interview. Furthermore, once the interview is scheduled, assessment write APIs can help provide updates on whether or not the candidate attended the interview, status, next steps to help interview scheduling tools effectively conduct interactions with candidates as needed. 

Examples: Calendly, Sense, GliderAI, YouCanBookMe, Paradox

Assessment API integration for LMS tools 

While most assessment software have use cases in the pre-employment stages, their utility can also transcend into post employment phases as well. The LMS tools can easily leverage assessment read APIs to understand the type of assessment tests available which can be used for internal training purposes. Furthermore, candidate performance in pre-employment assessment tests can be used as a baseline to define the types of training required and areas for upskilling. Overall, this integration can help identify the learning needs for the organization and clarify the assessments available for further investigation. At the same time, once the assessments are administered, the assessment write API can automatically sync the relevant data and results for post employment assessment on whether or not employees participated in the assessments, results, gaps, etc. to the LMS tools for better decision making on employee training and development. 

Example: TalentLMS, 360Learning, Docebo, Google Classroom 

Assessment API integration for talent management tools

Talent management and workforce planning tools are integral when it comes to succession planning for any organization. Assessments conducted, both pre and post employment can greatly help in determining the talent needs for any organization. Talent management tools can leverage assessment read APIs to understand how their existing or potential talent is performing along areas critical to the organization. Any gaps in the talent or consistent poor performance in a particular area of assessment can then be identified to adopt corrective measures. Assessment API integration can help talent management tools effectively understand the talent profile in their organization, which can further help in better succession planning and talent analytics. 

Examples: ClearCompany, Deel, ActivTrak

Unified Assessment API Integration: All You Need to Know

There are several ways companies can achieve assessment API integration to suit their use cases. Right from building integrations in-house for each assessment tool to practices like workflow automation tools, there are several ways to integrate. However, as the number of customers and integration needs increase exponentially, going for a unified assessment API for integration is the best move. Here are a few instances when choosing a unified API for assessment software integration makes sense. Use unified assessment API when you:

  • Wish to integrate with multiple assessment software based on your customer needs and developing point to point integration with each one is not viable
  • Have a large customer base and their integration requests for new assessment software is increasing
  • Need to deliver integrations in a short span of time and you lack dedicated engineering bandwidth in-house
  • Want to achieve assessment API integration at a lower cost with faster time to market
  • Don’t want to take the burden of ongoing maintenance and management of each integration
  • Want to skip the effort that goes into reading through API documentation for each integration
  • Want to normalize data across assessment platforms and ensure that this transformation process is 10X faster than you internal processes
  • Want to ensure complete security, especially due to the nature of sensitive information in question
  • Seek real-time sync and exchange of data for immediate action or the flexibility to customize syncs as per your needs
  • Want to skip the process of learning about different authentication keys, rate limits, etc. for different APIs

Now that you know a unified assessment API is the best and the most effective for you to build integrations with assessment software, go through the following questions to choose the best unified assessment API for your organization. 

What are the data models?

The ideal unified API normalizes and syncs data into a unified data model and facilitates data transformation 10x faster. While most fields are common and a unified model works, choose a unified assessment API which also gives you the flexibility to add some custom data models which may not align with the standard data models available. 

What are the rate limits?

Each unified API will offer rate limits, which is the number of API requests or data sync requests you can make in a given period of time. Having an optimum rate limit is extremely important. Having a very high rate limit, in which many requests can be made can lead to potential DDoS attacks and other vulnerabilities. Whereas, having a very low rate limit, where only a handful API requests can be made, might lead to inefficiencies and data inaccuracies. Therefore, gauge the rate limits offered to check if they align with your needs or if they can be customized for you. 

How secure is the integration process?

Next, any unified assessment API you choose should be high on security. On the one hand, check for compliance with all certifications and global standards. On the other hand, look out for comprehensive data encryption, which involves encrypting data at rest and in transit. When looking at security, do check the level of authentication and authorization available.  

What kind of post integration support is available?

Building integrations is followed by the operationally and technically draining tasks of managing integrations. Integration maintenance and management can take anywhere between 5-10 hours of your engineering bandwidth. Therefore, choose a unified assessment API provider which provides you with maintenance support. You should be able to manage the health of all your integrations with a robust track of all API calls, requests, etc. 

What is the sync frequency?

As data sync is the most important part of assessment API integration, check the sync frequency offered by the unified API. While real-time sync, powered by a webhook architecture which ensures real-time data transfer, without any polling infrastructure is ideal. It is equally important to have something which can be customized and allows you to set the sync frequency as per your needs. 

How easy is it to scale?

The key purpose of a unified assessment API is to scale as fast as possible and ensure all customer assessment tools are integrated with. Therefore, you must check the breadth of assessment API integrations being offered. At the same time, explore how open and forthcoming the unified API provider is to custom integrations for you if needed. This also needs to be weighted against the time taken for each new integration and any cost associated with the same. 

Can it take a high data load?

Finally, as you add more assessment API integrations and the number of customers using the same increase, the data load for sync will experience an exponential rise. Thus, your unified assessment API must facilitate guaranteed scalability with quality sync, irrespective of the data load. Without the same, there are chances of data corruption. 

Knit: Unified Assessment API

As a leading unified assessment API, Knit has the right tick mark for all the considerations mentioned above and much more. Here’s why you should consider Knit for your assessment API integration needs:

  • Unified data model which normalizes data with option to customize some fields
  • Double encryption of data with encryption for PII and user credentials
  • Compliance with  SOC2, GDPR, ISO27001
  • No storage of a copy of any data that passes through Knit
  • Webhook architecture for real time data sync irrespective of data load
  • Option to customize sync frequency whenever needed
  • Availability of OAuth, API key or a username-password based authentication
  • Bi-directional data sync to read and write from any assessment software
  • Detailed Logs, Issues, Integrated Accounts and Syncs page for integration management

Book a demo today to learn about the other ways in which Knit can be your ideal unified assessment API partner, how it works and anything else you need to know!

Wrapping up: TL:DR

Integrating with assessment APIs can help different companies and platforms unlock value to better streamline their operations. Assessment API integration can facilitate bi-directional sync of data between assessment tools and other applications. While there are several ways to achieve such integration, a unified API is one of the top contenders as it facilitates data normalization, high levels of security, guaranteed scalability, seamless maintenance and management and real time data syncs. 

Akshat Jain

SDE & DevRel

Coding chaos into innovation and building from zero to scale

Latest Blogs

Browse all Blogs
API Directory
Apr 9, 2024

A Guide toIntegrating with Freshteams API

11
mins

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

Employees

  • 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. 

Branches

(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

Teams

  • List all teams: GET /teams

Levels

  • List all levels: GET /levels

Timeoffs

  • 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

Roles

  • 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

11
mins

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

GET https://api.zenefits.com/platform/applications

  • Companies: Used to get information about the company

GET https://api.zenefits.com/core/companies

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

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

GET https://api.zenefits.com/core/companies/{:company_id}/people

GET http://api.zenefits.com/core/people/{:id} (For information about a single employee)

GET http://api.zenefits.com/core/people (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 https://api.zenefits.com/core/people/{:person_id}/employments

GET https://api.zenefits.com/core/employments/{:employment_id} (For information on a specific employment

GET https://api.zenefits.com/core/employments (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 https://api.zenefits.com/core/people/{:person_id}/banks

GET http://api.zenefits.com/core/banks/{:bank_id} (For information for a specific bank)

GET http://api.zenefits.com/core/banks (For information for all banks across all people)

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

GET https://api.zenefits.com/core/companies/{:id}/departments

GET http://api.zenefits.com/core/departments/{:department_id} (For information regarding a single department:

GET http://api.zenefits.com/core/departments (For information relating to all departments across all companies)

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

GET https://api.zenefits.com/core/companies/{:company_id}/locations

GET http://api.zenefits.com/core/locations/{:location_id} (For information relating to a single location)

GET http://api.zenefits.com/core/locations (For information relating to all locations across all companies)

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

GET https://api.zenefits.com/time_off/vacation_requests

GET http://api.zenefits.com/time_off/vacation_requests/{:id} (For information relating to a single vacation request)

GET http://api.zenefits.com/time_off/vacation_types/{: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 https://api.zenefits.com/time_off/vacation_types 

GET http://api.zenefits.com/time_off/vacation_types/{: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 https://api.zenefits.com/time_attendance/time_durations

GET http://api.zenefits.com/time_attendance/time_durations/{: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

11
mins

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). 

CORE HR

Employees

  • 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

Groups

  • 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

Departments

  • Get all departments

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

Locations

  • 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

Currency

  • 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

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

ATTENDANCE

Attendance

  • 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

PAYROLL

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

PSA

Clients

  • 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

Projects

  • 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

Tasks

  • 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

PMS

Time Frames

  • Get time frame list.

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

Goal

  • 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

Badge

  • Get badge list.

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

Praise

  • Add Praise

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

EXPENSE

Expense Category

  • Get all Expense Categories

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

Expense

  • 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

ASSETS

Asset

  • 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

Keka API FAQs

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!