Keka is a leading human resources management system that enables organizations to seamlessly manage diverse aspects of their human resource processes, including recruitment and onboarding, attendance and time management, payroll, expense and performance management. With OAuth authentication, rate limiting, pagination, and adherence to industry standards, Keka provides developers with everything they need to build robust integrations with their software/ platform and facilitate data exchange between their application and this leading HRMS portal.
Keka API Authentication, Pagination, Rate Limit
To ensure safe and secure access, Keka API uses OAuth for authentication. This suggests that for successful integration, developers need an access token which can be generated with specific details. This includes client id (identifier for the client), client secret (for secure authentication), api key (unique API key for accessing the system), scope (requires passing kekaapi for this key). To facilitate integration testing for applications, developers can also leverage the Sandbox Environment which is offered by Keka. This allows developers to ensure robust functionality, before integration production begins. Keka APIs already come with pagination implemented to ensure response time optimization. The standard or the default page size in Keka is 100 with 1 being the default page number.
API limit is a critical element of any API and so is the case with Keka, which helps define the number of requests that can be made to Keka within a limited time period. Keka has a rate limit of 50 API requests/ minute. This suggests that once 50 requests are made in a minute, the user needs to wait for the quote to be refilled before any other request is made. The rate limits are enforced and automatically reset after 60 seconds. In case a request is made before the quota is refilled, a 429 error with the reason rateLimitExceeded will be sent.
Keka API Objects, Data Models & Endpoints
As a developer or the representative of an organization seeking to integrate with Keka API, it is important to understand the endpoints that you will be using eventually for data exchange, both when it comes to read APIs (getting data from Keka) as well as write APIs (providing data to Keka).
CORE HR
Employees
- Get all Employees
GET https://{company}.{environment}.com/api/v1/hris/employees
- Create an Employee
POST https://{company}.{environment}.com/api/v1/hris/employees
- Get an Employee
GET https://{company}.{environment}.com/api/v1/hris/employees/{id}
- Get all update fields
GET https://{company}.{environment}.com/api/v1/hris/employees/updatefields
- Update Employee personal details
PUT https://{company}.{environment}.com/api/v1/hris/employees/{id}/personaldetails
- Update employee job details
PUT https://{company}.{environment}.com/api/v1/hris/employees/{id}/jobdetails
Groups
- Get all Groups
GET https://{company}.{environment}.com/api/v1/hris/groups
- Get all Group Types
GET https://{company}.{environment}.com/api/v1/hris/grouptypes
Departments
- Get all departments
GET https://{company}.{environment}.com/api/v1/hris/departments
Locations
- Get all Locations
GET https://{company}.{environment}.com/api/v1/hris/locations
Job Title
- Get all job titles
GET https://{company}.{environment}.com/api/v1/hris/jobtitles
Currency
- Get all currencies
GET https://{company}.{environment}.com/api/v1/hris/currencies
Notice Period
- Get all notice periods
GET https://{company}.{environment}.com/api/v1/hris/noticeperiods
LEAVE
Leave Types
- Get all Leave Types
GET https://{company}.{environment}.com/api/v1/time/leavetypes
Leave Balance
- Get all Leave balances
GET https://{company}.{environment}.com/api/v1/time/leavebalance
Leave Requests
- Get all Leave Requests
GET https://{company}.{environment}.com/api/v1/time/leaverequests
- Create an Leave Request
POST https://{company}.{environment}.com/api/v1/time/leaverequests
ATTENDANCE
Attendance
- Get all Attendance Records
GET https://{company}.{environment}.com/api/v1/time/attendance
Attendance Capture Scheme
- Get all captureschemes
GET https://{company}.{environment}.com/api/v1/time/capturescheme
Holiday Calendar
- Get all holidays Calendar
GET https://{company}.{environment}.com/api/v1/time/holidayscalendar
PAYROLL
Salary Components
- Get all Salary Components
GET https://{company}.{environment}.com/api/v1/payroll/salarycomponents
Pay Groups
- Get all Pay Groups
GET https://{company}.{environment}.com/api/v1/payroll/paygroups
Pay Cycles
- Get all Pay Cycles
GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles
- Get Pay Register
GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/payregister
- Get all Pay Batches
GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches
- Get all Batch Payments
GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments
- Update the Payments status
PUT https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments
Pay Grades
- Get all Pay Grades
GET https://{company}.{environment}.com/api/v1/payroll/paygrades
Pay Bands
- Get all Pay Bands
GET https://{company}.{environment}.com/api/v1/payroll/paybands
PSA
Clients
- Get all clients
GET https://{company}.{environment}.com/api/v1/psa/clients
- Create a Client
POST https://{company}.{environment}.com/api/v1/psa/clients
- Get a client
GET https://{company}.{environment}.com/api/v1/psa/clients/{id}
- Update a Client
PUT https://{company}.{environment}.com/api/v1/psa/clients/{id}
Project Phases
- Get project phases.
GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/phases
- Create a Project Phase
POST https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/phases
Projects
- Get all projects.
GET https://{company}.{environment}.com/api/v1/psa/projects
- Create a Project
POST https://{company}.{environment}.com/api/v1/psa/projects
- Get a project
GET https://{company}.{environment}.com/api/v1/psa/projects/{id}
- Update a Project
PUT https://{company}.{environment}.com/api/v1/psa/projects/{id}
- Get a project allocations
GET https://{company}.{environment}.com/api/v1/psa/projects/{id}/allocations
- Get project timesheet entries.
GET https://{company}.{environment}.com/api/v1/psa/projects/{id}/timeentries
Tasks
- Get project tasks.
GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks
- Create a task
POST https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks
- Update a task
PUT https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks/{taskId}
- Get project task time entries.
GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks/{taskId}/timeentries
PMS
Time Frames
- Get time frame list.
GET https://{company}.{environment}.com/api/v1/pms/timeframes
Goal
- Get goal list.
GET https://{company}.{environment}.com/api/v1/pms/goals
- Update goal progress
PUT https://{company}.{environment}.com/api/v1/pms/goals/{goalId}/progress
Badge
- Get badge list.
GET https://{company}.{environment}.com/api/v1/pms/badges
Praise
- Add Praise
POST https://{company}.{environment}.com/api/v1/pms/praise
EXPENSE
Expense Category
- Get all Expense Categories
GET https://{company}.{environment}.com/api/v1/expense/categories
Expense
- Get all Expense Claims
GET https://{company}.{environment}.com/api/v1/expense/claims
Expense Policy
- Get all expense policies
GET https://{company}.{environment}.com/api/v1/expensepolicies
ASSETS
Asset
- Get all Assets
GET https://{company}.{environment}.com/api/v1/assets
Asset Type
- Get all Asset Types
GET https://{company}.{environment}.com/api/v1/assets/types
Asset Category
- Get all Asset Categories
GET https://{company}.{environment}.com/api/v1/assets/categories
Asset Condition
- Get all Asset Conditions
GET https://{company}.{environment}.com/api/v1/assets/conditions
Keka API Use Cases
- Easy payroll processing and integration with attendance and leave to ensure proper calculation of payroll and taxes
- Covers every HR workflow to manage people processes, including hiring, onboarding, probation confirmation, internal movements, etc.
- Streamline all HR operations with automated workflows, comprehensive analytics, and hassle-free employee management
- Conduct a multi-dimensional assessment of employees' abilities, behavioral competencies, and performance for constructive team evaluation
- Get an accurate view of revenue against each project, resources allocation, and amount of time spent
- Robust attendance management system that integrates every aspect of time tracking, including scheduling shifts, and tracking over-time, fully integrated with payroll
Top Customers
Keka, as an HRMS tool, is widely used with 5000+ customers, including:
- Noise, India's trusted wearable watch brand
- GrabOn, one of India’s top players in the coupons and deals industry
- ICM, a UK-based global multi-regulated financial service provider
- Easypolicy, a leading insurance aggregator
- Traveazy, a Dubai-based travel-tech company focused on simplifying pilgrimage travel
- Unbox Robotics, a leading supply chain robotics technology company specializing
- HackerEarth, a comprehensive developer assessment software that helps companies accurately measure developers' skills while recruiting
- Metrochem API, a manufacturer of Active Pharmaceutical Ingredients (APIs), Pellets, and Intermediates in Multi Therapeutic segments
Keka API FAQs
Here’s a list of quick FAQs which will help answer any thoughts that you might have during your journey of integrating your application with Keka API
- How can an admin create an API access key on Keka? Answer
- How to integrate the Mettl assessment app with Keka Hire? Answer
- How to integrate Naukri with Keka Hire? Answer
- How to integrate Keka Hire with HackerEarth for Sending Assessments? Answer
- How to integrate Keka Hire with LinkedIn? Answer
- How to integrate MS Teams account with Keka Hire? Answer
- How to integrate SpringVerify with Keka? Answer
How to integrate with Keka API
If you are just getting started, it might be a good idea to go through this documentation to understand how you can initiate the integration process. The detailed documentation contains everything you need to know about the overview, endpoints and much more. Leverage this to learn about the different data models scope and other details which will come in handy to get started. At the same time, this link will help you generate the access token for seamless authentication.
Get started with Keka API
While the guide shared above will serve as a comprehensive starting point for you to integrate your application with Keka API, it is important to understand that the entire process can be engineering heavy, time consuming and resource intensive. Put simply, it’s not just about building an integration, but also about managing and maintaining it over time. At the same time, if you want to connect with other HRMS APIs, the process becomes multifold. In such a situation, leveraging a unified HRMS API like Knit can come in handy. Knit enables SaaS businesses to easily connect with multiple HRMS applications by integrating once with its unified API, eliminating the need to connect with each application separately.
Book a demo call today to learn how you can accelerate your integration journey with Keka and other HRMS applications using Knit.