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

How to get employee data from BambooHR API: BambooHR Integration Guide

This is a step-by-step tutorial (with examples and code snippets) for creating and using BambooHR API to pull employee data for various purposes.

If you are looking to connect with multiple apps, try Knit universal API to integrate with 20+ HRIS apps with a single API key. Sign up for free trial by clicking here. If you are looking to do connect with BambooHR API yourself, keep reading

BambooHR is a popular cloud-based human resource management software that helps businesses manage their HR operations, including employee data management, onboarding, performance tracking, and more. In addition to its user-friendly interface, BambooHR also provides an API that allows developers to programmatically access and update employee data.

Employee data is a critical component of HR operations, providing valuable insights into employee performance, engagement, and overall organizational health. 

With the increasing emphasis on data-driven decision making, businesses are looking for ways to harness the power of employee data to drive growth and productivity.

In this article, we will provide a comprehensive guide to using the BambooHR API key to retrieve and manage employee data in more than one way.

Overview of BambooHR API endpoints for employee data

BambooHR uses a RESTful API, which is a web-based architectural style and approach to communications that is often used in web services development. The BambooHR API provides various endpoints for employee data, including:

  • Employee information: this includes data such as the employee's name, email address, job title, department, and other personal information.
  • Job information: This includes data such as the employee's job title, job description, start date, and other job-related information.
  • Time off: This includes data such as the employee's vacation, sick days, and other time off.
  • Company directory: This includes data on all employees in the company, including their contact information and job titles.
  • Reports: This allows you to generate reports on employee data, such as a report on employee turnover or employee performance.

Find other BambooHR API data models here

Authentication methods

To access the BambooHR API, you need to authenticate your requests using Basic authentication. The API key is used as the username, which is generated from BambooHR on the "API Keys" section of your account settings. 

You do not need a separate password. The API key can authenticate your requests. This API key is base64-encoded and is included in the authorization header of your requests. Additionally, each request must include your company's domain, which is included in the API endpoint URL.

Setting Up BambooHR Account

To get started with using the BambooHR API, you'll first need to set up a BambooHR account and enable API access. Here's how:

Sign up for a BambooHR account

To sign up for a BambooHR account, go to the BambooHR website and click on the "Try It Free" button. 

Follow the step-by-step instructions to set up your account. You'll need to provide some basic information, such as your company name, email address, and password. You'll also need to select a pricing plan based on the number of employees in your organization and the features you need.

However, in this demo, we are “trying it for free” so we do not have to select the pricing plan. Once you have filled in the information click on “Get Free Trial”.

When you see this screen, click on “We’re Ready!” button.

From here, follow the subsequent instructions (provide a strong password, accept terms and conditions) to finish your sign up process using the email and password you supplied earlier.

When you see the following screen, click next.

Check all of these or at least what you need and click“Done” button.

If you have followed the necessary steps of signing up for your BambooHR account, you should land here:

How to create a BambooHR API key

Once you have a BambooHR account, you can create an API key to access the data associated with your BambooHR API. To create the API key, log in to your BambooHR account and navigate to the "API Keys" page in the "Account" section.

Click on the "Add a New Key" button.

You will need to provide a name for your API key, which will help you identify it later and click “Generate Key”.

A key will be displayed. You can copy it and save it somewhere safe. After successfully saving your key, click “Done”.

After successfully saving your API key, your API key would be listed under My API Keys:

In the next section, we will discuss multiple use cases for the the BambooHR API.

Get employee data using BambooHR API

BambooHR allows you to access and update employee data for individual employees as well as in bulk. 

Retrieve All Employees Information

Copy to clipboard
        
import requests
           	
subdomain = 'syncflowsolutions'
 
# Replace {subdomain} with your BambooHR credentials
url = f"https://api.bamboohr.com/api/gateway.php/{subdomain}/v1/employees/directory"
 
headers = {
    "Accept": "application/json",
    "Authorization": "Basic ZTgyOGU3YzUyNGRlNmNkMmMxZTc0YWUxNDY1YmI0NDQ5NmY0YjVhNTpKRDg2UXA4ZS4qTHNKUXA="
}
 
response = requests.get(url, headers=headers)
 
if response.status_code == 200:
    employee_data = response.json()
    # Do something with the employee data
    print(employee_data)
else:
    print('Error retrieving employee data')
        
    

The code snippet above will retrieve records for all employees from the feature called directory.

Pitfall to avoid

One common pitfall to avoid here involves the use of the Company Directory feature. While this feature can be managed and disabled by individual companies in their account settings, it can lead to issues when calling the corresponding endpoint. This is because the feature may be disabled, or its behavior may vary across different companies.

Instead, the recommended approach is to use the "request a custom report" API to retrieve bulk employee data, which is a more reliable and consistent method.

Retrieve information for one employee

To retrieve information about a specific employee, you can make a GET request to this endpoint:

Copy to clipboard
        
https://api.bamboohr.com/api/gateway.php/{companyDomain}/v1/employees/
        
    

 where {id} is the ID of the employee you want to retrieve and {companyDomain} is the company subdomain.

This endpoint allows you to retrieve employee data by specifying a set of fields. It is ideal for retrieving basic employee information, including current values for fields that are part of a historical table such as job title or compensation information.

Extract data from BambooHR API using Python

Copy to clipboard
        
	
 import requests
# Set the API URL and headers
subdomain = 'syncflowsolutions'
# Replace {subdomain} with your BambooHR credentials
id = 0
url = f"https://api.bamboohr.com/api/gateway.php/{subdomain}/v1/employees/{id}/"
headers = {
    "Accept": "application/json",
    "Authorization": "Basic ZTgyOGU3YzUyNGRlNmNkMmMxZTc0YWUxNDY1YmI0NDQ5NmY0YjVhNTpKRDg2UXA4ZS4qTHNKUXA="
}
# Specify the fields to retrieve and only retrieve current data
params = {
    "fields": "firstName,lastName",
    "onlyCurrent": "true"
}
# Send the GET request and print the response
response = requests.get(url, headers=headers, params=params)
if response.status_code == 200:
    employee_data = response.json()
    print(employee_data)
else:
    print("Error retrieving employee data")
        
    

This retrieves the data for the employee with ID 0. Make sure to replace {subdomain} with your actual BambooHR credentials.

How to create a new employee with BambooHR API

To create a new employee, you can make a POST request:

Copy to clipboard
        
https://api.bamboohr.com/api/gateway.php/{companyDomain}/v1/employees/
        
    

The endpoint allows for the addition of a new employee. It is mandatory to provide at least the first and last names of the new employee. Upon successful creation, the ID of the newly created employee can be found in the response's Location header.

Create a new employee with BambooHR API using Python

Copy to clipboard
        
import requests
subdomain = 'syncflowsolutions'        	
# Replace {subdomain} with your BambooHR credentials
url = f"https://api.bamboohr.com/api/gateway.php/{subdomain}/v1/employees/"
payload = {
    "firstName": "Tiberius",
    "lastName": "Mairura"
}
headers = {               	
    "content-type": "application/json",
    "authorization": "Basic ZTgyOGU3YzUyNGRlNmNkMmMxZTc0YWUxNDY1YmI0NDQ5NmY0YjVhNTpKRDg2UXA4ZS4qTHNKUXA="
}
try:
    response = requests.post(url, json=payload, headers=headers)
    response.raise_for_status()
    print(response.text)
except requests.exceptions.HTTPError as error:
    print(f"HTTP error occurred: {error}")
except Exception as error:
    print(f"An error occurred: {error}")
        
    

This creates a new employee with the specified data. Make sure to replace `{subdomain}` with your actual BambooHR credentials.

Update employee data from BambooHR API using Python

To update an existing employee's data, you can make a PUT request to the `/employees/{id}` endpoint with a JSON payload containing the updated employee data.

Here's an example using Python requests library:

Copy to clipboard
        
	 
import requests
id = 134
url = f"https://api.bamboohr.com/api/gateway.php/syncflowsolutions/v1/employees/{id}/"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Basic ZTgyOGU3YzUyNGRlNmNkMmMxZTc0YWUxNDY1YmI0NDQ5NmY0YjVhNTpKRDg2UXA4ZS4qTHNKUXA="
}
payload = {
    "firstName": "Tiberius .O",
    "lastName": "Mairura"
}
response = requests.post(url, json=payload, headers=headers)
if response.status_code == 200:
    print('Employee updated successfully!')
else:
    print(f"Error: {response.status_code} - {response.text}")
         
    

This updates the data for the employee with ID 134 with the specified data. Make sure to replace {subdomain} with your actual BambooHR credentials.

How to handle pagination

Pagination for BambooHR API is case-specific. 

  • BambooHR does not support pagination in the employee directory API, so when retrieving employee data, the BambooHR API will return all the results in one go. The default number of records per response is 50, but you can specify a different number of records using the limit query parameter.
  • However, for some other APIs in BambooHR, such as the time-off requests and time-off balances APIs, pagination is supported. To handle pagination, you can use the page and per_page query parameters. The page parameter specifies which page of results to return, and the per_page parameter specifies the number of results per page.

To navigate to the next page of results, you can use the next URL provided in the Link header of the response.

Get started with BambooHR API

In conclusion, the BambooHR API is a valuable tool for any organization looking to streamline their HR and employee data management processes. By leveraging the power of the API, organizations can improve their operations, reduce manual data entry, and gain deeper insights into their workforce.

If you need to quickly get access to BambooHR data, Knit unified API can make it easier for you. Knit is a unified API that connects 40+ HR and ATS APIs via a single, unified API. All you need to do is to integrate once with Knit, and all the authentication, authorization and integration maintenance will be done by Knit.

Talk to our sales team to learn more or get you free API key today

Sudeshna Roy

Head of Content, Knit

Decoding product and generating users with valuable content

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!