openapi: 3.0.0
info:
title: Keka HR Assets Payroll 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: Payroll
paths:
/api/v1/payroll/salarycomponents:
get:
operationId: get_salary_components
summary: Get Salary components
tags:
- Payroll
responses:
'200':
description: Successful response
description: '
This API is used for fetching list of all salary components.
'
/api/v1/payroll/paygroups:
get:
operationId: get_all_pay_groups
summary: Get all pay groups
tags:
- Payroll
responses:
'200':
description: Successful response
description: 'This API is used for fetching list of all pay groups.
'
/api/v1/payroll/paygroups/{payGroupId}/paycycles:
get:
operationId: get_all_pay_cycles
summary: Get all pay cycles
tags:
- Payroll
responses:
'200':
description: Successful response
description: 'This API is used for fetching list of all pay cycles in a pay group.
Enumerated Values
| PayrollRunStatus |
RemunerationType |
PaymentStatus |
0 = Pending 1 = Finalized 3 = Partial |
0 = Monthly 1 = Daily 2 = Hourly |
0 = UnPaid 1 = Paid |
| EmployeePayrollCycleRunStatus |
0 = SalaryOnHold = 0 1 = PaymentOnHold 3 = Skipped 6 = SalaryVoid 7 = PaymentVoid 8 = ExecutedAsSalary 9 = ExecutedAsArrear 10 = FinalSettlement 11 = FinalSettlementVoid 12 = ReleasePayment 13 = FinalSettlementPaymentVoid 14 = AlreadyPaid 15 = FinalSettlementAlreadyPaid 16 = '
parameters:
- name: payGroupId
in: path
required: true
schema:
type: string
/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/payregister:
get:
operationId: get_pay_register
summary: Get pay register
tags:
- Payroll
responses:
'200':
description: Successful response
description: 'This API is used for fetching pay register for a given pay cycle.
Enumerated Values
| PayrollRunStatus |
RemunerationType |
PaymentStatus |
0 = Pending 1 = Finalized 3 = Partial |
0 = Monthly 1 = Daily 2 = Hourly |
0 = UnPaid 1 = Paid |
| EmployeePayrollCycleRunStatus |
0 = SalaryOnHold = 0 1 = PaymentOnHold 3 = Skipped 6 = SalaryVoid 7 = PaymentVoid 8 = ExecutedAsSalary 9 = ExecutedAsArrear 10 = FinalSettlement 11 = FinalSettlementVoid 12 = ReleasePayment 13 = FinalSettlementPaymentVoid 14 = AlreadyPaid 15 = FinalSettlementAlreadyPaid 16 = Fin'
parameters:
- name: payGroupId
in: path
required: true
schema:
type: string
- name: payCycleId
in: path
required: true
schema:
type: string
/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches:
get:
operationId: get_all_pay_batches
summary: Get all pay batches
tags:
- Payroll
responses:
'200':
description: Successful response
description: 'This API is used for fetching list of all pay batches in a pay group.
Enumerated Values
| PayrollRunStatus |
RemunerationType |
PaymentStatus |
0 = Pending 1 = Finalized 3 = Partial |
0 = Monthly 1 = Daily 2 = Hourly |
0 = UnPaid 1 = Paid |
| EmployeePayrollCycleRunStatus |
0 = SalaryOnHold = 0 1 = PaymentOnHold 3 = Skipped 6 = SalaryVoid 7 = PaymentVoid 8 = ExecutedAsSalary 9 = ExecutedAsArrear 10 = FinalSettlement 11 = FinalSettlementVoid 12 = ReleasePayment 13 = FinalSettlementPaymentVoid 14 = AlreadyPaid 15 = FinalSettlementAlreadyPaid 16 ='
parameters:
- name: payGroupId
in: path
required: true
schema:
type: string
- name: payCycleId
in: path
required: true
schema:
type: string
/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments:
get:
operationId: get_all_batch_payments
summary: Get all batch payments
tags:
- Payroll
responses:
'200':
description: Successful response
description: 'This API is used for fetching batch payments against against a batch ID,.
Enumerated Values
| PayrollRunStatus |
RemunerationType |
PaymentStatus |
0 = Pending 1 = Finalized 3 = Partial |
0 = Monthly 1 = Daily 2 = Hourly |
0 = UnPaid 1 = Paid |
| EmployeePayrollCycleRunStatus |
0 = SalaryOnHold = 0 1 = PaymentOnHold 3 = Skipped 6 = SalaryVoid 7 = PaymentVoid 8 = ExecutedAsSalary 9 = ExecutedAsArrear 10 = FinalSettlement 11 = FinalSettlementVoid 12 = ReleasePayment 13 = FinalSettlementPaymentVoid 14 = AlreadyPaid 15 = FinalSettlementAlreadyPaid '
parameters:
- name: payGroupId
in: path
required: true
schema:
type: string
- name: payCycleId
in: path
required: true
schema:
type: string
- name: payBatchId
in: path
required: true
schema:
type: string
put:
operationId: update_the_payment_status
summary: Update the payment status
tags:
- Payroll
responses:
'200':
description: Successful response
description: 'This API is used for updating payment status for a given batch ID. Only 100 bulk transactions will be allowed for a particular batch.
Enumerated Values
| PayrollRunStatus |
RemunerationType |
PaymentStatus |
0 = Pending 1 = Finalized 3 = Partial |
0 = Monthly 1 = Daily 2 = Hourly |
0 = UnPaid 1 = Paid |
| EmployeePayrollCycleRunStatus |
0 = SalaryOnHold = 0 1 = PaymentOnHold 3 = Skipped 6 = SalaryVoid 7 = PaymentVoid 8 = ExecutedAsSalary 9 = ExecutedAsArrear 10 = FinalSettlement 11 = FinalSettlementVoid 12 = ReleasePayment 13 = FinalSettlementPaymentVoid 14 '
parameters:
- name: payGroupId
in: path
required: true
schema:
type: string
- name: payCycleId
in: path
required: true
schema:
type: string
- name: payBatchId
in: path
required: true
schema:
type: string
/api/v1/time/payroll/paygrades:
get:
operationId: get_all_pay_grades
summary: Get all Pay Grades
tags:
- Payroll
responses:
'200':
description: Successful response
/api/v1/payroll/payband:
get:
operationId: get_all_pay_bands
summary: Get All Pay Bands
tags:
- Payroll
responses:
'200':
description: Successful response
/api/v1/payroll/salaries:
get:
operationId: get_all_employee_salaries
summary: Get all Employee Salaries
tags:
- Payroll
responses:
'200':
description: Successful response
/api/v1/payroll/employees/fnf:
get:
operationId: get_all_employee_fnf_details
summary: Get all employee FnF details
tags:
- Payroll
responses:
'200':
description: Successful response
/get-all-bonus-types:
get:
operationId: get_all_bonus_types
summary: Get all Bonus Types
tags:
- Payroll
responses:
'200':
description: Successful response
description: 'Get all bonus types
'
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
| | | | |