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