openapi: 3.0.0 info: title: Keka HR Assets Core HR API description: REST API for the Keka HR and payroll platform covering employee records, attendance, leave, payroll, expense management, performance, recruitment, professional services automation, helpdesk, background verification, and rewards. version: v1 contact: url: https://developers.keka.com/ license: name: Keka Terms of Service url: https://www.keka.com/terms-of-service servers: - url: https://{tenant}.keka.com/api/v1 description: Keka HR API variables: tenant: default: your-company description: Your Keka tenant subdomain security: - oauth2: - kekaapi tags: - name: Core HR paths: /api/v1/hris/employees: get: operationId: get_all_employees summary: Get all employees tags: - Core HR responses: '200': description: Successful response description: '

This API is used for fetching details of all employees.

Enumerated Values

TimeType WorkerType MaritalStatus
0 - None
1 - FullTime
2 - PartTime
0 - None
1 - Permanent
2 - Contingent
0 - None
1- Single
2 - Married
3 - Widowed
4 - Separated
Gender EmploymentStatus AccountStatus
0 - NotSpecified
1 - Male
2 - Female
3 - Nonbinary
4 - PreferNotToRespond
0 - Working
1- Relieved
0 - NotRegistered
1 - Registered
2 - Disabled
' post: operationId: create_employee summary: Create employee tags: - Core HR responses: '200': description: Successful response description: '

This API is used for creating a new Employee record.

Enumerated Values

TimeType WorkerType MaritalStatus
0 - None
1 - FullTime
2 - PartTime
0 - None
1 - Permanent
2 - Contingent
0 - None
1- Single
2 - Married
3 - Widowed
4 - Separated
Gender EmploymentStatus AccountStatus
0 - NotSpecified
1 - Male
2 - Female
3 - Nonbinary
4 - PreferNotToRespond
0 - Working
1- Relieved
0 - NotRegistered
1 - Registered
2 - Disabled
Update Employee personal details

' requestBody: content: application/json: schema: type: object example: currentAddress: addressLine1: 404, Brut Residence addressLine2: Nr. Thomas Bakery countryCode: IN city: Manchester state: North London zip: M1 1AD displayName: Erling Haaland firstName: Erling lastName: Haaland gender: 0 dateOfBirth: '1998-01-03T00:00:00' middleName: Brut workPhone: '9822134561' personalEmail: earling.haaland@yopmail.com maritalStatus: 0 marriageDate: '2023-03-31T00:00:00' relations: - relationType: 2 gender: 1 firstName: Brut lastName: Haaland displayName: Brut Haaland email: brut@yopmail.com dateOfBirth: '1988-07-24T00:00:00' profession: Footballer mobile: '9999888864' bloodGroup: 8 /api/v1/hris/employees/8d04399f-8057-4b0d-ab0f-d9b9a5fb0376/jobdetails: put: operationId: update_employee_job_details summary: Update Employee Job Details tags: - Core HR responses: '200': description: Successful response description: '

Update employee job details

' requestBody: content: application/json: schema: type: object example: location: d62a9b17-5973-4995-83fc-4952707b6d47 jobTitle: 4a896b29-1935-4046-a6e4-eaef2aa7dfe1 reportingManager: 7dd7e7ed-be39-47f3-beab-d498b940fd98 attendanceNumber: KEKATTD12 timeType: 0 /api/v1/hris/employees/{id}: get: operationId: get_an_employee summary: Get an employee tags: - Core HR responses: '200': description: Successful response description: '

This API is used for fetching data of a specific employee by passing the employee ID as a URI parameter.

Enumerated Values

TimeType WorkerType MaritalStatus
0 - None
1 - FullTime
2 - PartTime
0 - None
1 - Permanent
2 - Contingent
0 - None
1- Single
2 - Married
3 - Widowed
4 - Separated
Gender EmploymentStatus AccountStatus
0 - NotSpecified
1 - Male
2 - Female
3 - Nonbinary
4 - PreferNotToRespond
0 - Working
1- Relieved
0 - NotRegistered
1 - Registered
2 - Disabled
Enumerated Values
SystemGroupType
0 = None
1 = BusinessUnit
2 = Department
3 = OrgLocation
4 = CostCenter
5 = Paygroup
6 = ProjectTeam
7 = Team,
8 = ClientTeam
9 = Segment
' /api/v1/hris/grouptypes: get: operationId: get_all_group_types summary: Get all group types tags: - Core HR responses: '200': description: Successful response description: '

This API is used for fetching list of all group types.

Enumerated Values

SystemGroupType
0 = None
1 = BusinessUnit
2 = Department
3 = OrgLocation
4 = CostCenter
5 = Paygroup
6 = ProjectTeam
7 = Team,
8 = ClientTeam
9 = Segment
' /api/v1/hris/departments: get: operationId: get_all_departments summary: Get All Departments tags: - Core HR responses: '200': description: Successful response /api/v1/hris/locations: get: operationId: get_all_locations summary: Get all locations tags: - Core HR responses: '200': description: Successful response description: '

This API is used for fetching list of all locations.

Enumerated Values

SystemGroupType
0 = None
1 = BusinessUnit
2 = Department
3 = OrgLocation
4 = CostCenter
5 = Paygroup
6 = ProjectTeam
7 = Team,
8 = ClientTeam
9 = Segment
' /api/v1/hris/jobtitles: get: operationId: get_all_job_titles summary: Get all job titles tags: - Core HR responses: '200': description: Successful response description: '

This API is used for fetching list of all locations.

Enumerated Values

SystemGroupType
0 = None
1 = BusinessUnit
2 = Department
3 = OrgLocation
4 = CostCenter
5 = Paygroup
6 = ProjectTeam
7 = Team,
8 = ClientTeam
9 = Segment
' /api/v1/hris/currencies: get: operationId: get_all_currencies summary: Get all currencies tags: - Core HR responses: '200': description: Successful response description: '

This API is used for fetching list of all currencies.

Enumerated Values

SystemGroupType
0 = None
1 = BusinessUnit
2 = Department
3 = OrgLocation
4 = CostCenter
5 = Paygroup
6 = ProjectTeam
7 = Team,
8 = ClientTeam
9 = Segment
' /api/v1/hris/noticeperiods: get: operationId: get_all_noticeperiods summary: Get All Noticeperiods tags: - Core HR responses: '200': description: Successful response /api/v1/hris/exitreasons: get: operationId: get_all_exitreasons summary: Get All Exitreasons tags: - Core HR responses: '200': description: Successful response /api/v1/hris/employees/bb3175e4-4cdb-425f-b034-b49069d53d6e/exitrequest: post: operationId: create_an_exit_request summary: Create an Exit Request tags: - Core HR responses: '200': description: Successful response description: '

Create an exist request for an employee

Exit Type
0 - None
1 - Employee Resignation
2- Company Action
' requestBody: content: application/json: schema: type: object example: exitType: 1 exitReason: 4ce57402-db60-418e-a0b5-69c4a5fecfd0 resignationDate: '2024-10-01T00:00:00' lastWorkingDate: '2024-12-01T00:00:00' isOkToRehire: true comments: Comments example 1234 put: operationId: update_exit_request_for_employee summary: Update Exit Request for Employee tags: - Core HR responses: '200': description: Successful response requestBody: content: application/json: schema: type: object example: exitType: 1 exitReason: 4ce57402-db60-418e-a0b5-69c4a5fecfd0 resignationDate: '2024-10-01T00:00:00' lastWorkingDate: '2024-12-01T00:00:00' isOkToRehire: true comments: Comments example 1234 components: securitySchemes: oauth2: type: oauth2 description: OAuth 2.0 client credentials flow flows: clientCredentials: tokenUrl: https://login.keka.com/connect/token scopes: kekaapi: Access to Keka HR API