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

Merge API Vs Knit API - Which One is Right for You?

Read this to explore how Merge API works, how data should be handled by an unified API and how to increase customer satisfaction with a better alternative

In this article we will learn about Merge API, a unified API solution to help developers build native integrations with multiple 3rd party end systems in one go using the 1:many connectors provided by Merge. 

We will also learn about what happens post integration - how data syncs happen on Merge API predominantly via a pull based model where Merge stores a copy of the end customer data in their servers, which could lead to end customer anxiety around security and compliance. 

Finally, we will talk about how Knit API is solving for this by working on a push based model which does not require any customer data storage - helping you reduce friction with your customers and alleviate their concerns on how their data is being handled.

Let’s dive in.

What are unified APIs?

Essentially, a unified is a 1:Many API which helps developers go-live with multiple integrations within a category of SaaS with a one time effort of integrating with the unified API provided by the platform. For example, let's say an Employee Benefits platform wishes to integrate with multiple HRMS systems which its existing or potential customers use. In the absence of a unified API, the developers at the benefits platform will have to read API documentation of each HRMS, understand its data model and build the connectors 1:1. This wastes massive dev effort on a repetitive task which essentially serves the same basic purpose of syncing employee data from the customers HRMS to the benefits platform. Unified APIs save all of this effort by normalizing the data models of all the HRMS tools out there in to one common data model so the developers at the benefits platform have to work with just one connector rather than building a connector for each different HRMS tool in a 1:1 manner.

Other than building the integrations faster, unified APIs also help you maintain them in a low effort way by providing DIY integration management dashboards which your front line customer success teams can use to diagnose and fix any issues with live integrations so that your engineering team does not need to get involved every time there is a break or question around data syncs from your customers.

If you are wondering whether a unified API is a right solution for you or not, read this

Now, let us look at the components of a unified API solution.

Key components of a unified API solution

how does a unified API work?

Any unified API solution has four basic components - 

1. The auth component 

Users of your APP use the auth component, embedded in your APP, to authenticate and authorize access to their enterprise app to your SaaS application.

2. 1:Many Connectors 

1:many connectors are simply put, a common data model which abstracts the data models of all the existing applications in a category of apps so that your engineering team can work with just the one connector provided by the unified API platform rather than individually integrating with all the connectors within that category of apps.  This saves massive time as your dev team does not need to understand the nuances of each and instead build your product logic on the common data model of the unified API provider.

3. Integration Management 

Often the most neglected piece when teams build integrations in-house, integration management dashboards are one of the key value propositions of Unified API platforms since they help your frontline teams diagnose and fix any integration or sync issues without having to involve the engineering team each time. Think about the massive amount of time it can save in maintaining the integrations which are already built and live.

4. Data Syncs

This is probably the core of the product - getting data in from the source app to your app and writing back from your app to the source is why we build integrations. Because this is important, we will talk about this in more detail below, and along the way of understanding Merge's data sync model.

Data syncs via unified APIs

To understand how data syncs happen via unified APIs, we first need to understand that there are two parts to the process -

1. Data syncs between the source app and the unified API provider

2. Data syncs between the unified API provider and your app

data sync via unified APIs

Data syncs between the source app and the unified API provider

The first part of the data sync is to read data from the source APP and do something. Now, here again, there are two phases:

  • The initial data sync
  • Delta syncs thereafter

The initial data sync happens when your app’s user has authenticated and authorized the unified API platform to access data from the source app for the first time. This is when Merge API accesses and stores a copy of the data in its own database. This is the copy of the data that Merge API uses to serve your app, i.e., the consumer app.

Post the initial syncs, the delta syncs come into the picture. The purpose of the delta syncs is to inform the consumer app of any changes in the data, for example title, manager, or location changes for any employee if you are syncing with a source HRMS system.

Now here, depending on the source system, delta syncs could be handled via webhooks OR by periodic polling of the source app. 
  • When the source app supports Webhooks, like Rippling, it dispatches any delta events to Merge, which then changes its copy to reflect the new information available. 
  • When the source app does not support Webhooks, like Success Factors, Merge has to again read the entire data from the source app and create a fresh copy of the data by polling the source system at pre-set frequencies. Depending on the plan you have, these sync frequencies could be every 24 hours or more frequent.
The thing to note is that in both scenarios, whether or not the source app supports Webhooks, Merge API serves the consumer app via its stored copy of the data.

Concerns with a data storage first model for data syncs

A data storage based model brings with it multiple challenges. First and foremost the end customers who are authorizing your app to access their data via Merge API might not be comfortable with a third party having a copy of their data stored somewhere. Even when Merge API is SOC2 compliant, as ex-users of Merge APIs HRMS integrations for our HRTech venture, we had a segment of customers who had concerns about the handling of the data, employee data being PII, and there were also concerns about where the data is being stored (in some cases outside the customers geography).

This added unnecessary friction between us and our customers, requiring additional infosec questions and paperwork which delayed deal closures or in some cases led to deals not closing at all.

Data syncs between the unified API provider and your app 

Now that the unified API provider has the data, your app must consume the data for your business logic to work. There are two main philosophies or approaches here - pull vs push.

The pull model

alternative to Merge unified API
In a pull model, your servers are busy making calls to the data providers like HRIS, Payroll systems etc. to get data. In order to do so, you will need to create a polling infra.

If you're doing so for 10-15 batch jobs, perhaps it is manageable. But imagine doing this for hundreds, even thousands, of jobs. The problem gets harder. Further, if there is no new data to report, you just wasted your compute resources on an empty call.

The push model

push model data sync for API integration

Now compare this with the push model. Typically, you will be required to subscribe to certain events by registering a webhook. When the event happens, the data providers would notify you with appropriate payload on the registered destination URL. 

You don't have to manage any polling infra, nor would you waste compute resources on inconsequential calls. With event driven microservices architectures on the rise, the push model is definitely easier to work with and scale vs a pull model.

Which approach does Merge API use? Pull or Push?

Here, the Merge API relies heavily on a pull-based approach (though it does provide delta webhooks, which we will talk about below). Let’s look at the three options Merge API provides to consumer apps-

1. Periodic Syncs

Here, your app is expected to periodically poll the Merge copy of the data, such as every 24 hours. What this means is that you will have to build and maintain a polling infrastructure at your end for each connected customer. This is ok if you have a small number of customers, but quickly gets difficult to maintain if you have lots of connected customers.

2. Ad-hoc Syncs 

If your app wants to sync data frequently, Merge API provides an option for you to write sync functions which can pull only data which has changed since last sync using its modified_after timestamp. While this reduces the data load, it still requires the polling infrastructure we talked about in point 1.

3. Webhooks

Merge’s webhooks are again of two types - sync notifications and changed data webhooks. 

Sync notification events are simply notifications to your app that something in the data has changed and expects you to start the ad-hoc sync once you receive the notification - so essentially pull. On the other hand, while it does offer the changed data webhooks, it does not guarantee scale and data delivery via these webhooks. 

From Merge’s doc:

  • Merge offers webhooks that deliver updated data when individual data instances are updated, but depending on the amount of user data, this will not scale well
  • Make sure to implement polling and don't rely entirely on notification webhooks. They can fail for a variety of reasons (such as downtime on your end or failed processing). Merge does attempt to redeliver multiple times using exponential backoff, but we still recommend calling your sync functions on a periodic cadence of around once every 24 hours.

So you see the problem? You will not be able to work around the need for building and maintaining a separate polling infrastructure. 

Knit’s approach to data syncs

While everyone talks about security, at Knit, we actually have walked the talk by embedding security in our platform architecture. 

We do NOT store a copy of the source data with us. And we have built a completely events driven architecture from the ground up, so we work only with Webhooks and deliver both the initial and delta syncs to your app via events.

So you have less compliance and convincing to do with your customers, and do not have to  waste engineering resources on polling while at the same time get guaranteed scalability and delivery irrespective of the data load.

Another advantage of a true events driven architecture is that it supports real time use cases (where the source APP supports real time webhook pushes) which a polling based architecture does not.

While we will soon be covering our architecture that guarantees security, scale and resilience for event driven stream processing in more detail in a follow up post, you could read more about the basics of how Knit API functions here: Knit API Documentation

Other advantages of Knit API over Merge API

1. Auth component

Knit’s auth component offers a lot of flexibility in terms of design and styling vs what Merge API offers. 

It is a Javascript SDK which is far more customizable as compared to iframe which is Merge’s choice for the frontend auth component. 

So if you want to make sure that the auth component which your customers are interacting with, looks and feels similar to your own APP, Knit API might just be the right solution for you.

2. Integration Management

Knit provides deep RCA and resolution including ability to identify which records were synced, ability to rerun syncs etc. It also proactively identifies and fixes any integration issues itself. 

While Merge also offers customer success dashboards, they are not as deep, so your frontline folks will have to reach out to your engineering teams more frequently. And we all know how much engineering teams enjoy maintaining integrations and going through logs to check for data sync issues rather than building cool new core product features ;)

Final Thoughts

Knit is the only unified API solution which does not store customer data, and offers a scalable, and reliable push driven data sync model for large data loads. 

This has several benefits:

  • Better security: Since Knit does not store any customer data, you and your customers can be confident about data security and you can close deals much faster.
  • Better developer experience: Since you do not need to maintain any polling infrastructure for Knit due to its events driven architecture, your developers have lesser issues maintaining it.
  • Better scalability & reliability: Even with a webhook first model, Knit guarantees data delivery and scalability irrespective of the amount of data being synced between the source and destination apps. We offer a 99.99 SLA and aiming for 99.9999 soon.

Curious to learn more about Knit? Get started today

Yasharth Mishra

Co-founder and CEO, Knit

Unifying the world of integration with Knit

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!