255 actions across the whole platform — real fields, permissions and entitlements, generated from the live API.
The DecentroHR API is a single versioned surface. Every capability is an action invoked the same way, so there is one auth model, one error model and one idempotency model to learn. The full reference below is generated from the live API — 255 actions across every module, with real request fields, required permissions and plan entitlements.
https://api.decentrohr.com/v1
POST /v1/actions/<name> with a JSON body. On success you get { ok: true, result }.
POST /v1/actions/payroll.createRun Authorization: Bearer <token> Content-Type: application/json { "companyId": "...", "periodStart": "2026-04-01", "periodEnd": "2026-04-30" } // 200 { "ok": true, "result": { "id": "run_…", "status": "draft" } }
GET /v1/actions returns every action with its required permission and entitlement. GET /v1/openapi.json returns a full OpenAPI 3 document you can feed to code generators.
Send Authorization: Bearer <token>. A client-org service token is scoped to one tenant; permissions are the token's scopes. Missing or invalid tokens return 401; a token without the required permission returns 403. Every action below lists the permission it requires (and any entitlement your plan must include).
Pass an Idempotency-Key header on any mutating call. A retried request with the same key returns the stored result instead of running twice — safe for network retries and at-least-once webhook processing.
curl -X POST …/v1/actions/payroll.finalize \ -H "Idempotency-Key: finalize:run_123" \ -H "Authorization: Bearer $DHR_TOKEN" -d '{"runId":"run_123"}'
Errors return a JSON body { error, message } with a matching HTTP status:
| Status | Code | Meaning |
|---|---|---|
400 | invalid_input | The body failed validation. |
401 | unauthenticated | Missing or invalid token. |
402 | entitlement | The plan does not include this feature. |
403 | forbidden | Authenticated, but missing the permission. |
404 | not_found | The resource does not exist in this tenant. |
409 | idempotency_conflict | The Idempotency-Key was reused for a different request. |
The API is rate-limited per token. On 429, back off and retry with the Idempotency-Key you already sent — replays are safe.
Set the SDK's sandbox flag (or send X-DecentroHR-Sandbox: 1) to run against isolated test data. Nothing you do in sandbox touches production tenants.
Prefer the SDK — it handles auth, idempotency, typing and webhook verification for you.
Companies, org structure, holidays and HR policies — the scaffolding every other module reads. · 59 actions
/v1/actions/company.listList companies.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/company.createCreate a company.
| Field | Type | |
|---|---|---|
name | string | required |
legalName | string | optional |
registrationNo | string | optional |
taxId | string | optional |
countryCode | string | optional |
currency | string | optional |
timezone | string | optional |
fiscalYearStartMonth | number | optional |
logoUrl | uri | optional |
/v1/actions/company.updateUpdate a company by id.
| Field | Type | |
|---|---|---|
name | string | optional |
legalName | string | optional |
registrationNo | string | optional |
taxId | string | optional |
countryCode | string | optional |
currency | string | optional |
timezone | string | optional |
fiscalYearStartMonth | number | optional |
logoUrl | uri | optional |
id | uuid | required |
/v1/actions/company.deleteDelete a company by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/businessUnit.listList business units.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/businessUnit.createCreate a businessUnit.
| Field | Type | |
|---|---|---|
companyId | uuid | required |
name | string | required |
code | string | optional |
/v1/actions/businessUnit.updateUpdate a businessUnit by id.
| Field | Type | |
|---|---|---|
companyId | uuid | optional |
name | string | optional |
code | string | optional |
id | uuid | required |
/v1/actions/businessUnit.deleteDelete a businessUnit by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/location.listList locations / branches.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/location.createCreate a location.
| Field | Type | |
|---|---|---|
companyId | uuid | required |
name | string | required |
code | string | optional |
addressLine1 | string | optional |
addressLine2 | string | optional |
city | string | optional |
region | string | optional |
postalCode | string | optional |
countryCode | string | optional |
timezone | string | optional |
latitude | number | optional |
longitude | number | optional |
isHeadquarters | boolean | optional |
/v1/actions/location.updateUpdate a location by id.
| Field | Type | |
|---|---|---|
companyId | uuid | optional |
name | string | optional |
code | string | optional |
addressLine1 | string | optional |
addressLine2 | string | optional |
city | string | optional |
region | string | optional |
postalCode | string | optional |
countryCode | string | optional |
timezone | string | optional |
latitude | number | optional |
longitude | number | optional |
isHeadquarters | boolean | optional |
id | uuid | required |
/v1/actions/location.deleteDelete a location by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/costCenter.listList cost centers.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/costCenter.createCreate a costCenter.
| Field | Type | |
|---|---|---|
companyId | uuid | required |
name | string | required |
code | string | optional |
/v1/actions/costCenter.updateUpdate a costCenter by id.
| Field | Type | |
|---|---|---|
companyId | uuid | optional |
name | string | optional |
code | string | optional |
id | uuid | required |
/v1/actions/costCenter.deleteDelete a costCenter by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/department.listList departments.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/department.createCreate a department.
| Field | Type | |
|---|---|---|
companyId | uuid | required |
name | string | required |
code | string | optional |
parentDepartmentId | uuid | optional |
costCenterId | uuid | optional |
headEmployeeId | uuid | optional |
/v1/actions/department.updateUpdate a department by id.
| Field | Type | |
|---|---|---|
companyId | uuid | optional |
name | string | optional |
code | string | optional |
parentDepartmentId | uuid | optional |
costCenterId | uuid | optional |
headEmployeeId | uuid | optional |
id | uuid | required |
/v1/actions/department.deleteDelete a department by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/team.listList teams.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/team.createCreate a team.
| Field | Type | |
|---|---|---|
departmentId | uuid | required |
name | string | required |
leadEmployeeId | uuid | optional |
/v1/actions/team.updateUpdate a team by id.
| Field | Type | |
|---|---|---|
departmentId | uuid | optional |
name | string | optional |
leadEmployeeId | uuid | optional |
id | uuid | required |
/v1/actions/team.deleteDelete a team by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/designation.listList designations.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/designation.createCreate a designation.
| Field | Type | |
|---|---|---|
name | string | required |
code | string | optional |
/v1/actions/designation.updateUpdate a designation by id.
| Field | Type | |
|---|---|---|
name | string | optional |
code | string | optional |
id | uuid | required |
/v1/actions/designation.deleteDelete a designation by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/grade.listList grades.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/grade.createCreate a grade.
| Field | Type | |
|---|---|---|
name | string | required |
code | string | optional |
level | number | optional |
/v1/actions/grade.updateUpdate a grade by id.
| Field | Type | |
|---|---|---|
name | string | optional |
code | string | optional |
level | number | optional |
id | uuid | required |
/v1/actions/grade.deleteDelete a grade by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeCategory.listList employee categories.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/employeeCategory.createCreate a employeeCategory.
| Field | Type | |
|---|---|---|
name | string | required |
/v1/actions/employeeCategory.updateUpdate a employeeCategory by id.
| Field | Type | |
|---|---|---|
name | string | optional |
id | uuid | required |
/v1/actions/employeeCategory.deleteDelete a employeeCategory by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employmentType.listList employment types.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/employmentType.createCreate a employmentType.
| Field | Type | |
|---|---|---|
name | string | required |
/v1/actions/employmentType.updateUpdate a employmentType by id.
| Field | Type | |
|---|---|---|
name | string | optional |
id | uuid | required |
/v1/actions/employmentType.deleteDelete a employmentType by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/holidayCalendar.listList holiday calendars.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/holidayCalendar.createCreate a holidayCalendar.
| Field | Type | |
|---|---|---|
name | string | required |
companyId | uuid | optional |
countryCode | string | optional |
/v1/actions/holidayCalendar.updateUpdate a holidayCalendar by id.
| Field | Type | |
|---|---|---|
name | string | optional |
companyId | uuid | optional |
countryCode | string | optional |
id | uuid | required |
/v1/actions/holidayCalendar.deleteDelete a holidayCalendar by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/holiday.listList holidays.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/holiday.createCreate a holiday.
| Field | Type | |
|---|---|---|
calendarId | uuid | required |
day | date | required |
name | string | required |
isOptional | boolean | optional |
/v1/actions/holiday.updateUpdate a holiday by id.
| Field | Type | |
|---|---|---|
calendarId | uuid | optional |
day | date | optional |
name | string | optional |
isOptional | boolean | optional |
id | uuid | required |
/v1/actions/holiday.deleteDelete a holiday by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/org.chartReturn the org chart as a tree — department hierarchy or reporting lines.
| Field | Type | |
|---|---|---|
type | departments | reporting | optional |
companyId | uuid | optional |
/v1/actions/org.renameTenantRename the current organization.
| Field | Type | |
|---|---|---|
name | string | required |
/v1/actions/reportingLine.listList matrix reporting lines for an employee or manager.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
managerId | uuid | optional |
/v1/actions/reportingLine.createAdd a matrix / dotted-line reporting relationship.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
managerId | uuid | required |
type | matrix | functional | project | optional |
/v1/actions/reportingLine.deleteRemove a matrix reporting line by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/hrPolicy.listList HR policies.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/hrPolicy.createCreate a hrPolicy.
| Field | Type | |
|---|---|---|
title | string | required |
category | string | optional |
content | string | optional |
version | number | optional |
effectiveDate | date | optional |
/v1/actions/hrPolicy.updateUpdate a hrPolicy by id.
| Field | Type | |
|---|---|---|
title | string | optional |
category | string | optional |
content | string | optional |
version | number | optional |
effectiveDate | date | optional |
id | uuid | required |
/v1/actions/hrPolicy.acknowledgeAcknowledge an HR policy (records the version you accepted).
| Field | Type | |
|---|---|---|
policyId | uuid | required |
/v1/actions/hrPolicy.acknowledgementsList who has acknowledged a policy.
| Field | Type | |
|---|---|---|
policyId | uuid | required |
/v1/actions/hrPolicy.deleteDelete a hrPolicy by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
The employee master — profiles, contacts, dependents, documents, tax and bank details, and lifecycle events. · 36 actions
/v1/actions/employee.listList / search employees.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
companyId | uuid | optional |
departmentId | uuid | optional |
managerId | uuid | optional |
status | string | optional |
search | string | optional |
/v1/actions/employee.getGet one employee by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employee.createCreate an employee record.
| Field | Type | |
|---|---|---|
companyId | uuid | required |
employeeCode | string | optional |
userId | uuid | optional |
firstName | string | required |
middleName | string | optional |
lastName | string | optional |
displayName | string | optional |
avatarUrl | uri | optional |
avatarFileId | uuid | optional |
dateOfBirth | date | optional |
gender | male | female | non_binary | prefer_not_to_say | other | optional |
maritalStatus | single | married | divorced | widowed | separated | other | optional |
nationality | string | optional |
personalEmail | optional | |
workEmail | optional | |
phone | string | optional |
departmentId | uuid | optional |
designationId | uuid | optional |
gradeId | uuid | optional |
employmentTypeId | uuid | optional |
employeeCategoryId | uuid | optional |
locationId | uuid | optional |
managerId | uuid | optional |
status | active | probation | on_leave | terminated | resigned | suspended | optional |
joiningDate | date | optional |
confirmationDate | date | optional |
probationEndDate | date | optional |
exitDate | date | optional |
/v1/actions/employee.updateUpdate an employee record by id.
| Field | Type | |
|---|---|---|
companyId | uuid | optional |
employeeCode | string | optional |
userId | uuid | optional |
firstName | string | optional |
middleName | string | optional |
lastName | string | optional |
displayName | string | optional |
avatarUrl | uri | optional |
avatarFileId | uuid | optional |
dateOfBirth | date | optional |
gender | male | female | non_binary | prefer_not_to_say | other | optional |
maritalStatus | single | married | divorced | widowed | separated | other | optional |
nationality | string | optional |
personalEmail | optional | |
workEmail | optional | |
phone | string | optional |
departmentId | uuid | optional |
designationId | uuid | optional |
gradeId | uuid | optional |
employmentTypeId | uuid | optional |
employeeCategoryId | uuid | optional |
locationId | uuid | optional |
managerId | uuid | optional |
status | active | probation | on_leave | terminated | resigned | suspended | optional |
joiningDate | date | optional |
confirmationDate | date | optional |
probationEndDate | date | optional |
exitDate | date | optional |
id | uuid | required |
/v1/actions/employee.demoteRecord a demotion: change grade/designation and log the event.
| Field | Type | |
|---|---|---|
id | uuid | required |
gradeId | uuid | optional |
designationId | uuid | optional |
note | string | optional |
effectiveDate | string | optional |
/v1/actions/employee.promoteRecord a promotion: change grade/designation and log the event.
| Field | Type | |
|---|---|---|
id | uuid | required |
gradeId | uuid | optional |
designationId | uuid | optional |
note | string | optional |
effectiveDate | string | optional |
/v1/actions/employeeAddress.listList employee addresses.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
/v1/actions/employeeAddress.createCreate a employeeAddress.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
type | current | permanent | other | optional |
addressLine1 | string | optional |
addressLine2 | string | optional |
city | string | optional |
region | string | optional |
postalCode | string | optional |
countryCode | string | optional |
isPrimary | boolean | optional |
/v1/actions/employeeAddress.updateUpdate a employeeAddress by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
type | current | permanent | other | optional |
addressLine1 | string | optional |
addressLine2 | string | optional |
city | string | optional |
region | string | optional |
postalCode | string | optional |
countryCode | string | optional |
isPrimary | boolean | optional |
id | uuid | required |
/v1/actions/employeeAddress.deleteDelete a employeeAddress by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeContact.listList emergency contacts.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
/v1/actions/employeeContact.createCreate a employeeContact.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
name | string | required |
relationship | string | optional |
phone | string | optional |
email | optional |
/v1/actions/employeeContact.updateUpdate a employeeContact by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
name | string | optional |
relationship | string | optional |
phone | string | optional |
email | optional | |
id | uuid | required |
/v1/actions/employeeContact.deleteDelete a employeeContact by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeDependent.listList dependents.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
/v1/actions/employeeDependent.createCreate a employeeDependent.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
name | string | required |
relationship | string | optional |
dateOfBirth | date | optional |
/v1/actions/employeeDependent.updateUpdate a employeeDependent by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
name | string | optional |
relationship | string | optional |
dateOfBirth | date | optional |
id | uuid | required |
/v1/actions/employeeDependent.deleteDelete a employeeDependent by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeSignature.listList employee signatures.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
/v1/actions/employeeSignature.createCreate a employeeSignature.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
fileUrl | uri | optional |
purpose | offer | policy_ack | general | optional |
/v1/actions/employeeSignature.updateUpdate a employeeSignature by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
fileUrl | uri | optional |
purpose | offer | policy_ack | general | optional |
id | uuid | required |
/v1/actions/employeeSignature.deleteDelete a employeeSignature by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeBankAccount.listList an employee's bank accounts (account numbers masked).
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
/v1/actions/employeeBankAccount.createAdd a bank account for an employee (account number stored encrypted).
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
accountHolderName | string | required |
bankName | string | optional |
branch | string | optional |
accountNumber | string | required |
routing | string | optional |
currency | string | optional |
isPrimary | boolean | optional |
/v1/actions/employeeBankAccount.deleteDelete an employee bank account by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeDocument.listList an employee's documents (numbers masked).
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
/v1/actions/employeeDocument.createAttach a document (passport, visa, PAN, etc.) to an employee.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
type | passport | visa | driving_license | national_id | pan | aadhaar | … | required |
documentNumber | string | optional |
fileUrl | uri | optional |
fileId | uuid | optional |
issuingCountry | string | optional |
issueDate | date | optional |
expiryDate | date | optional |
supersedesDocumentId | uuid | optional |
/v1/actions/employeeDocument.updateUpdate a document's metadata (not its number — delete + recreate to change that).
| Field | Type | |
|---|---|---|
id | uuid | required |
type | string | optional |
fileUrl | uri | optional |
issuingCountry | string | optional |
issueDate | date | optional |
expiryDate | date | optional |
/v1/actions/employeeDocument.rejectReject an employee document (approval decision).
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeDocument.verifyMark an employee document as verified.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeTax.getGet an employee's tax profile (tax number masked).
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
/v1/actions/employeeTax.setSet an employee's tax profile (tax number stored encrypted).
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
countryCode | string | optional |
regime | string | optional |
taxNumber | string | optional |
details | object | optional |
/v1/actions/employeeTaxCode.listList an employee's statutory tax codes (values masked).
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
/v1/actions/employeeTaxCode.setAdd/replace a statutory tax code (PAN, SSN, …) — type validated per country, value encrypted.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
codeType | string | required |
value | string | required |
countryCode | string | optional |
/v1/actions/employmentEvent.listList an employee's employment history events.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
/v1/actions/directory.listUsersList the people in the current organization.
| Field | Type | |
|---|---|---|
limit | number | optional |
Check-in across web, GPS, QR, NFC and biometrics; shifts, rotations, swaps, bids and rosters; overtime. · 70 actions
/v1/actions/attendance.listList attendance records for an employee / date range.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
startDate | date | optional |
endDate | date | optional |
limit | number | optional |
offset | number | optional |
/v1/actions/attendance.calendarPer-day attendance calendar (roster + actuals + approved leave) for an employee.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
startDate | date | required |
endDate | date | required |
/v1/actions/attendance.checkInCheck in (server time + optional GPS/QR/NFC; geofence enforced if configured).
| Field | Type | |
|---|---|---|
lat | number | optional |
lng | number | optional |
source | web | mobile | optional |
qrCode | string | optional |
nfcTagId | string | optional |
employeeId | uuid | optional |
/v1/actions/attendance.checkOutCheck out (geofence enforced if configured).
| Field | Type | |
|---|---|---|
lat | number | optional |
lng | number | optional |
source | web | mobile | optional |
qrCode | string | optional |
nfcTagId | string | optional |
employeeId | uuid | optional |
/v1/actions/attendance.correctRequest a correction to an attendance record.
| Field | Type | |
|---|---|---|
workDate | date | required |
requestedCheckInAt | date-time | optional |
requestedCheckOutAt | date-time | optional |
reason | string | optional |
employeeId | uuid | optional |
/v1/actions/attendance.faceCheckInCheck in via face recognition (self only; verifies your face + enforces geofence).
| Field | Type | |
|---|---|---|
descriptor | [number] | required |
lat | number | optional |
lng | number | optional |
/v1/actions/attendance.faceCheckOutCheck out via face recognition (self only; verifies your face + enforces geofence).
| Field | Type | |
|---|---|---|
descriptor | [number] | required |
lat | number | optional |
lng | number | optional |
/v1/actions/attendance.overtimeReportWorked + overtime minutes per employee over a period (all employees for managers, self otherwise).
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
startDate | date | required |
endDate | date | required |
limit | number | optional |
offset | number | optional |
/v1/actions/attendanceDevice.listList registered devices (never exposes the key).
No request fields.
/v1/actions/attendanceDevice.deactivateDeactivate a device (its key stops working).
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/attendanceDevice.registerRegister a biometric/punch device. Returns the device key once — store it; only the hash is kept.
| Field | Type | |
|---|---|---|
name | string | required |
serial | string | optional |
locationId | uuid | optional |
/v1/actions/attendanceQrCode.issueIssue a QR code for a site (returns the code to render as a QR).
| Field | Type | |
|---|---|---|
locationId | uuid | required |
/v1/actions/attendanceQrCode.revokeDeactivate a site QR code.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/geofence.listList geofences.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
locationId | uuid | optional |
/v1/actions/geofence.createCreate a geofence.
| Field | Type | |
|---|---|---|
locationId | uuid | required |
name | string | required |
latitude | number | required |
longitude | number | required |
radiusMeters | number | optional |
isActive | boolean | optional |
/v1/actions/geofence.updateUpdate a geofence by id.
| Field | Type | |
|---|---|---|
locationId | uuid | optional |
name | string | optional |
latitude | number | optional |
longitude | number | optional |
radiusMeters | number | optional |
isActive | boolean | optional |
id | uuid | required |
/v1/actions/geofence.deleteDelete a geofence by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/nfcTag.listList NFC tags.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
locationId | uuid | optional |
/v1/actions/nfcTag.createCreate a nfcTag.
| Field | Type | |
|---|---|---|
locationId | uuid | required |
tagId | string | required |
label | string | optional |
isActive | boolean | optional |
/v1/actions/nfcTag.updateUpdate a nfcTag by id.
| Field | Type | |
|---|---|---|
locationId | uuid | optional |
tagId | string | optional |
label | string | optional |
isActive | boolean | optional |
id | uuid | required |
/v1/actions/nfcTag.deleteDelete a nfcTag by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/faceEnrollment.listList face enrollments (self unless you can manage attendance). Never returns the template.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
/v1/actions/faceEnrollment.enrollEnroll YOUR OWN face descriptor (128-d, extracted client-side by face-api.js).
| Field | Type | |
|---|---|---|
descriptor | [number] | required |
label | string | optional |
/v1/actions/faceEnrollment.deleteDelete a face enrollment (your own, or any if you can manage attendance).
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/biometricEnrollment.listList biometric enrollments.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
/v1/actions/biometricEnrollment.createCreate a biometricEnrollment.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
bioId | string | required |
deviceId | uuid | optional |
isActive | boolean | optional |
/v1/actions/biometricEnrollment.updateUpdate a biometricEnrollment by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
bioId | string | optional |
deviceId | uuid | optional |
isActive | boolean | optional |
id | uuid | required |
/v1/actions/biometricEnrollment.deleteDelete a biometricEnrollment by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/shift.listList shifts.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/shift.createCreate a shift.
| Field | Type | |
|---|---|---|
code | string | required |
name | string | required |
groupId | uuid | optional |
type | fixed | flexible | night | rotational | split | optional |
startTime | string | optional |
endTime | string | optional |
breakMinutes | number | optional |
workHours | string | optional |
isNightShift | boolean | optional |
isActive | boolean | optional |
/v1/actions/shift.updateUpdate a shift by id.
| Field | Type | |
|---|---|---|
code | string | optional |
name | string | optional |
groupId | uuid | optional |
type | fixed | flexible | night | rotational | split | optional |
startTime | string | optional |
endTime | string | optional |
breakMinutes | number | optional |
workHours | string | optional |
isNightShift | boolean | optional |
isActive | boolean | optional |
id | uuid | required |
/v1/actions/shift.deleteDelete a shift by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/shiftGroup.listList shift groups.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/shiftGroup.createCreate a shiftGroup.
| Field | Type | |
|---|---|---|
name | string | required |
code | string | optional |
/v1/actions/shiftGroup.updateUpdate a shiftGroup by id.
| Field | Type | |
|---|---|---|
name | string | optional |
code | string | optional |
id | uuid | required |
/v1/actions/shiftGroup.deleteDelete a shiftGroup by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/shiftSegment.listList shift segments.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
shiftId | uuid | optional |
/v1/actions/shiftSegment.createCreate a shiftSegment.
| Field | Type | |
|---|---|---|
shiftId | uuid | required |
seq | number | optional |
startTime | string | required |
endTime | string | required |
/v1/actions/shiftSegment.updateUpdate a shiftSegment by id.
| Field | Type | |
|---|---|---|
shiftId | uuid | optional |
seq | number | optional |
startTime | string | optional |
endTime | string | optional |
id | uuid | required |
/v1/actions/shiftSegment.deleteDelete a shiftSegment by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/shiftAssignment.listList shift assignments.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
shiftId | uuid | optional |
/v1/actions/shiftAssignment.createCreate a shiftAssignment.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
shiftId | uuid | required |
startDate | date | required |
endDate | date | optional |
/v1/actions/shiftAssignment.updateUpdate a shiftAssignment by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
shiftId | uuid | optional |
startDate | date | optional |
endDate | date | optional |
id | uuid | required |
/v1/actions/shiftAssignment.deleteDelete a shiftAssignment by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/shiftSwap.listList shift swaps that involve you (or all, if you can manage attendance).
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/shiftSwap.requestRequest to swap one of your rostered shifts with a colleague's.
| Field | Type | |
|---|---|---|
fromScheduleId | uuid | required |
toScheduleId | uuid | required |
reason | string | optional |
/v1/actions/shiftSwap.respondAccept or decline a shift-swap request addressed to you.
| Field | Type | |
|---|---|---|
swapId | uuid | required |
decision | accept | decline | required |
/v1/actions/shiftSwap.cancelCancel a swap you requested (before it has been accepted).
| Field | Type | |
|---|---|---|
swapId | uuid | required |
/v1/actions/shiftBid.listList bids for an open shift (manager) or your own bids.
| Field | Type | |
|---|---|---|
scheduleId | uuid | optional |
/v1/actions/shiftBid.awardAward an open shift to one of its bidders.
| Field | Type | |
|---|---|---|
bidId | uuid | required |
/v1/actions/shiftBid.placeBid on an open rostered shift.
| Field | Type | |
|---|---|---|
scheduleId | uuid | required |
note | string | optional |
/v1/actions/shiftBid.withdrawWithdraw your bid on an open shift.
| Field | Type | |
|---|---|---|
bidId | uuid | required |
/v1/actions/shiftSchedule.listList the roster (self unless you can manage attendance).
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
startDate | date | optional |
endDate | date | optional |
openOnly | boolean | optional |
limit | number | optional |
offset | number | optional |
/v1/actions/shiftSchedule.assignRoster a shift to an employee on a date.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
workDate | date | required |
shiftId | uuid | required |
note | string | optional |
/v1/actions/shiftSchedule.cancelCancel a rostered shift by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/openShift.postPost an OPEN shift (unassigned) that employees can bid on.
| Field | Type | |
|---|---|---|
workDate | date | required |
shiftId | uuid | required |
note | string | optional |
/v1/actions/rotationPattern.listList rotation patterns.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/rotationPattern.createCreate a rotationPattern.
| Field | Type | |
|---|---|---|
name | string | required |
code | string | optional |
/v1/actions/rotationPattern.updateUpdate a rotationPattern by id.
| Field | Type | |
|---|---|---|
name | string | optional |
code | string | optional |
id | uuid | required |
/v1/actions/rotationPattern.deleteDelete a rotationPattern by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/rotationStep.listList rotation steps.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
patternId | uuid | optional |
/v1/actions/rotationStep.createCreate a rotationStep.
| Field | Type | |
|---|---|---|
patternId | uuid | required |
seq | number | required |
shiftId | uuid | optional |
/v1/actions/rotationStep.updateUpdate a rotationStep by id.
| Field | Type | |
|---|---|---|
patternId | uuid | optional |
seq | number | optional |
shiftId | uuid | optional |
id | uuid | required |
/v1/actions/rotationStep.deleteDelete a rotationStep by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/rotationAssignment.listList rotation assignments.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
patternId | uuid | optional |
/v1/actions/rotationAssignment.createCreate a rotationAssignment.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
patternId | uuid | required |
startDate | date | required |
endDate | date | optional |
/v1/actions/rotationAssignment.updateUpdate a rotationAssignment by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
patternId | uuid | optional |
startDate | date | optional |
endDate | date | optional |
id | uuid | required |
/v1/actions/rotationAssignment.deleteDelete a rotationAssignment by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/roster.generateAuto-generate the roster for a date range from rotation patterns. mode 'fill' adds missing days (idempotent); 'replace' re-stamps this generator's own rows so a pattern edit propagates.
| Field | Type | |
|---|---|---|
startDate | date | required |
endDate | date | required |
employeeId | uuid | optional |
mode | fill | replace | optional |
allowPast | boolean | optional |
/v1/actions/overtime.requestRequest overtime approval for a date.
| Field | Type | |
|---|---|---|
workDate | date | required |
hours | string | required |
reason | string | optional |
employeeId | uuid | optional |
Leave types, balances, requests, encashment and comp-off. · 20 actions
/v1/actions/leave.listList leave requests (optionally filtered by employee/status).
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
status | string | optional |
limit | number | optional |
offset | number | optional |
/v1/actions/leave.analyticsLeave utilization per type + request breakdown for a year (self unless you can manage leave).
| Field | Type | |
|---|---|---|
year | number | required |
employeeId | uuid | optional |
/v1/actions/leave.calendarApproved leave overlapping a date range (who's off when).
| Field | Type | |
|---|---|---|
startDate | date | required |
endDate | date | required |
/v1/actions/leave.encashRequest to encash unused leave (routes through approval; balance settled at payroll).
| Field | Type | |
|---|---|---|
leaveTypeId | uuid | required |
year | number | required |
days | number | required |
employeeId | uuid | optional |
/v1/actions/leave.requestRequest leave (for yourself, or for an employee if you manage leave).
| Field | Type | |
|---|---|---|
leaveTypeId | uuid | required |
startDate | date | required |
endDate | date | required |
halfDay | boolean | optional |
halfDaySession | first | second | optional |
hours | number | optional |
reason | string | optional |
employeeId | uuid | optional |
/v1/actions/leave.revokeRevoke an approved leave and return the consumed days.
| Field | Type | |
|---|---|---|
leaveRequestId | uuid | required |
reason | string | optional |
/v1/actions/leave.cancelCancel a pending leave request.
| Field | Type | |
|---|---|---|
leaveRequestId | uuid | required |
/v1/actions/leaveType.listList leave types.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/leaveType.createCreate a leaveType.
| Field | Type | |
|---|---|---|
code | string | required |
name | string | required |
isPaid | boolean | optional |
requiresApproval | boolean | optional |
unit | day | hour | optional |
accrualMethod | none | monthly | annual | optional |
accrualAmount | string | optional |
maxBalance | string | optional |
allowCarryForward | boolean | optional |
carryForwardMax | string | optional |
allowNegativeBalance | boolean | optional |
genderRestriction | male | female | optional |
encashable | boolean | optional |
isCompOff | boolean | optional |
sandwichPolicy | boolean | optional |
colorHex | string | optional |
isActive | boolean | optional |
/v1/actions/leaveType.updateUpdate a leaveType by id.
| Field | Type | |
|---|---|---|
code | string | optional |
name | string | optional |
isPaid | boolean | optional |
requiresApproval | boolean | optional |
unit | day | hour | optional |
accrualMethod | none | monthly | annual | optional |
accrualAmount | string | optional |
maxBalance | string | optional |
allowCarryForward | boolean | optional |
carryForwardMax | string | optional |
allowNegativeBalance | boolean | optional |
genderRestriction | male | female | optional |
encashable | boolean | optional |
isCompOff | boolean | optional |
sandwichPolicy | boolean | optional |
colorHex | string | optional |
isActive | boolean | optional |
id | uuid | required |
/v1/actions/leaveType.deleteDelete a leaveType by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/leaveBlackout.listList leave blackouts.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/leaveBlackout.createCreate a leaveBlackout.
| Field | Type | |
|---|---|---|
name | string | required |
startDate | date | required |
endDate | date | required |
leaveTypeId | uuid | optional |
isActive | boolean | optional |
/v1/actions/leaveBlackout.updateUpdate a leaveBlackout by id.
| Field | Type | |
|---|---|---|
name | string | optional |
startDate | date | optional |
endDate | date | optional |
leaveTypeId | uuid | optional |
isActive | boolean | optional |
id | uuid | required |
/v1/actions/leaveBlackout.deleteDelete a leaveBlackout by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/leaveBalance.listList an employee's leave balances.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
year | number | optional |
/v1/actions/leaveBalance.allocateAllocate (grant) leave balance to an employee for a year.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
leaveTypeId | uuid | required |
year | number | required |
amount | string | required |
/v1/actions/leaveEncashment.listList leave-encashment requests (self unless you can manage leave).
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
/v1/actions/compOff.listList comp-off grants (self unless you can manage leave).
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
/v1/actions/compOff.grantGrant compensatory-off days to an employee (into a comp-off leave type).
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
leaveTypeId | uuid | required |
days | number | required |
workedDate | date | required |
expiryDate | date | optional |
reason | string | optional |
Salary structures and components, statutory setup, runs, payslips, loans and filing exports. · 45 actions
/v1/actions/payroll.addRunInputAdd an ad-hoc earning (bonus/incentive/variable pay) or deduction (garnishment) line to a draft/preview run. Recalculate afterwards.
| Field | Type | |
|---|---|---|
runId | uuid | required |
employeeId | uuid | required |
kind | earning | deduction | required |
code | string | required |
name | string | required |
amount | string | required |
taxable | boolean | optional |
note | string | optional |
/v1/actions/payroll.approveApprove a calculated run (maker-checker) — records the approver; required before finalize.
| Field | Type | |
|---|---|---|
runId | uuid | required |
/v1/actions/payroll.bankAdviceGenerate the bank-advice payout file (NEFT CSV or NACH fixed-width) for a finalized run. No money moves — this is an export.
| Field | Type | |
|---|---|---|
runId | uuid | required |
format | neft | nach | optional |
/v1/actions/payroll.calculateCalculate (preview) all payslips for a run — recalc-safe, no ledger posting yet.
| Field | Type | |
|---|---|---|
runId | uuid | required |
/v1/actions/payroll.complianceReportStatutory compliance rollup for a FINALIZED run — per-employee amounts + totals for PF (ECR), ESI, Professional Tax, or TDS (Form 24Q).
| Field | Type | |
|---|---|---|
runId | uuid | required |
statute | pf | esi | pt | lwf | tds | required |
/v1/actions/payroll.computeArrearsCompute retro/arrears for an employee: the delta of the current (as-of-period) salary vs what was actually paid in prior locked runs, staged as ARREARS earning input(s) on a draft/preview run.
| Field | Type | |
|---|---|---|
runId | uuid | required |
employeeId | uuid | required |
fromPeriodStart | date | required |
/v1/actions/payroll.computeFnfStage full & final settlement for a leaver on an fnf run: statutory gratuity + approved leave encashment as earning inputs. Calculate then prorates salary to the exit date and recovers the full loan outstanding; add notice-pay/dues via addRunInput.
| Field | Type | |
|---|---|---|
runId | uuid | required |
employeeId | uuid | required |
exitReason | resignation | termination | retirement | death | disability | optional |
/v1/actions/payroll.createRunCreate a payroll run for a company + period (draft).
| Field | Type | |
|---|---|---|
companyId | uuid | required |
periodStart | date | required |
periodEnd | date | required |
payDate | date | optional |
runType | regular | offcycle | fnf | optional |
employeeId | uuid | optional |
/v1/actions/payroll.finalizePost an APPROVED run to the hash-chained ledger and lock it (immutable).
| Field | Type | |
|---|---|---|
runId | uuid | required |
/v1/actions/payroll.generatePayslipsGenerate + store PDF payslips for every payslip in a finalized (locked) run.
| Field | Type | |
|---|---|---|
runId | uuid | required |
/v1/actions/payroll.listRunInputsList ad-hoc input lines for a run.
| Field | Type | |
|---|---|---|
runId | uuid | required |
employeeId | uuid | optional |
/v1/actions/payroll.listRunsList payroll runs.
| Field | Type | |
|---|---|---|
companyId | uuid | optional |
limit | number | optional |
offset | number | optional |
/v1/actions/payroll.registerPayroll register for a run: every payslip with earnings/deductions/employer breakdown + cost-to-company and grand totals.
| Field | Type | |
|---|---|---|
runId | uuid | required |
/v1/actions/payroll.removeRunInputRemove an ad-hoc run input line (only while the run is draft/preview).
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/payroll.statutoryExportGenerate a statutory return file for a finalized run (PF ECR, ESI, TDS 24Q, PT, LWF) — stored to S3, returns a file id. Validate the exact format against the current government utility before filing.
| Field | Type | |
|---|---|---|
runId | uuid | required |
type | pf_ecr | esi | tds_24q | pt | lwf | required |
/v1/actions/payroll.variancePer-employee gross/deduction/net deltas between two runs (same company + currency), plus joiners and leavers.
| Field | Type | |
|---|---|---|
currentRunId | uuid | required |
priorRunId | uuid | required |
/v1/actions/payroll.ytdYear-to-date payroll totals for an employee in a tax year (your own unless you can manage payroll).
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
taxYear | string | optional |
/v1/actions/payslip.listList payslips (your own unless you can manage payroll).
| Field | Type | |
|---|---|---|
runId | uuid | optional |
employeeId | uuid | optional |
/v1/actions/payslip.getPdfUrlGet a presigned URL to download a payslip PDF (your own unless you can manage payroll).
| Field | Type | |
|---|---|---|
payslipId | uuid | required |
/v1/actions/salaryStructure.listList salary structures.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
/v1/actions/salaryStructure.createCreate a salaryStructure.
| Field | Type | |
|---|---|---|
name | string | required |
code | string | optional |
description | string | optional |
currency | string | optional |
isActive | boolean | optional |
/v1/actions/salaryStructure.updateUpdate a salaryStructure by id.
| Field | Type | |
|---|---|---|
name | string | optional |
code | string | optional |
description | string | optional |
currency | string | optional |
isActive | boolean | optional |
id | uuid | required |
/v1/actions/salaryStructure.deleteDelete a salaryStructure by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/salaryComponent.listList salary components.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
structureId | uuid | optional |
/v1/actions/salaryComponent.createCreate a salaryComponent.
| Field | Type | |
|---|---|---|
structureId | uuid | required |
name | string | required |
code | string | required |
kind | earning | deduction | employer_contribution | required |
calcType | flat | percent_of_basic | percent_of_ctc | percent_of_gross | formula | optional |
value | string | optional |
formula | string | optional |
taxable | boolean | optional |
pfApplicable | boolean | optional |
esiApplicable | boolean | optional |
gratuityApplicable | boolean | optional |
pensionApplicable | boolean | optional |
niApplicable | boolean | optional |
recurring | boolean | optional |
seq | number | optional |
/v1/actions/salaryComponent.updateUpdate a salaryComponent by id.
| Field | Type | |
|---|---|---|
structureId | uuid | optional |
name | string | optional |
code | string | optional |
kind | earning | deduction | employer_contribution | optional |
calcType | flat | percent_of_basic | percent_of_ctc | percent_of_gross | formula | optional |
value | string | optional |
formula | string | optional |
taxable | boolean | optional |
pfApplicable | boolean | optional |
esiApplicable | boolean | optional |
gratuityApplicable | boolean | optional |
pensionApplicable | boolean | optional |
niApplicable | boolean | optional |
recurring | boolean | optional |
seq | number | optional |
id | uuid | required |
/v1/actions/salaryComponent.deleteDelete a salaryComponent by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeSalary.listList employee salary assignments.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
/v1/actions/employeeSalary.createCreate a employeeSalary.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
structureId | uuid | required |
ctc | string | required |
grossMonthly | string | optional |
currency | string | optional |
effectiveDate | date | required |
isCurrent | boolean | optional |
note | string | optional |
/v1/actions/employeeSalary.updateUpdate a employeeSalary by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
structureId | uuid | optional |
ctc | string | optional |
grossMonthly | string | optional |
currency | string | optional |
effectiveDate | date | optional |
isCurrent | boolean | optional |
note | string | optional |
id | uuid | required |
/v1/actions/employeeSalary.deleteDelete a employeeSalary by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeCompensation.listList an employee's compensation history.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
/v1/actions/employeeCompensation.createRecord an employee's compensation (supersedes the current record + logs a revision).
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
effectiveDate | date | required |
currency | string | required |
amount | string | required |
frequency | hourly | weekly | biweekly | monthly | annual | optional |
componentType | gross | basic | ctc | net | allowance | bonus | optional |
note | string | optional |
/v1/actions/employeeStatutory.listList employee statutory config.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
/v1/actions/employeeStatutory.createCreate a employeeStatutory.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
pfEnabled | boolean | optional |
pfOnActualWage | boolean | optional |
vpfPercent | string | optional |
internationalWorker | boolean | optional |
esiEnabled | boolean | optional |
ptState | string | optional |
lwfState | string | optional |
/v1/actions/employeeStatutory.updateUpdate a employeeStatutory by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
pfEnabled | boolean | optional |
pfOnActualWage | boolean | optional |
vpfPercent | string | optional |
internationalWorker | boolean | optional |
esiEnabled | boolean | optional |
ptState | string | optional |
lwfState | string | optional |
id | uuid | required |
/v1/actions/employeeStatutory.deleteDelete a employeeStatutory by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeTaxDeclaration.listList employee tax declarations.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
/v1/actions/employeeTaxDeclaration.createCreate a employeeTaxDeclaration.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
taxYear | string | required |
s80c | string | optional |
s80ccd1b | string | optional |
s80ccd2 | string | optional |
s80d | string | optional |
s24b | string | optional |
s80e | string | optional |
s80g | string | optional |
s80tta | string | optional |
s80ttb | string | optional |
ltaExempt | string | optional |
hraRentPaidAnnual | string | optional |
hraMetro | boolean | optional |
otherIncome | string | optional |
prevEmployerIncome | string | optional |
prevEmployerTds | string | optional |
/v1/actions/employeeTaxDeclaration.updateUpdate a employeeTaxDeclaration by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
taxYear | string | optional |
s80c | string | optional |
s80ccd1b | string | optional |
s80ccd2 | string | optional |
s80d | string | optional |
s24b | string | optional |
s80e | string | optional |
s80g | string | optional |
s80tta | string | optional |
s80ttb | string | optional |
ltaExempt | string | optional |
hraRentPaidAnnual | string | optional |
hraMetro | boolean | optional |
otherIncome | string | optional |
prevEmployerIncome | string | optional |
prevEmployerTds | string | optional |
id | uuid | required |
/v1/actions/employeeTaxDeclaration.deleteDelete a employeeTaxDeclaration by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/employeeLoan.listList employee loans/advances.
| Field | Type | |
|---|---|---|
limit | number | optional |
offset | number | optional |
employeeId | uuid | optional |
status | uuid | optional |
/v1/actions/employeeLoan.createCreate a employeeLoan.
| Field | Type | |
|---|---|---|
employeeId | uuid | required |
loanType | loan | advance | optional |
principal | string | required |
outstanding | string | optional |
installment | string | required |
currency | string | optional |
reason | string | optional |
/v1/actions/employeeLoan.updateUpdate a employeeLoan by id.
| Field | Type | |
|---|---|---|
employeeId | uuid | optional |
loanType | loan | advance | optional |
principal | string | optional |
outstanding | string | optional |
installment | string | optional |
currency | string | optional |
reason | string | optional |
id | uuid | required |
/v1/actions/employeeLoan.deleteDelete a employeeLoan by id.
| Field | Type | |
|---|---|---|
id | uuid | required |
Maker-checker approval requests and configurable approval flows. · 8 actions
/v1/actions/approval.getGet an approval request with its steps (requester or assigned approvers only).
| Field | Type | |
|---|---|---|
requestId | uuid | required |
/v1/actions/approval.approveApprove the approval request currently assigned to you.
| Field | Type | |
|---|---|---|
requestId | uuid | required |
comment | string | optional |
/v1/actions/approval.listMineList approval requests awaiting my decision.
No request fields.
/v1/actions/approval.rejectReject the approval request currently assigned to you.
| Field | Type | |
|---|---|---|
requestId | uuid | required |
comment | string | optional |
/v1/actions/approval.cancelWithdraw a pending approval request you raised.
| Field | Type | |
|---|---|---|
requestId | uuid | required |
/v1/actions/approvalFlow.listList configured approval flows.
No request fields.
/v1/actions/approvalFlow.getGet a flow's configured approval chain.
| Field | Type | |
|---|---|---|
key | string | required |
/v1/actions/approvalFlow.setConfigure the approval chain for a flow (ordered steps).
| Field | Type | |
|---|---|---|
key | string | required |
name | string | optional |
steps | [object] | required |
What an employee can do for themselves — attendance, leave, payslips, documents and approvals. · 8 actions
/v1/actions/ess.myApprovalsList approval requests awaiting my decision.
No request fields.
/v1/actions/ess.myAttendanceList my recent attendance records.
| Field | Type | |
|---|---|---|
limit | number | optional |
/v1/actions/ess.myDocumentsList my documents (numbers masked).
No request fields.
/v1/actions/ess.myLeaveBalancesList my leave balances.
| Field | Type | |
|---|---|---|
year | number | optional |
/v1/actions/ess.myLeaveRequestsList my leave requests.
| Field | Type | |
|---|---|---|
limit | number | optional |
/v1/actions/ess.myPoliciesList HR policies with my acknowledgement status.
No request fields.
/v1/actions/ess.myProfileGet my own employee profile.
No request fields.
/v1/actions/ess.updateMyProfileUpdate my own contact details.
| Field | Type | |
|---|---|---|
phone | string | optional |
personalEmail | optional | |
displayName | string | optional |
avatarFileId | uuid | optional |
Secure upload and download through short-lived signed URLs. · 3 actions
/v1/actions/file.confirmUploadConfirm a file finished uploading.
| Field | Type | |
|---|---|---|
fileId | uuid | required |
/v1/actions/file.getUrlGet a presigned URL to download a file.
| Field | Type | |
|---|---|---|
fileId | uuid | required |
/v1/actions/file.requestUploadGet a presigned URL to upload a file directly to storage.
| Field | Type | |
|---|---|---|
purpose | avatar | document | policy | payslip | bank_advice | statutory | … | required |
contentType | string | required |
filename | string | required |
Notifications, metadata (enums, tax config) and privacy (GDPR export / erase). · 6 actions
/v1/actions/notification.listList my notifications (newest first).
| Field | Type | |
|---|---|---|
unreadOnly | boolean | optional |
limit | number | optional |
/v1/actions/notification.markReadMark one of my notifications as read.
| Field | Type | |
|---|---|---|
id | uuid | required |
/v1/actions/meta.enumsReturn all system enum options (for populating dropdowns).
No request fields.
/v1/actions/meta.taxConfigTax regimes + statutory code types for a country (renders the tax form).
| Field | Type | |
|---|---|---|
countryCode | string | required |
/v1/actions/gdpr.eraseUserErase a user's personal data (GDPR right to erasure) — anonymizes and revokes access.
| Field | Type | |
|---|---|---|
userId | uuid | required |
/v1/actions/gdpr.exportUserExport all personal data held for a user (GDPR right of access).
| Field | Type | |
|---|---|---|
userId | uuid | required |