Independence Day offer · ₹52/employee/moClaim offer
INDPayroll
Payroll Engine API

API reference

All 171 endpoints, grouped the way an integration uses them. Every page here is generated from the OpenAPI description, so it says exactly what the contract says.

Base URLhttps://api.indpayroll.com/v1 openapi.yaml

Platform

7 endpoints

Health, tokens, key introspection, organizations and webhook subscriptions.

GET/healthLiveness probe
POST/auth/tokenExchange a key pair for a short-lived token
GET/meDescribe the calling key
GET/organizationsList organizations
POST/organizationsCreate a child organization
GET/organizations/{id}Retrieve an organization
PUT/organizations/{id}Update statutory IDs and the pay calendar
Platform in detail

Org master

21 endpoints

Departments, designations, holiday calendar and shifts.

GET/departmentsList departments
POST/departmentsCreate a department
GET/departments/{id}Retrieve a department
PATCH/departments/{id}Update a department
DELETE/departments/{id}Delete a department
GET/designationsList designations
POST/designationsCreate a designation
GET/designations/{id}Retrieve a designation
PATCH/designations/{id}Update a designation
DELETE/designations/{id}Delete a designation
GET/holidaysList the holiday calendar
POST/holidaysAdd a holiday
GET/holidays/{id}Retrieve a holiday
PATCH/holidays/{id}Update a holiday
DELETE/holidays/{id}Delete a holiday
GET/shiftsList shifts
POST/shiftsCreate a shift
GET/shifts/{id}Retrieve a shift
PATCH/shifts/{id}Update a shift
DELETE/shifts/{id}Delete a shift
POST/shifts/{id}/assignAssign employees to a shift
Org master in detail

Employees

10 endpoints

The employee master the engine reads on every run.

GET/employeesList employees
POST/employeesCreate or upsert an employee
POST/employees/bulkBulk upsert employees
GET/employees/{id}Retrieve an employee
PATCH/employees/{id}Update an employee
POST/employees/{id}/exitMark an employee's last working day
GET/employees/{id}/bankRetrieve bank details
PUT/employees/{id}/bankReplace bank details
GET/employees/{id}/statutoryRetrieve statutory identifiers
PUT/employees/{id}/statutoryReplace statutory identifiers
Employees in detail

One-time per-organization setup - cycle, components, groups, TDS, PT, payment methods.

GET/payroll-settingsRetrieve payroll settings
PUT/payroll-settingsReplace payroll settings
GET/payroll-settings/periodRetrieve the period setting
PUT/payroll-settings/periodSet the cut-off and the salary period
GET/payroll-settings/salary-daysRetrieve the salary-days basis
PUT/payroll-settings/salary-daysChoose calendar days or a fixed 30-day month
GET/payroll-settings/currencyRetrieve the payroll currency
PUT/payroll-settings/currencySet the payroll currency
GET/salary-componentsList salary components
POST/salary-componentsCreate a salary component
GET/salary-components/{id}Retrieve a salary component
PATCH/salary-components/{id}Update a salary component
DELETE/salary-components/{id}Delete a salary component
GET/salary-groupsList salary groups
POST/salary-groupsCreate a salary group
GET/salary-groups/{id}Retrieve a salary group
PATCH/salary-groups/{id}Update a salary group
DELETE/salary-groups/{id}Delete a salary group
PUT/salary-groups/{id}/componentsAttach components and their values
POST/salary-groups/{id}/employeesAssign employees to a salary group
GET/tds-slabsList TDS slabs
POST/tds-slabsCreate a TDS slab
PATCH/tds-slabs/{id}Enable or disable a TDS slab
GET/professional-tax/statesList professional tax states and slabs
POST/professional-tax/statesAdd a professional tax state
GET/employees/{id}/professional-taxRetrieve an employee's PT mapping
PUT/employees/{id}/professional-taxMap an employee to a PT state
GET/reimbursement-ratesRetrieve reimbursement rates
PUT/reimbursement-ratesSet reimbursement rates
GET/payment-methodsList payment methods
POST/payment-methodsCreate a payment method
GET/payroll-cyclesList payroll cycles
POST/payroll-cyclesCreate a payroll cycle
PUT/employees/{id}/cycleAssign an employee to a cycle
Payroll configuration in detail

Employee salary

9 endpoints

Per-employee salary structure, increments and variable components.

GET/employees/{id}/salaryRetrieve the current salary structure
PUT/employees/{id}/salarySet the opening salary structure
POST/employees/{id}/salary/incrementsRecord an increment or decrement
GET/employees/{id}/salary/historyRetrieve the structure history
PUT/employees/{id}/salary/allow-payrollAllow or block payroll generation
GET/employees/{id}/hourly-rateRetrieve the hourly rate
PUT/employees/{id}/hourly-rateSet the hourly rate
GET/employees/{id}/variable-componentsList per-period extras
PUT/employees/{id}/variable-componentsSet per-period extras
Employee salary in detail

Period inputs

16 endpoints

Attendance, leave, overtime, expenses and advances the run consumes.

GET/attendanceRead attendance for a window
POST/attendance/bulkUpsert daily attendance
GET/leavesList leave records
POST/leavesCreate a leave record
PATCH/leaves/{id}Approve, reject or cancel a leave
GET/overtime-requestsList overtime requests
POST/overtime-requestsRaise an overtime request
POST/overtime-requests/{id}/approveApprove an overtime request
GET/overtime-policiesList overtime policies
POST/overtime-policiesCreate an overtime policy
POST/overtime-policies/{id}/assignAssign employees to an overtime policy
GET/expensesList expenses
POST/expensesCreate a reimbursable expense
POST/expenses/{id}/approveApprove an expense for the next run
GET/employees/{id}/advancesList advances and loans
POST/employees/{id}/advancesCreate an advance with a recovery schedule
Period inputs in detail

Payroll runs

16 endpoints

The engine itself - preview, calculate, hold, lock, mark paid, reverse.

POST/payroll-runs/previewCalculate a run without persisting it
GET/payroll-runsList payroll runs
POST/payroll-runsCreate a run
GET/payroll-runs/{id}Retrieve a run
DELETE/payroll-runs/{id}Delete a draft run
POST/payroll-runs/{id}/calculateCalculate and persist the slips
POST/payroll-runs/{id}/recalculateRecalculate selected employees
GET/payroll-runs/{id}/employeesList per-employee lines
GET/payroll-runs/{id}/employees/{empId}Retrieve one slip breakdown
PATCH/payroll-runs/{id}/employees/{empId}Override one slip
POST/payroll-runs/{id}/holdHold or release employees
POST/payroll-runs/{id}/lockFreeze a run
POST/payroll-runs/{id}/unlockUnlock a run
POST/payroll-runs/{id}/mark-paidMark a run paid
POST/payroll-runs/{id}/emailEmail payslip PDFs
POST/payroll-runs/{id}/reverseReverse a run
Payroll runs in detail

Payslips

6 endpoints

Generated slips as JSON, PDF and salary certificates.

GET/payslipsList payslips
GET/payslips/{id}Retrieve a payslip
GET/payslips/{id}.pdfStream the payslip PDF
POST/payslips/{id}/emailEmail one payslip
GET/payslips/{id}/salary-certificateSalary certificate for the financial year
GET/employees/{id}/payslipsList one employee's payslips
Payslips in detail

Disbursement

3 endpoints

Bank files, disbursement summaries and Tally sync.

GET/payroll-runs/{id}/bank-fileDownload the bank upload file
GET/payroll-runs/{id}/disbursement-summaryTotals by bank and payment method
POST/payroll-runs/{id}/sync-tallyPost the run to Tally
Disbursement in detail

Statutory

20 endpoints

PF, ESI, PT, LWF and TDS returns in filing-ready formats.

GET/statutory/pf/ecrPF ECR file
GET/statutory/pf/form-5PF Form 5 - new joiners
GET/statutory/pf/form-10PF Form 10 - exits
GET/statutory/pf/form-12aPF Form 12A - monthly return
GET/statutory/pf/form-3aPF Form 3A - annual member return
GET/statutory/pf/form-6aPF Form 6A - annual consolidated return
GET/statutory/pf/statementPF statement
GET/statutory/esi/reportESI monthly report
GET/statutory/esi/returnESI return
GET/statutory/esi/form-01ESI Form 01 - employer registration
GET/statutory/pt/reportProfessional tax report
GET/statutory/pt/returnProfessional tax return
GET/statutory/lwf/returnLabour welfare fund return
POST/statutory/lwf/mark-submittedMark the LWF return filed
GET/statutory/tds/24qTDS Form 24Q
GET/statutory/tds/26qTDS Form 26Q
GET/statutory/filingsFiling dashboard
GET/government-formsList tracked challans and acknowledgements
POST/government-formsTrack a challan or acknowledgement
GET/government-forms/{id}Retrieve a tracked form
Statutory in detail

FnF and gratuity

10 endpoints

Full and final settlements and gratuity projections.

GET/fnfList settlements
POST/fnfOpen a settlement
GET/fnf/{id}Retrieve a settlement
POST/fnf/{id}/recalculateRecalculate a settlement
POST/fnf/{id}/approveApprove a settlement
POST/fnf/{id}/cancelCancel a settlement
POST/fnf/{id}/mark-paidMark a settlement paid
GET/gratuityGratuity across the organization
GET/gratuity/{employeeId}One employee's gratuity projection
POST/gratuity/exportExport the gratuity liability
FnF and gratuity in detail

Reports

13 endpoints

Payroll, attendance and compliance reports as JSON or file exports.

GET/reports/payroll-register/summaryPayroll register - summary
GET/reports/payroll-register/detailPayroll register - detail
GET/reports/salary-registerSalary register
GET/reports/attendance-summaryAttendance summary
GET/reports/overtimeOvertime report
GET/reports/ctc-annualAnnual CTC report
GET/reports/pay-differencePay difference report
GET/reports/monthly-tdsMonthly TDS report
GET/reports/esi-deductionESI deduction report
GET/reports/salary-summarySalary summary
GET/reports/gratuityGratuity report
GET/reports/leaveLeave report
GET/reports/expenseExpense report
Reports in detail

Imports

3 endpoints

Bulk file imports and their job status.

GET/imports/templateDownload a sample import file
POST/importsUpload a file for import
GET/imports/{jobId}Check import progress
Imports in detail

Webhooks

3 endpoints

Event subscriptions. The events themselves are described under `webhooks`.

GET/webhooksList webhook subscriptions
POST/webhooksRegister a webhook subscription
DELETE/webhooks/{id}Remove a webhook subscription
Webhooks in detail