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

Why You Should Use Unified API for Integration Management

Managing integrations in-house is time-taking and costly, often resulting in product delays or poor customer experience. Here's how a Unified API can help

Integrations play an important role for any SaaS business. However, building and maintaining all integrations in-house can be a development and technical nightmare for developers as it takes the focus away from core product functionalities. In this article, we will focus on how iPaaS, a cloud-based platform for integrations, can help B2B companies seamlessly manage integrations without any additional technical expertise or resources by addressing integration management challenges.

Integration management

Before moving onto some of the challenges that developers face with integration management and how iPaaS can help, let’s look at what exactly is integration management. Integration management essentially begins once you have built or deployed the integrations and they are now ready to be used. It includes:

Authorization and Authentication

Integration management starts with authorization which ensures that only applications which have the right permissions are able to access data from other connected applications in the integration ecosystem. It generally involves providing an API key or other access key for the requesting system. 

Authentication is an important aspect of every integration which helps the different applications being used in authenticating the identity of the user. It ensures that only credible users or those who are authorized to access or exchange data from a particular application get access to the integration. When a company is using several integrations together, each one needs to be authenticated separately. It is essential to ensure the integrity and the security of the systems being integrated and prevent unauthorized access. 

Configuration

Integrations need to be configured for the end user either on the cloud or on premise. It involves defining parameters for data exchange, interfaces, protocols, etc. Under configuration, developers generally set the limits for data exchange and access, establish connectivity via APIs, web services and even configure security and authentication. Configuration ensures that the integration has been set up properly and is able to function smoothly and effectively. Furthermore, configuration helps keep pace with incremental changes in the applications being integrated. 

Another part of configuration is the kind of data an integration reads, shared by another application. For instance, a HRIS will typically have data on employee name, payroll, timesheet, attendance, leave requests, etc. However, an employee communication integration will not need access to all this data. Thus, configuration involves ensuring that data limits are set appropriately to ensure that only necessary data is shared. Each of such data limits constitute a separate configuration. 

Maintenance

Finally, integration maintenance ensures that integration between two or more applications in place is working smoothly. This involves keeping a check of regular updates, monitoring performance and troubleshooting to fix bugs, and maintaining support documentation with key changes. Maintenance is instrumental in facilitating the overall success of the integration ensuring its sustainability and scalability for integration performance. Integration maintenance includes ongoing activities and processes for integration effectiveness. 

Challenges to in-house integration management

As you would have noticed by now, integration management in-house requires a lot of technical expertise and bandwidth. This will either require redirection of existing resources or hiring of new ones, both of which require additional budgets and costs. In fact, each of the components of integration management bring along unique challenges for in-house developers. Let’s look at some of the top challenges that you might face if you are trying to management your integrations in-house:

High costs and bandwidth

The first challenge under integration management is the high cost and bandwidth issue that most growing SaaS companies face. Since each application which forms a part of the integration ecosystem for a business is different, each one requires a unique approach towards management. This comes with incremental cost for management of each integration along with the bandwidth that goes into it. 

For instance, the approach or the API used for integration A might be different from what integration B uses. In such a scenario, a developer will have to separately invest time, effort, bandwidth and monetary resources into fixing any bugs that might arise, or even to monitor smooth functioning. Therefore, since each application is different, integration management in-house becomes significantly cost and bandwidth intensive. Costs are also acquired in training additional resources for maintenance as well as costs for monitoring, testing, and troubleshooting. 

Shift of focus from core processes

Managing every integration is like managing a whole product in itself. Consequently, managing multiple integrations for SaaS companies requires a lot of technical staff. However, since integration management is not a revenue generating vertical, hiring developers specifically for this doesn’t make sense. Invariably, this leads to an added KPI for developers, shifting their focus from core processes.

Many developers end up spending more time in authentication, configuration and maintenance of integrations over working on and improving the core processes or functionalities of their product. This leads to a declining product experience where developers are only able to spend a part of their time on adding product improvements and fixing issues. Thus, in-house integration management tends to shift the focus of developers from core product KPIs. 

While these are the overall challenges, let’s now look at very specific development challenges that come along for each component of the integration management lifecycle. 

Authentication and authorization challenge

Let’s start with the authorization and authentication challenge. When it comes to integrations, authorization and authentication can be a complex process due to a variety of reasons. Integration authorization can be challenging with the complexities of  APIs (Application Programming Interfaces) and OAuth (Open Authorization). Authorizing one application to access data of another can bear security threats if access is not properly controlled.

There are several ways of authentication, including password, biometric, two-factor authentication, certificate authentication, among others. Each integration can employ a different way which not only makes the process complex but also adds compatibility challenges for authentication methods and protocols.

Furthermore, any lapse in successful authentication can lead to a security compromise. If an integration is not authenticated correctly, there might be chances of unauthorized access, posing a major security threat. Authentication if not done properly can result in security breaches or even data leaks across integrations. 

Another parameter under authentication stems from control of data. When you are managing authentication in-house, you need to set different requirements for access for different data across multiple or even the same integration. You might need to build and manage a functionality which gives different integrations the flexibility to customize the data available to different users. 

Finally, the authorization and authentication measures need to be continually updated, especially when applications change their authentication protocols, which can be time and cost intensive. Furthermore, integration authentication is an important part of user onboarding for the integration and your product. If it is too time consuming or difficult, it can lead to a poor user experience. Therefore, in-house integration authentication poses a security, complexity and experience threat. 

Configuration challenge

Configuration helps ensure that the integrations are set up properly for the end user and are deployed effectively. However, the configuration process is always full of challenges when maintained in-house. Under configuration, leveraging webhooks is extremely important. But, webhooks tend to expire to facilitate elimination of the ones which are not being actively used. This expiration needs to be tackled with re-registration of webhooks from time to time. This suggests that webhooks need to be managed and reviewed to ensure that they are relevant and working. 

On the flip side, if webhooks are not used, managing and syncing incremental changes can be technically very difficult. Every application comes up with incremental changes and updates very frequently. A major part of integration configuration is to ensure these incremental changes are synced in real time to provide the customer with the best possible experience. However, this syncing when approached in-house manually, can be extremely time consuming, and might even get missed. 

Furthermore, within each integration, there can be different levels of configuration depending on the read/write scope based on what data needs to be shared with the integration. Building these configurations combined with regularly managing and updating them can be an engineering challenge, as it can involve multiple configurations for a single integration. 

Finally, when you try to manage configuration in-house, you are responsible for pulling out and exchanging large scale data between systems. At times, systems are unable to maintain the volume of data that comes their way which often results in configuration delays or challenges, making in-house configuration a threat to integration success. 

Maintenance challenge

Finally, the authentication and configuration challenge is followed by the integration challenge of maintenance. Even after you successfully configure the integrations, you have to take care of maintenance when handling integration management in-house. For instance, for any integration, the endpoints might change. Whether you get intimation from the application a week in advance or receive changes overnight, about changes in endpoints or parameters, the onus falls on you and your team of developers to ensure a smooth experience. 

Furthermore, APIs also keep changing over time. As APIs change, the way your systems or applications will communicate and exchange data also changes. As a developer, it is your responsibility to keep pace with changing or unstable APIs to prevent error messages, broken functionalities and unexpected behaviors for your customers. Invariably, when the old endpoints retire, a new version of the API comes to light, which needs to be deployed for your customers without any disruption in their workflow. 

Maintenance of unstable APIs, changing endpoints, etc. is one of the key maintenance issues that takes up significant bandwidth for engineering teams that seek to manage integrations in-house. 

At the same time, as applications keep getting updated, integration maintenance calls for testing to ensure smooth functioning. This also requires constant monitoring to quickly identify problems. Many developers believe that lack of bandwidth to monitor integration leads to a lack of visibility into integration challenges on the go, resulting in delayed redressal. 

Additionally, each integration can have its own way of sending out error messages which can be vague or abstract. They may be in a language that you don’t understand. As a developer, it will be extremely difficult for you to address a challenge or a bug that you are unable to comprehend. If you are maintaining integrations in-house, you stand at the risk of dealing with errors which you can get through. 

Furthermore, maintenance also involves ensuring seamless customer experience. While it may look simple, it can truly be challenging in case an integration fails. Factors like how and when to inform the customer can be tricky. You need to not only fix the breakdown, but also communicate the challenge to the customer and address their queries, which can further add burden on your engineering team to explain the technicalities. 

It is also important to note that while many challenges in maintenance like expiration of APIs, or changing permissions are easy to address, they require you to quickly diagnose the root cause of the challenge. This will need you to look into your integration infrastructure which might eat into your development time or take your focus away from building product functionalities. 

How Unified API helps

A unified API stands as a single solution to help businesses address the challenges that come along with integration management. Here are a few ways a unified API does so:

Reduced costs and bandwidth

To begin with, a unified APi significantly reduces the costs associated with integration on several levels. On the one hand, it facilitates operational efficiency and takes care of all error handling and troubleshooting which ensures that your engineering team doesn’t have to constantly monitor integration, which can lead to a huge bandwidth drain. On the other hand, hard costs of hiring additional developers and even loss of revenue due to delayed maintenance redressal are reduced, if not completely eliminated. 

Sharp focus 

Similarly, a unified API takes care of end-to-end maintenance not only of errors, but also to ensure that any new updates to the APIs are taken care of before anyone notices, and source API schema changes are fixed instantly. These integration management areas when absorbed by the unified API allow developers to focus solely on building and improve core product functionalities. 

Greater security and streamlined authentication

A unified API comes with robust practices that can help improve the integration posture for any business. Practices like least privilege, continuous monitoring and logging, data classification and encryption, infrastructure protection via advanced firewalls, DDoS protection using load balancers, intrusion detection, etc. ensure that authentication which is a major part of integration management is streamlined. At the same time, other security threats are also addressed with these measures. 

Easy API management

Integration management becomes a challenge due to the large number of APIs that developers have to manage as the volume of integrations increase. With a unified API, developers have to only learn about the architecture and rules of one API which is easier to understand and configure. 

Wrapping up: TL:DR

It is quite evident that while integrations play an important role in SaaS companies, managing them in-house requires significant engineering expertise and costs and might lead to product delays or poor customer experience is not handled effectively. Some of the top challenges include:

  • Diversion of focus of engineering team
  • Multiple ways of authentication for different applications
  • Security risks and threats from unauthorized access due to authentication failure
  • Configuration challenges in ensuring real time syncing of incremental changes
  • Keeping pace with management and expiration of webhooks
  • Monitoring of API changes, endpoint permissions, etc. 

While these are some of the top challenges with in-house integration management, partnering with an iPaaS can help address these challenges in many ways with:

  • Integration lifecycle support
  • Centralized view of all integrations
  • High level of security and compliance to prevent unauthorized access
  • Maintenance of webhooks 
  • Effective resource utilization

Thus, it is advisable for B2B SaaS companies to invest in iPaaS to take care of all integration management while your engineering team can focus on product development, functionality improvement and product enhancements.

Akshat Jain

SDE & DevRel

Coding chaos into innovation and building from zero to scale

Latest Blogs

Browse all Blogs
API Directory
Feb 26, 2024

greytHR API Guide

11
mins

greytHR API Directory

greytHR is a leading HR and Payroll software provider for small and medium sized companies. It enables HR teams and professionals to automate all people operations including employee information management, leave and attendance management, training, appraisals, compensation, etc. greytHR API enables developers to access HR related information like Employee/Leave/Attendance/Salary for seamless exchange between different applications. 

greytHR API Authentication

greytHR is based on oAuth2 based authentication for access to APIs, which is an industry-standard protocol for authorization. Since the greytHR API captures a lot of sensitive and confidential information, only authorized entities get access to it. Each API request is authenticated with an auth-token using the client id and client credentials obtained during the registration process. A verified username and password is used for basic authentication. 

greytHR API API Objects, Data Models & Endpoints

If you are working with greytHR API for integration with other applications, it is important to understand the data models, objects and endpoints to facilitate data normalization and accurate API requests. Some of these are captured below to help you get started. 

Employee

  • GET Get all Employees: https://api.greythr.com/employee/v2/employees?page=1&size=35 
  • GET Get Employee: https://api.greythr.com/employee/v2/employees/{employee-id}
  • GET Employee Lookup: https://api.greythr.com/employee/v2/employees/lookup?q={EmployeeNo./Email/Guid/Access card/ Personal email}
  • POST Add Employee: https://api.greythr.com/employee/v2/employees
  • PUT Update Employee: https://api.greythr.com/employee/v2/employees/{employee-id}
  • GET Get All Employee Profile Details: https://api.greythr.com/employee/v2/employees/profile
  • GET GET All employees Photo: https://api.greythr.com/hr/v2/employees/photo?photoSize=large&page=1&size=0
  • GET Get Employee Photo: https://api.greythr.com/hr/v2/employee/{employeeId}/photo
  • GET Get Employee Profile Details: https://api.greythr.com/employee/v2/employees/{employee-id}/profile
  • PUT Update Employee Profile Details: https://api.greythr.com/employee/v2/employees/{employee-id}/profile
  • GET Get All Employee Personal Details: https://api.greythr.com/employee/v2/employees/personal
  • GET Get Employee Personal Details: https://api.greythr.com/employee/v2/employees/{employee-id}/personal
  • PUT Update Employee Personal Details: https://api.greythr.com/employee/v2/employees/{employee-id}/personal
  • GET Get All Employee Work Details: https://api.greythr.com/employee/v2/employees/work
  • GET Get Employee Work Details Copy: https://api.greythr.com/employee/v2/employees/{employee-id}/work
  • PUT Update Employee Work Details: https://api.greythr.com/employee/v2/employees/{employee-id}/work
  • GET Get All Employee Separation Details: https://api.greythr.com/employee/v2/employees/separation
  • GET Get Employee Separation Details Copy: https://api.greythr.com/employee/v2/employees/{employee-id}/separation
  • PUT Update Employee Separation Details: https://api.greythr.com/employee/v2/employees/{employee-id}/separation
  • GET Get All Employee Address Details: https://api.greythr.com/employee/v2/employees/addresses/{address-type}
  • GET Get Employee Address Details: https://api.greythr.com/employee/v2/employees/{employee-id}/addresses/{address-type}
  • PUT Update Employee Address Details: https://api.greythr.com/employee/v2/employees/{employee-id}/addresses/{address-type}
  • DELETE Delete Employee Address Details: https://api.greythr.com/employee/v2/employees/{employee-id}/addresses/{address-type}
  • GET Get All Employee Statutory Details: https://api.greythr.com/employee/v2/employees/statutory/india
  • GET Get Employee Statutory Details: https://api.greythr.com/employee/v2/employees/{employee-id}/statutory/india
  • PUT Update Employee Statutory Details: https://api.greythr.com/employee/v2/employees/{employee-id}/statutory/india
  • GET Get Orgtree - Reporting Structure: https://api.greythr.com/employee/v2/employees/org-tree
  • GET Get Employee Manager details: https://api.greythr.com/employee/v2/employees/{employee-id}/org-tree
  • POST Add Employee Manager: https://api.greythr.com/employee/v2/employees/{employee-id}/org-tree
  • PUT Update Employee Manager: https://api.greythr.com/employee/v2/employees/{employee-id}/org-tree
  • GET Get All Employee Positions details: https://api.greythr.com/employee/v2/employees/categories
  • GET Get Employee Positions Details: https://api.greythr.com/employee/v2/employees/{employee-id}/categories
  • POST Add Employee Positions: https://api.greythr.com/employee/v2/employees/{employee-id}/categories
  • GET Get All Employee Bank Details: https://api.greythr.com/employee/v2/employees/bank
  • GET Get Employee Bank Details: https://api.greythr.com/employee/v2/employees/{employee-id}/bank
  • POST Add Employee Bank Details: https://api.greythr.com/employee/v2/employees/{employee-id}/bank
  • PUT Update Employee Bank Details: https://api.greythr.com/employee/v2/employees/{employee-id}/bank
  • GET Get All Employee PF & ESI details: https://api.greythr.com/employee/v2/employees/pf
  • GET Get Employee PF & ESI details: https://api.greythr.com/employee/v2/employees/{employee-id}/pf
  • POST Add Employee PF & ESI details: https://api.greythr.com/employee/v2/employees/{employee-id}/pf
  • PUT Update Employee PF & ESI details: https://api.greythr.com/employee/v2/employees/{employee-id}/pf
  • GET Get Employee's All Identity Details: https://api.greythr.com/employee/v2/employees/{employee-id}/identities
  • GET Get Employee Identity Details: https://api.greythr.com/employee/v2/employees/{employee-id}/identities/{identity-code}
  • POST Add Employee Identity: https://api.greythr.com/employee/v2/employees/{employee-id}/identities/{identity-code}
  • PUT Update Employee Identity: https://api.greythr.com/employee/v2/employees/{employee-id}/identities/{identity-code}
  • DELETE Delete Employee Identity: https://api.greythr.com/employee/v2/employees/{employee-id}/identities/{identity-code}
  • GET Get Employees Family Details: https://api.greythr.com/employee/v2/employees/families/{relationtype-id}
  • GET Get Employee Family Details: https://api.greythr.com/employee/v2/employees/{employee-id}/families
  • POST Add family member to Employee: https://api.greythr.com/employee/v2/employees/{employee-id}/families
  • PUT Update Family member details: https://api.greythr.com/employee/v2/employees/{employee-id}/families/{relation-id}
  • DELETE Delete Family member details: https://api.greythr.com/employee/v2/employees/{employee-id}/families/{relation-id}
  • GET Get All Employee Asset details: https://api.greythr.com/employee/v2/employees/assets
  • GET Get Employee Asset details: https://api.greythr.com/employee/v2/employees/{employee-id}/assets
  • POST Add Asset to Employee: https://api.greythr.com/employee/v2/employees/{employee-id}/assets
  • POST Add Asset to Employee: https://api.greythr.com/employee/v2/employees/{employee-id}/assets
  • DELETE Delete Update Family member details: https://api.greythr.com/employee/v2/employees/{employee-id}/assets/{asset-id}
  • GET Get All Employee Qualifications details: https://api.greythr.com/employee/v2/employees/qualifications
  • GET Get Employee Qualifications details: https://api.greythr.com/employee/v2/employees/{employee-id}/qualifications
  • POST Add Employee Qualifications: https://api.greythr.com/employee/v2/employees/{employee-id}/qualifications
  • PUT Update Employee Qualifications details: https://api.greythr.com/employee/v2/employees/{employee-id}/qualifications/{qualification-id}
  • DELETE Delete Employee Qualifications details: https://api.greythr.com/employee/v2/employees/{employee-id}/qualifications/{qualification-id}
  • GET Get Employee All Card Details: https://apigee-test.greythr.com/employee/v2/employees/{employeeId}/card-details
  • GET Get Employee Card Details: https://apigee-test.greythr.com/employee/v2/employees/employeeId/card-details/cardId
  • POST Add Employee Card Details: https://apigee-test.greythr.com/employee/v2/employees/{employeeId}/card-details
  • DELETE Delete Employee Card Details: https://apigee-test.greythr.com/employee/v2/employees/{employeeId}/card-details/{cardId}

Leave

  • GET Get Leave Balance details for All Employees: https://api.greythr.com/leave/v2/employee/years/{{Year}}/balance
  • GET Get Employee Leave Balance for a year: https://api.greythr.com/leave/v2/employee/{employee-id}/years/{{Year}}/balance
  • GET Get Leave Transactions details for All Employees: https://api.greythr.com/leave/v2/employee/transactions?start={{StartDate}}&end={{EndDate}}
  • GET Get Employee Leave Transactions: https://api.greythr.com/leave/v2/employee/{employee-id}/transactions?start={{StartDate}}&end={{EndDate}}
  • POST Leave Transaction: https://api.greythr.com/leave/v2/employee/transactions

Attendance

  • GET Get Attendance Summary for All Employees: https://api.greythr.com/attendance/v2/employee/insights?end={{EndDate}}&start={{StartDate}}
  • GET Get Employee Attendance Summary: https://api.greythr.com/attendance/v2/employee/{employee-id}/insights?end={{EndDate}}&start={{StartDate}}
  • GET Get Employee Attendance Summary: https://api.greythr.com/attendance/v2/employee/{employee-id}/insights?end={{EndDate}}&start={{StartDate}}
  • GET Get Employee Attendance Muster: https://api.greythr.com/attendance/v2/employee/{employee-id}/muster?end={{EndDate}}&start={{StartDate}}

Payroll

  • GET Get All Employee Handenrty salary Items: https://api.greythr.com/payroll/v2/employees/handentry
  • GET Get Employee Handenrty salary Items: https://api.greythr.com/payroll/v2/employees/{employee-id}
  • GET Get Salary Repository Items: https://api.greythr.com/payroll/v2/salary/repository
  • POST Add Employee Handenrty salary Items: https://api.greythr.com/payroll/v2/employees/{employee-id}
  • PUT Update Employee Handenrty salary Items: https://api.greythr.com/payroll/v2/employees/{employee-id}
  • DELETE Delete Employee Handenrty salary Items: https://api.greythr.com/payroll/v2/employees/{employee-id}
  • GET Get Salary Statement for a Month: https://api.greythr.com/payroll/v2/employees/salary/statement/{{yyyy-mm-01}}
  • GET Get Salary Statement for an Employee for a Month: https://api.greythr.com/payroll/v2/employees/salary/statement/{{yyyy-mm-01}}/{employee-id}
  • GET Get Employees Resettlement for a Month: https://api.greythr.com/payroll/v2/employees/resettlement/{payrollMonth}
  • POST Add Salary Revision: https://api.greythr.com/payroll/v2/salary/revision/employees/{employee-id}
  • GET Get Salary Revision History: https://api.greythr.com/payroll/v2/salary/revision/employees/{employee-id}/{status}
  • GET Get Salary Revision Difference: https://api.greythr.com/payroll/v2/salary/revision/difference/employees/{employee-id}
  • GET Get Attendance Snapshot details: https://apigee-test.greythr.com/payroll/v2/attendance/snapshot/employees/{employee-id}
  • POST Save Attendance Snapshot: https://apigee-test.greythr.com/payroll/v2/attendance/snapshot/employees/{employee-id}
  • DELETE Delete Attendance Snapshot: https://apigee-test.greythr.com/payroll/v2/attendance/snapshot/employees/{employee-id}

List of Values

  • POST Get greytHR LOV: https://api.greythr.com/hr/v2/lov
  • POST Get greytHR Position/Category: https://api.greythr.com/hr/v2/lov
  • GET Get Bank Branch Details: https://api.greythr.com/hr/v2/lov/banks/{bankId}/branches
  • POST Add greytHR Org Entities: https://api.greythr.com/hr/v2/lov/org/entities

Documents

  • GET Get Employee Documents: https://api.greythr.com/employee/v2/emp-docs/{employeeId}/{categoryId}
  • GET Download Employee Documents: https://api.greythr.com/employee/v2/emp-docs/{employeeId}/{documentId}/{fieId}
  • POST Add Employee Document Category: https://api.greythr.com/employee/v2/emp-docs/category
  • POST Add Employee Document: https://api.greythr.com/employee/v2/employee-docs/{employeeId}/{category}

Users

  • POST Add New Users: https://api.greythr.com/user/v2/users
  • GET Get Users List: https://api.greythr.com/user/v2/users
  • GET Get Employee User ID: https://api.greythr.com/user/v2/users?userType=employee&userName=Employee Number
  • POST User SSO: https://api.greythr.com/user/v2/users/{userid}/auth

greytHR API Use Cases 

  • Centralized employee information management and simplification of HR processes by eliminating inconsistencies, duplication and clutter in employee information
  • Easy payroll management with accurate and timely payouts
  • Seamless leave management with accurate leave accounting and integration with payroll
  • Real time attendance management, easy shift and overtime management
  • Goal alignment and performance management, progress tracking, rewards achievements

Top customers

greytHR provides HRMS services to 20,000+ companies across 250+ cities, including:

  • Dunzo, a 24x7 delivery app
  • HealthifyMe, an Indian digital health and wellness company
  • Rapido, an Indian ride-hailing service
  • Hutchinson, a French manufacturer of non-tire rubber
  • Lentra, a new-age domain-native platform 
  • ClickDesk, a live support chat software 
  • CORE Energy Systems, an emerging engineering services and project management company

greytHR API FAQs

  • How can admin enable the role for API users? Answer
  • How to generate API credentials for the greytHR admins? Answer
  • Is it possible to configure API credentials in Tally without enabling the integration of greytHR? Answer

How to integrate with greytHR API 

To integrate with the greytHR API, you need to create an account. You can create an account here. You can then go through this documentation to understand the REST API for external applications to integrate and interoperate with greytHR. 

Get started with greytHR API 

greytHR offers a freemium model for its users. While some features for a certain number of employees can be availed free of cost, the paid version starts at ₹3495/month adding more features which users can leverage. There are more premium tiers to choose from. Each pricing plan comes with a free trial. 

However, integrating with greytHR API with in-house resources can be quite expensive and time consuming, for both building and managing the integration. You can significantly bring this cost down by partnering with a platform like Knit. With a nominal integration cost, Knit helps you integrate with a unified HRIS API, with which you can connect with its bouquet of HRIS applications, including greytHR, at no additional cost. As a unified API, Knit helps you connect with your preferred HRIS applications in a fraction of the cost and time. Book a demo today to learn more! 

API Directory
Feb 26, 2024

Zoho People API Guide

11
mins

Zoho People API Directory

Zoho People is a leading HR solution provider which enables companies to automate and simplify their HR operations. Right from streamlining core HR processes, to supporting time and attendance management, to facilitating better performance management and fostering greater learning and development, Zoho People has been transforming HR operations for 4500+ companies for over a decade. 

With Zoho People API, companies can seamlessly extract and access employee data, update it and integrate this application with other third party applications like ATS, LMS, employee onboarding tools, etc. to facilitate easy exchange of information. 

Zoho People API Authentication

Like most industry leading HRIS applications, Zoho People API uses OAuth2.0 protocol for authentication. The application leverages Authorization Code Grant Type to obtain the grant token(code), allowing users to share specific data with applications, without sharing user credentials. Zoho People API uses access tokens for secure and temporary access which is used by the applications to make requests to the connected app. 

Using OAuth2.0, Zoho People API users can revoke a customer's access to the application at any time, prevent disclosure of any credentials, ensure information safeguarding if the client is hacked as access tokens are issued to individual applications, facilitate application of specific scopes to either restrict or provide access to certain data for the client.

Zoho People API Objects, Data Models & Endpoints

Integrating with any HRIS application requires the knowledge and understanding of the objects, data models and endpoints it uses. Here is a list of the key concepts about Zoho People API which SaaS developers must familiarize themselves with before commencing the integration process. 

Forms API

  • POSTInsert Record API

https://people.zoho.com/people/api/forms/<inputType>/<formLinkName>/insertRecord?inputData=<inputData>

  • POSTInsert Record API for Adding Employees

https://people.zoho.com/people/api/forms/json/employee/insertRecord?inputData=<inputData>

  • POSTUpdate Record API

https://people.zoho.com/people/api/forms/<inputType>/<formLinkName>/updateRecord?inputData=<inputData>&recordId=<recordId>

  • GETGet Bulk Records API

https://people.zoho.com/people/api/forms/<formLinkName>/getRecords?sIndex=<record starting index>&limit=<maximum record to fetch>​

  • POSTAdd Department API

https://people.zoho.com/people/api/department/records?xmlData=<xmlData>

  • GETFetch Forms API

https://people.zoho.com/people/api/forms?

  • GETFetch Single Record API

https://people.zoho.com/people/api/forms/<formLinkName>/getDataByID?recordId=261091000000049003

  • GETFetch Single Record API (Section Wise)

https://people.zoho.com/people/api/forms/<formLinkName>/getRecordByID?recordId=<recordId>

  • GETGet Related Records API

https://people.zoho.com/people/api/forms/<formLinkName>/getRelatedRecords?sIndex=<sIndex>&limit=<limit>& parentModule=<parentModule>&id=<id>&lookupfieldName=<lookupfieldName>

  • GETSearch Records Based on Record Values

https://people.zoho.com/people/api/forms/<formLinkName>/getRecords?searchParams={searchField: '<fieldLabelName>', searchOperator: '<operator>', searchText : '<textValue>'}

  • GETGet Fields of Form API

https://people.zoho.com/people/api/forms/<formLinkName>/components?

Cases API

  • POSTAdd Case API

https://people.zoho.com/api/hrcases/addcase?categoryId=<Category ID>&subject=<subject>&description=<description>

  • GETView Case API

https://people.zoho.com/api/hrcases/viewcase?recordId=<Reord ID of the case>

  • GETView Case Listing API

https://people.zoho.com/api/hrcases/getRequestedCases?index=<index>&status=<status>

  • GETView List of Categories API

https://people.zoho.com/api/hrcases/listCategory?

Timesheet API

  • POSTCreate Timesheets API

https://people.zoho.com/people/api/timetracker/createtimesheet?user=<user>&timesheetName=<timesheetName>&description=<description>&dateFormat=<dateFormat>&fromDate=<fromDate>&toDate=<toDate>&billableStatus=<billableStatus>&jobId=<jobId>&projectId=<projectId>&clientId=<clientId>&sendforApproval=<sendforApproval>

  • POSTModify Timesheets API

https://people.zoho.com/people/api/timetracker/modifytimesheet?timesheetId=<timesheetId>&timesheetName=<timesheetName>&description=<description>&sendforApproval=<sendforApproval>&removeAttachment=<removeAttachment>

  • GETGet Timesheets API

https://people.zoho.com/people/api/timetracker/gettimesheet?user=<user>&approvalStatus=<approvalStatus>&employeeStatus=<employeeStatus>&dateFormat=<dateFormat>&fromDate=<fromDate>&toDate=<toDate>&sIndex=<sIndex>&limit=<limit>

  • GETGet Timesheets Details API

https://people.zoho.com/people/api/timetracker/gettimesheetdetails?timesheetId=<timesheetId>&dateFormat=<dateFormat>​

  • POSTApprove Timesheets API

https://people.zoho.com/people/api/timetracker/approvetimesheet?authtoken=<authtoken>&timesheetId=<timesheetId>&approvalStatus=<approvalStatus>&timeLogs=<timeLogs>&comments=<comments>&isAllLevelApprove=<isAllLevelApprove>​

  • POSTDelete Timesheets API

https://people.zoho.com/people/api/timetracker/deletetimesheet?timesheetId=<timesheetId>​

Onboarding API

  • POSTTrigger Onboarding API

https://people.zoho.com/api/<Employee|Candidate>/triggerOnboarding​

  • POSTAdd Candidate API

https://people.zoho.in/people/api/forms/json/Candidate/insertRecord?inputData=<inputData>​

  • POSTUpdate Candidate API

https://people.zoho.com/people/api/forms/<inputType>/Candidate/updateRecord?inputData=<inputData>&recordId=<recordId>

Leave API

  • POSTAdd Leave API

https://people.zoho.com/people/api/forms/<inputType>/<formLinkName>/insertRecord?inputData=<inputData>

  • POSTGet Record API

https://people.zoho.com/people/api/forms/leave/getDataByID?recordId=413124000068132003

  • PATCHCancel Leave API

https://people.zoho.com/api/v2/leavetracker/leaves/records/cancel/<record-id>

  • GETUser Report API

https://people.zoho.com/people/api/v2/leavetracker/reports/user

  • GETLeave Booked and Balance Report API

https://people.zoho.com/people/api/v2/leavetracker/reports/bookedAndBalance

  • GETLeave Bradford API

https://people.zoho.com/people/api/v2/leavetracker/reports/bradford

  • GETEncashment Report API

https://people.zoho.com/people/api/v2/leavetracker/reports/encashment

  • GETLOP Report API

https://people.zoho.com/people/api/v2/leavetracker/reports/lop

 

  • POSTAdd Leave Balance API

https://people.zoho.com/api/leave/addBalance?balanceData=<balanceData>&dateFormat=<dateFormat>

Attendance API

  • POSTBulk Import API

https://people.zoho.com/people/api/attendance/bulkImport?data=<JSONArray>

  • GETFetch Last Attendance Entries API

https://people.zoho.com/api/attendance/fetchLatestAttEntries?duration=5&dateTimeFormat=dd-MM-yyyy HH:mm:ss

  • POSTAttendance Check In Check Out API

https://people.zoho.com/people/api/attendance?dateFormat=<dateFormat>&checkIn=<checkin time>&checkOut=<checkout time>&empId=<employeeId>&emailId=<emailId>&mapId=<mapId>

  • POSTAttendance Entries API

https://people.zoho.com/people/api/attendance/getAttendanceEntries?date=<date>&dateFormat=<dateformat>&erecno=<erecno>&mapId=<mapId>&emailId=<emailId>&empId=<empId>

  • POSTAttendance User Report API

https://people.zoho.com/people/api/attendance/getUserReport?sdate=<sdate>&edate=<edate>&empId=<employeeId>&emailId=<emailId>&mapId=<mapId>&dateFormat=<dateFormat>

  • POSTEmployee Shift Mapping API

https://people.zoho.com/people/api/attendance/updateUserShift?dateFormat=<dateformat>&empId=<employee Id>&shiftName=<shift name>&fdate=<FromDate>&tdate=<toDate>

  • GETGetting Shift Details Of Employee API

https://people.zoho.com/people/api/attendance/getShiftConfiguration?empId=<employee Id>&emailId<email Id>=&mapId<Mapper ID>=&sdate<startDate>=&edate=<endDate>

  • GETGet Regularization Records API

https://people.zoho.com/people/api/attendance/getRegularizationRecords

For more information and details on other endpoints, check out this detailed resource

Zoho People API Use Cases

  • Quick candidate onboarding with offer letter management, new hire portal, customizable workflows and status-view reports
  • Cloud-based attendance management system to generate insightful reports, regularize attendance, option to check in from anywhere 
  • Simple time off management tool with leave policy compliance, instant access to employee leave history, mobile leave applications and approvals and multi-location time off and holiday management
  • Productivity timesheets to view the details of the time spent on every project, task, and client, get a centralized overview of your tasks and time resources, calculate payouts faster with accurate employee time logs and automate invoicing
  • Shift scheduling to map employees to standard shifts, enable automatic shift rotation with a custom scheduler, mark, track, and analyze breaks and allowances
  • Performance management with 360-degree, continuous feedback system, to evaluate employees with customized performance appraisal methods
  • Case management to sort and organize employee questions, track their status, and reply promptly from a central location with an easily accessible knowledge base

Top customers

  • Zomato, an Indian multinational restaurant aggregator and food delivery company
  • The Logical Indian, an independent and public-spirited digital media platform for Indian millennials
  • IIFL Finance, a leading finance & investment services company
  • Meesho, an online shopping platform
  • Waterfield Advisors, a leading independent Multi-Family Office and Wealth Advisory Firm
  • DLT Labs, a global leader in the development and delivery of enterprise blockchain technologies and solutions

Zoho People API FAQs

  • What to do when you cannot use searchParams on Zoho People API (HTTP Status 400)? Answer
  • How to achieve webhook integration between Podio and Zoho People? Answer
  • How to get the attendance API from Zoho People in postman? Answer
  • What to do if permission is denied when trying to fetch records from Zoho People? Answer
  • How to parse through the following ZOHO People JSON string using VB.NET? Answer
  • How to write a custom function in Zoho People Deluge to fetch all the dates between from and to given? Answer
  • How to sync Zoho People with Google Calendar API for event time update without changing date? Answer

How to integrate with Zoho People API

To integrate your preferred applications with Zoho People API, you need valid Zoho People user credentials. In addition you also must have a valid authentication token or OAuth to access Zoho People API. 

Get started with Zoho People API

Integrating with Zoho People API requires engineering bandwidth, resources and knowledge. Invariably, building and maintaining this integration can be extremely expensive for SaaS companies. Fortunately, with Knit, a unified HRIS API, you can easily integrate with Zoho People API and other multiple HRIS applications at once. Knit enables users to normalize data from across HRIS applications, including Zoho People, 10x faster, ensure higher security with double encryption and facilitates bi-directional data sync with webhook architecture to ensure guaranteed scalability, irrespective of data load. Book a demo to learn how you can get started with Zoho People API with ease. 

API Directory
Feb 26, 2024

Ceridian Dayforce API Directory

11
mins

Ceridian Dayforce API Directory

Ceridian Dayforce is an all-inclusive human capital management system that helps employers take care of all stages of an employee’s lifecycle, across HR, payroll, employee engagement, workforce management, services, etc. It is a cloud based system. Ceridian Dayforce enables businesses to unlock workforce intelligence, empower people, and manage compliance.

With the Ceridian Dayforce Connector, developers can get access to the REST API of Ceridian Dayforce HCM, to facilitate integrations across their preferred applications. With this REST API, organizations can store all information regarding their employees and retrieve it as and when the need arises. 

Ceridian Dayforce API Authentication

Ceridian Dayforce API supports authentication in 2 ways. First, developers can limit and authorize access via token based authentication. In this mechanism, Ceridian Dayforce verifies the user’s identity to provide a unique access token for API access. Second, developers can leverage the basic auth connection for Ceridian Dayforce API authentication. Here, a username along with a password and API key is what users can use to facilitate API access and ensure reliable authentication. In addition, Ceridian Dayforce API comes with AES 256 encryption, to ensure that the  connection’s password/ credentials are safe. 

Ceridian Dayforce API Objects, Data Models & Endpoints

When working with Ceridian Dayforce API, you need to understand the data models, objects and endpoints. Here is a quick overview to get started:

Dependents

This object represents a dependent of an employee, including child, spouse, partner, etc. It contains data fields like first/last name, relationship, date of birth, gender, if the dependent is a student

Employee

This object covers all details relating to an individual or candidate who has been employed by the organization. It contains information or data fields like employee number, first/last name, preferred name, work email, personal email, groups, phone number, home/ work location, employments, manager, team, gender, marital status, employment status, start date, termination date, etc. 

Employment

This object represents a job position at any company. It contains data fields like employee, job title, pay rate, pay period, pay currency, effective date, employment type, pay frequency, etc. 

Group

A group is a subset in which an employee can be placed. Groups can be of multiple types, including teams, pay groups. At the same time, each employee can be a part of multiple groups. It contains data fields or information along the lines of name, type, etc. 

Location

This object represents the geographical area which can be associated with an employee. The location object contains data fields including name, street number, city, zip code, country, location type, state, etc. 

Team

Team as an object is a subgroup of a company like a department. Each employee is allocated to a particular team as a part of their employment. 

Time Off

This object comprehensively represents time off entries for all employees to get a complete picture of attendance in the organization. It contains details like employee, status, employee note, units, amount, request type, start time, end time, etc. 

Time Off Balance

This object represents the current status or balance remaining as a part of an employee’s allocated time off. This includes data fields like employee, balance, policy type, among others. 

Common Ceridian Dayforce API endpoints

  • GET/v1/Employees/{employee_id}/DependentsBeneficiaries

With this endpoint, you can get access to information about the dependents, including their name, date of birth, relationship, etc. 

  • GET/v1/Employees

This endpoint can be used to get any information needed about the employee, including employment, time off, time off balance, etc. 

  • GET/v1/employees/{employee_id}/TimeAwayFromWork

This endpoint helps get access to information about time off including start time, end time, request type, etc. 

  • GET/v1/Employees/{employee_id}/WorkAssignments

With this end point, users can get access to information about an employee’s work assignment focusing on location, zip code, country, among others. 

  • GET/V1/Employees/{employee_id}/CompensationSummary

This endpoint helps get access to information about the employment and payroll in general, including pay period, pay frequency, rate, etc. 

Merge interacts with this API endpoint to...

  • GET/V1/Employees/{employee_id}

With this endpoint, one can get information about a particular employee, including personal email, home location, ethnicity, employment status, etc. 

  • GET/v1/OrgUnits

This endpoint is used to gain access to information about an employee’s team and groups the employee is a part of. 

  • GET/v1/EmployeeBalancePeriods

With this endpoint, users get access to information about the time off balance and policy type for each employee. 

Ceridian Dayforce API Use Cases

  • Provides a unified view for all employees, giving all information regarding performance, payroll, time off and other details on one platform, preventing any toggling for users
  • Facilitates in-depth and real time analytics for all HR data to help employers understand the health of their organization and make well-informed decisions in a timely manner. It provides a vast catalog of standard reports along with the option to customize reporting based on organizational needs 
  • Curates insights for business intelligence and helps organizations with flight risk assessment to prevent attrition, gauge personality types, easily access performance data and understand status for each employee
  • Ensures self service for employees to empower them to get quick access to their pay details, benefits and all the other information they might need. It also allows employees to update personal information and other details on their own, following chat commands for smooth onboarding and updates
  • Promotes role based access and security to uphold high levels of data privacy. This ensures that confidential data has very limited access and employees are only able to view data which is required and relevant to their role
  • Helps with workforce management to make data-driven staffing decisions, utilizing flexible scheduling for better business outcomes, streamline absence management and overall optimize HR operations for greater efficiency and productivity
  • Makes hire to retire employee lifecycle seamless with AI based screening and automated onboarding, personalized learning recommendations and succession planning, employee engagement interventions and much more

Top customers

With ~6000+ customers, Ceridian Dayforce is a popular HRIS/ HCM provider for organizations, especially in the United States. Here is a list of the top customers that Ceridian Dayforce is servicing:

  • CBS News, the news division of the American television and radio service CBS
  • Gannett Co., Inc., an American mass media holding company 
  • Amphenol Corporation, a United States based Manufacturing organization
  • Travis Perkins, a United Kingdom based Distribution organization 
  • The Hanover Insurance Group, Inc., a United States based Insurance organization
  • Harley-Davidson, Inc., a United States based Manufacturing organization
  • Marrakech Inc., a diverse nonprofit organization

Ceridian Dayforce API FAQs

  • How to facilitate Ceridian Dayforce Integration with Active Directory? Answer
  • What is the Ceridian Dayforce HRIS API location? Answer
  • How to extract the URL to call the Authenticate API method with Dayforce API? Answer
  • How to navigate Dayforce Reporting Custom Field SQL? Answer
  • How to set up a token-based auth connection to Ceridian Dayforce? Answer
  • How to set up a basic auth connection to Ceridian Dayforce? Answer
  • How to set up the Ceridian Dayforce Environment? Answer
  • What is a Ceridian Dayforce Connector Example? Answer
  • How to configure Ceridian Dayforce REST Operations? Answer
  • How to enable testing of the Ceridian Dayforce APIs against your own environment? Answer
  • How to contribute to the Ceridian Dayforce Connector? Answer

How to integrate with Ceridian Dayforce API

To start your integration journey with Ceridian Dayforce API, you need to create an account on the Ceridian Dayforce Developer Network and the same can be accessed here. In addition, you can also check out this Ceridian Dayforce Connector Overview for a detailed snapshot.  

Get started with Ceridian Dayforce API 

Ceridian Dayforce HCM doesn’t provide its pricing publicly on its website. However, interested customers can fill in their details or get in touch with the sales team with this link to get an understanding of how much it would cost to get access to Ceridian Dayforce API. To make the integration process smooth with Ceridian Dayforce API or any other HRIS API, you can get started with Knit, one API for all your integrations. Sign up with Knit, and you can integrate with top HRIS API in a short span of time at a fraction of the cost. 

Start building with Knit, today

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

Book Demo!