DecentroHR
API reference

One endpoint. Every action.

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.

Base URL

https://api.decentrohr.com/v1

Invoking an action

POST /v1/actions/<name> with a JSON body. On success you get { ok: true, result }.

POST /v1/actions/payroll.createRunDecentroHR
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" } }

Discovery

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.

Authentication

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).

Idempotency

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.

idempotent finalizeDecentroHR
curl -X POST …/v1/actions/payroll.finalize \
  -H "Idempotency-Key: finalize:run_123" \
  -H "Authorization: Bearer $DHR_TOKEN" -d '{"runId":"run_123"}'

Errors

Errors return a JSON body { error, message } with a matching HTTP status:

StatusCodeMeaning
400invalid_inputThe body failed validation.
401unauthenticatedMissing or invalid token.
402entitlementThe plan does not include this feature.
403forbiddenAuthenticated, but missing the permission.
404not_foundThe resource does not exist in this tenant.
409idempotency_conflictThe Idempotency-Key was reused for a different request.

Rate limits

The API is rate-limited per token. On 429, back off and retry with the Idempotency-Key you already sent — replays are safe.

Sandbox

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.

Organization

Companies, org structure, holidays and HR policies — the scaffolding every other module reads. · 59 actions

POST /v1/actions/company.list

List companies.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/company.create

Create a company.

org.manage
FieldType
namestringrequired
legalNamestringoptional
registrationNostringoptional
taxIdstringoptional
countryCodestringoptional
currencystringoptional
timezonestringoptional
fiscalYearStartMonthnumberoptional
logoUrlurioptional
POST /v1/actions/company.update

Update a company by id.

org.manage
FieldType
namestringoptional
legalNamestringoptional
registrationNostringoptional
taxIdstringoptional
countryCodestringoptional
currencystringoptional
timezonestringoptional
fiscalYearStartMonthnumberoptional
logoUrlurioptional
iduuidrequired
POST /v1/actions/company.delete

Delete a company by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/businessUnit.list

List business units.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/businessUnit.create

Create a businessUnit.

org.manage
FieldType
companyIduuidrequired
namestringrequired
codestringoptional
POST /v1/actions/businessUnit.update

Update a businessUnit by id.

org.manage
FieldType
companyIduuidoptional
namestringoptional
codestringoptional
iduuidrequired
POST /v1/actions/businessUnit.delete

Delete a businessUnit by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/location.list

List locations / branches.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/location.create

Create a location.

org.manage
FieldType
companyIduuidrequired
namestringrequired
codestringoptional
addressLine1stringoptional
addressLine2stringoptional
citystringoptional
regionstringoptional
postalCodestringoptional
countryCodestringoptional
timezonestringoptional
latitudenumberoptional
longitudenumberoptional
isHeadquartersbooleanoptional
POST /v1/actions/location.update

Update a location by id.

org.manage
FieldType
companyIduuidoptional
namestringoptional
codestringoptional
addressLine1stringoptional
addressLine2stringoptional
citystringoptional
regionstringoptional
postalCodestringoptional
countryCodestringoptional
timezonestringoptional
latitudenumberoptional
longitudenumberoptional
isHeadquartersbooleanoptional
iduuidrequired
POST /v1/actions/location.delete

Delete a location by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/costCenter.list

List cost centers.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/costCenter.create

Create a costCenter.

org.manage
FieldType
companyIduuidrequired
namestringrequired
codestringoptional
POST /v1/actions/costCenter.update

Update a costCenter by id.

org.manage
FieldType
companyIduuidoptional
namestringoptional
codestringoptional
iduuidrequired
POST /v1/actions/costCenter.delete

Delete a costCenter by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/department.list

List departments.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/department.create

Create a department.

org.manage
FieldType
companyIduuidrequired
namestringrequired
codestringoptional
parentDepartmentIduuidoptional
costCenterIduuidoptional
headEmployeeIduuidoptional
POST /v1/actions/department.update

Update a department by id.

org.manage
FieldType
companyIduuidoptional
namestringoptional
codestringoptional
parentDepartmentIduuidoptional
costCenterIduuidoptional
headEmployeeIduuidoptional
iduuidrequired
POST /v1/actions/department.delete

Delete a department by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/team.list

List teams.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/team.create

Create a team.

org.manage
FieldType
departmentIduuidrequired
namestringrequired
leadEmployeeIduuidoptional
POST /v1/actions/team.update

Update a team by id.

org.manage
FieldType
departmentIduuidoptional
namestringoptional
leadEmployeeIduuidoptional
iduuidrequired
POST /v1/actions/team.delete

Delete a team by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/designation.list

List designations.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/designation.create

Create a designation.

org.manage
FieldType
namestringrequired
codestringoptional
POST /v1/actions/designation.update

Update a designation by id.

org.manage
FieldType
namestringoptional
codestringoptional
iduuidrequired
POST /v1/actions/designation.delete

Delete a designation by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/grade.list

List grades.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/grade.create

Create a grade.

org.manage
FieldType
namestringrequired
codestringoptional
levelnumberoptional
POST /v1/actions/grade.update

Update a grade by id.

org.manage
FieldType
namestringoptional
codestringoptional
levelnumberoptional
iduuidrequired
POST /v1/actions/grade.delete

Delete a grade by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/employeeCategory.list

List employee categories.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/employeeCategory.create

Create a employeeCategory.

org.manage
FieldType
namestringrequired
POST /v1/actions/employeeCategory.update

Update a employeeCategory by id.

org.manage
FieldType
namestringoptional
iduuidrequired
POST /v1/actions/employeeCategory.delete

Delete a employeeCategory by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/employmentType.list

List employment types.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/employmentType.create

Create a employmentType.

org.manage
FieldType
namestringrequired
POST /v1/actions/employmentType.update

Update a employmentType by id.

org.manage
FieldType
namestringoptional
iduuidrequired
POST /v1/actions/employmentType.delete

Delete a employmentType by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/holidayCalendar.list

List holiday calendars.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/holidayCalendar.create

Create a holidayCalendar.

org.manage
FieldType
namestringrequired
companyIduuidoptional
countryCodestringoptional
POST /v1/actions/holidayCalendar.update

Update a holidayCalendar by id.

org.manage
FieldType
namestringoptional
companyIduuidoptional
countryCodestringoptional
iduuidrequired
POST /v1/actions/holidayCalendar.delete

Delete a holidayCalendar by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/holiday.list

List holidays.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/holiday.create

Create a holiday.

org.manage
FieldType
calendarIduuidrequired
daydaterequired
namestringrequired
isOptionalbooleanoptional
POST /v1/actions/holiday.update

Update a holiday by id.

org.manage
FieldType
calendarIduuidoptional
daydateoptional
namestringoptional
isOptionalbooleanoptional
iduuidrequired
POST /v1/actions/holiday.delete

Delete a holiday by id.

org.manage
FieldType
iduuidrequired
POST /v1/actions/org.chart

Return the org chart as a tree — department hierarchy or reporting lines.

org.read
FieldType
typedepartments | reportingoptional
companyIduuidoptional
POST /v1/actions/org.renameTenant

Rename the current organization.

org.manage
FieldType
namestringrequired
POST /v1/actions/reportingLine.list

List matrix reporting lines for an employee or manager.

employee.read
FieldType
employeeIduuidoptional
managerIduuidoptional
POST /v1/actions/reportingLine.create

Add a matrix / dotted-line reporting relationship.

employee.write
FieldType
employeeIduuidrequired
managerIduuidrequired
typematrix | functional | projectoptional
POST /v1/actions/reportingLine.delete

Remove a matrix reporting line by id.

employee.write
FieldType
iduuidrequired
POST /v1/actions/hrPolicy.list

List HR policies.

org.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/hrPolicy.create

Create a hrPolicy.

org.manage
FieldType
titlestringrequired
categorystringoptional
contentstringoptional
versionnumberoptional
effectiveDatedateoptional
POST /v1/actions/hrPolicy.update

Update a hrPolicy by id.

org.manage
FieldType
titlestringoptional
categorystringoptional
contentstringoptional
versionnumberoptional
effectiveDatedateoptional
iduuidrequired
POST /v1/actions/hrPolicy.acknowledge

Acknowledge an HR policy (records the version you accepted).

ess.self
FieldType
policyIduuidrequired
POST /v1/actions/hrPolicy.acknowledgements

List who has acknowledged a policy.

org.manage
FieldType
policyIduuidrequired
POST /v1/actions/hrPolicy.delete

Delete a hrPolicy by id.

org.manage
FieldType
iduuidrequired

Employees

The employee master — profiles, contacts, dependents, documents, tax and bank details, and lifecycle events. · 36 actions

POST /v1/actions/employee.list

List / search employees.

employee.read
FieldType
limitnumberoptional
offsetnumberoptional
companyIduuidoptional
departmentIduuidoptional
managerIduuidoptional
statusstringoptional
searchstringoptional
POST /v1/actions/employee.get

Get one employee by id.

employee.read
FieldType
iduuidrequired
POST /v1/actions/employee.create

Create an employee record.

employee.write
FieldType
companyIduuidrequired
employeeCodestringoptional
userIduuidoptional
firstNamestringrequired
middleNamestringoptional
lastNamestringoptional
displayNamestringoptional
avatarUrlurioptional
avatarFileIduuidoptional
dateOfBirthdateoptional
gendermale | female | non_binary | prefer_not_to_say | otheroptional
maritalStatussingle | married | divorced | widowed | separated | otheroptional
nationalitystringoptional
personalEmailemailoptional
workEmailemailoptional
phonestringoptional
departmentIduuidoptional
designationIduuidoptional
gradeIduuidoptional
employmentTypeIduuidoptional
employeeCategoryIduuidoptional
locationIduuidoptional
managerIduuidoptional
statusactive | probation | on_leave | terminated | resigned | suspendedoptional
joiningDatedateoptional
confirmationDatedateoptional
probationEndDatedateoptional
exitDatedateoptional
POST /v1/actions/employee.update

Update an employee record by id.

employee.write
FieldType
companyIduuidoptional
employeeCodestringoptional
userIduuidoptional
firstNamestringoptional
middleNamestringoptional
lastNamestringoptional
displayNamestringoptional
avatarUrlurioptional
avatarFileIduuidoptional
dateOfBirthdateoptional
gendermale | female | non_binary | prefer_not_to_say | otheroptional
maritalStatussingle | married | divorced | widowed | separated | otheroptional
nationalitystringoptional
personalEmailemailoptional
workEmailemailoptional
phonestringoptional
departmentIduuidoptional
designationIduuidoptional
gradeIduuidoptional
employmentTypeIduuidoptional
employeeCategoryIduuidoptional
locationIduuidoptional
managerIduuidoptional
statusactive | probation | on_leave | terminated | resigned | suspendedoptional
joiningDatedateoptional
confirmationDatedateoptional
probationEndDatedateoptional
exitDatedateoptional
iduuidrequired
POST /v1/actions/employee.demote

Record a demotion: change grade/designation and log the event.

employee.write
FieldType
iduuidrequired
gradeIduuidoptional
designationIduuidoptional
notestringoptional
effectiveDatestringoptional
POST /v1/actions/employee.promote

Record a promotion: change grade/designation and log the event.

employee.write
FieldType
iduuidrequired
gradeIduuidoptional
designationIduuidoptional
notestringoptional
effectiveDatestringoptional
POST /v1/actions/employeeAddress.list

List employee addresses.

employee.read
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
POST /v1/actions/employeeAddress.create

Create a employeeAddress.

employee.write
FieldType
employeeIduuidrequired
typecurrent | permanent | otheroptional
addressLine1stringoptional
addressLine2stringoptional
citystringoptional
regionstringoptional
postalCodestringoptional
countryCodestringoptional
isPrimarybooleanoptional
POST /v1/actions/employeeAddress.update

Update a employeeAddress by id.

employee.write
FieldType
employeeIduuidoptional
typecurrent | permanent | otheroptional
addressLine1stringoptional
addressLine2stringoptional
citystringoptional
regionstringoptional
postalCodestringoptional
countryCodestringoptional
isPrimarybooleanoptional
iduuidrequired
POST /v1/actions/employeeAddress.delete

Delete a employeeAddress by id.

employee.write
FieldType
iduuidrequired
POST /v1/actions/employeeContact.list

List emergency contacts.

employee.read
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
POST /v1/actions/employeeContact.create

Create a employeeContact.

employee.write
FieldType
employeeIduuidrequired
namestringrequired
relationshipstringoptional
phonestringoptional
emailemailoptional
POST /v1/actions/employeeContact.update

Update a employeeContact by id.

employee.write
FieldType
employeeIduuidoptional
namestringoptional
relationshipstringoptional
phonestringoptional
emailemailoptional
iduuidrequired
POST /v1/actions/employeeContact.delete

Delete a employeeContact by id.

employee.write
FieldType
iduuidrequired
POST /v1/actions/employeeDependent.list

List dependents.

employee.read
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
POST /v1/actions/employeeDependent.create

Create a employeeDependent.

employee.write
FieldType
employeeIduuidrequired
namestringrequired
relationshipstringoptional
dateOfBirthdateoptional
POST /v1/actions/employeeDependent.update

Update a employeeDependent by id.

employee.write
FieldType
employeeIduuidoptional
namestringoptional
relationshipstringoptional
dateOfBirthdateoptional
iduuidrequired
POST /v1/actions/employeeDependent.delete

Delete a employeeDependent by id.

employee.write
FieldType
iduuidrequired
POST /v1/actions/employeeSignature.list

List employee signatures.

employee.read
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
POST /v1/actions/employeeSignature.create

Create a employeeSignature.

employee.write
FieldType
employeeIduuidrequired
fileUrlurioptional
purposeoffer | policy_ack | generaloptional
POST /v1/actions/employeeSignature.update

Update a employeeSignature by id.

employee.write
FieldType
employeeIduuidoptional
fileUrlurioptional
purposeoffer | policy_ack | generaloptional
iduuidrequired
POST /v1/actions/employeeSignature.delete

Delete a employeeSignature by id.

employee.write
FieldType
iduuidrequired
POST /v1/actions/employeeBankAccount.list

List an employee's bank accounts (account numbers masked).

employee.read
FieldType
employeeIduuidrequired
POST /v1/actions/employeeBankAccount.create

Add a bank account for an employee (account number stored encrypted).

employee.write
FieldType
employeeIduuidrequired
accountHolderNamestringrequired
bankNamestringoptional
branchstringoptional
accountNumberstringrequired
routingstringoptional
currencystringoptional
isPrimarybooleanoptional
POST /v1/actions/employeeBankAccount.delete

Delete an employee bank account by id.

employee.write
FieldType
iduuidrequired
POST /v1/actions/employeeDocument.list

List an employee's documents (numbers masked).

employee.read
FieldType
employeeIduuidrequired
POST /v1/actions/employeeDocument.create

Attach a document (passport, visa, PAN, etc.) to an employee.

employee.write
FieldType
employeeIduuidrequired
typepassport | visa | driving_license | national_id | pan | aadhaar | …required
documentNumberstringoptional
fileUrlurioptional
fileIduuidoptional
issuingCountrystringoptional
issueDatedateoptional
expiryDatedateoptional
supersedesDocumentIduuidoptional
POST /v1/actions/employeeDocument.update

Update a document's metadata (not its number — delete + recreate to change that).

employee.write
FieldType
iduuidrequired
typestringoptional
fileUrlurioptional
issuingCountrystringoptional
issueDatedateoptional
expiryDatedateoptional
POST /v1/actions/employeeDocument.reject

Reject an employee document (approval decision).

employee.write
FieldType
iduuidrequired
POST /v1/actions/employeeDocument.verify

Mark an employee document as verified.

employee.write
FieldType
iduuidrequired
POST /v1/actions/employeeTax.get

Get an employee's tax profile (tax number masked).

employee.read.pii
FieldType
employeeIduuidrequired
POST /v1/actions/employeeTax.set

Set an employee's tax profile (tax number stored encrypted).

employee.write
FieldType
employeeIduuidrequired
countryCodestringoptional
regimestringoptional
taxNumberstringoptional
detailsobjectoptional
POST /v1/actions/employeeTaxCode.list

List an employee's statutory tax codes (values masked).

employee.read.pii
FieldType
employeeIduuidrequired
POST /v1/actions/employeeTaxCode.set

Add/replace a statutory tax code (PAN, SSN, …) — type validated per country, value encrypted.

employee.write
FieldType
employeeIduuidrequired
codeTypestringrequired
valuestringrequired
countryCodestringoptional
POST /v1/actions/employmentEvent.list

List an employee's employment history events.

employee.read
FieldType
employeeIduuidrequired
POST /v1/actions/directory.listUsers

List the people in the current organization.

employee.read
FieldType
limitnumberoptional

Time & Attendance

Check-in across web, GPS, QR, NFC and biometrics; shifts, rotations, swaps, bids and rosters; overtime. · 70 actions

POST /v1/actions/attendance.list

List attendance records for an employee / date range.

attendance.read
FieldType
employeeIduuidoptional
startDatedateoptional
endDatedateoptional
limitnumberoptional
offsetnumberoptional
POST /v1/actions/attendance.calendar

Per-day attendance calendar (roster + actuals + approved leave) for an employee.

attendance.read
FieldType
employeeIduuidoptional
startDatedaterequired
endDatedaterequired
POST /v1/actions/attendance.checkIn

Check in (server time + optional GPS/QR/NFC; geofence enforced if configured).

attendance.write
FieldType
latnumberoptional
lngnumberoptional
sourceweb | mobileoptional
qrCodestringoptional
nfcTagIdstringoptional
employeeIduuidoptional
POST /v1/actions/attendance.checkOut

Check out (geofence enforced if configured).

attendance.write
FieldType
latnumberoptional
lngnumberoptional
sourceweb | mobileoptional
qrCodestringoptional
nfcTagIdstringoptional
employeeIduuidoptional
POST /v1/actions/attendance.correct

Request a correction to an attendance record.

attendance.write
FieldType
workDatedaterequired
requestedCheckInAtdate-timeoptional
requestedCheckOutAtdate-timeoptional
reasonstringoptional
employeeIduuidoptional
POST /v1/actions/attendance.faceCheckIn

Check in via face recognition (self only; verifies your face + enforces geofence).

attendance.write
FieldType
descriptor[number]required
latnumberoptional
lngnumberoptional
POST /v1/actions/attendance.faceCheckOut

Check out via face recognition (self only; verifies your face + enforces geofence).

attendance.write
FieldType
descriptor[number]required
latnumberoptional
lngnumberoptional
POST /v1/actions/attendance.overtimeReport

Worked + overtime minutes per employee over a period (all employees for managers, self otherwise).

attendance.read
FieldType
employeeIduuidoptional
startDatedaterequired
endDatedaterequired
limitnumberoptional
offsetnumberoptional
POST /v1/actions/attendanceDevice.list

List registered devices (never exposes the key).

attendance.read

No request fields.

POST /v1/actions/attendanceDevice.deactivate

Deactivate a device (its key stops working).

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/attendanceDevice.register

Register a biometric/punch device. Returns the device key once — store it; only the hash is kept.

attendance.manage
FieldType
namestringrequired
serialstringoptional
locationIduuidoptional
POST /v1/actions/attendanceQrCode.issue

Issue a QR code for a site (returns the code to render as a QR).

attendance.manage
FieldType
locationIduuidrequired
POST /v1/actions/attendanceQrCode.revoke

Deactivate a site QR code.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/geofence.list

List geofences.

attendance.manage
FieldType
limitnumberoptional
offsetnumberoptional
locationIduuidoptional
POST /v1/actions/geofence.create

Create a geofence.

attendance.manage
FieldType
locationIduuidrequired
namestringrequired
latitudenumberrequired
longitudenumberrequired
radiusMetersnumberoptional
isActivebooleanoptional
POST /v1/actions/geofence.update

Update a geofence by id.

attendance.manage
FieldType
locationIduuidoptional
namestringoptional
latitudenumberoptional
longitudenumberoptional
radiusMetersnumberoptional
isActivebooleanoptional
iduuidrequired
POST /v1/actions/geofence.delete

Delete a geofence by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/nfcTag.list

List NFC tags.

attendance.manage
FieldType
limitnumberoptional
offsetnumberoptional
locationIduuidoptional
POST /v1/actions/nfcTag.create

Create a nfcTag.

attendance.manage
FieldType
locationIduuidrequired
tagIdstringrequired
labelstringoptional
isActivebooleanoptional
POST /v1/actions/nfcTag.update

Update a nfcTag by id.

attendance.manage
FieldType
locationIduuidoptional
tagIdstringoptional
labelstringoptional
isActivebooleanoptional
iduuidrequired
POST /v1/actions/nfcTag.delete

Delete a nfcTag by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/faceEnrollment.list

List face enrollments (self unless you can manage attendance). Never returns the template.

attendance.read
FieldType
employeeIduuidoptional
POST /v1/actions/faceEnrollment.enroll

Enroll YOUR OWN face descriptor (128-d, extracted client-side by face-api.js).

attendance.write
FieldType
descriptor[number]required
labelstringoptional
POST /v1/actions/faceEnrollment.delete

Delete a face enrollment (your own, or any if you can manage attendance).

attendance.write
FieldType
iduuidrequired
POST /v1/actions/biometricEnrollment.list

List biometric enrollments.

attendance.read
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
POST /v1/actions/biometricEnrollment.create

Create a biometricEnrollment.

attendance.manage
FieldType
employeeIduuidrequired
bioIdstringrequired
deviceIduuidoptional
isActivebooleanoptional
POST /v1/actions/biometricEnrollment.update

Update a biometricEnrollment by id.

attendance.manage
FieldType
employeeIduuidoptional
bioIdstringoptional
deviceIduuidoptional
isActivebooleanoptional
iduuidrequired
POST /v1/actions/biometricEnrollment.delete

Delete a biometricEnrollment by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/shift.list

List shifts.

attendance.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/shift.create

Create a shift.

attendance.manage
FieldType
codestringrequired
namestringrequired
groupIduuidoptional
typefixed | flexible | night | rotational | splitoptional
startTimestringoptional
endTimestringoptional
breakMinutesnumberoptional
workHoursstringoptional
isNightShiftbooleanoptional
isActivebooleanoptional
POST /v1/actions/shift.update

Update a shift by id.

attendance.manage
FieldType
codestringoptional
namestringoptional
groupIduuidoptional
typefixed | flexible | night | rotational | splitoptional
startTimestringoptional
endTimestringoptional
breakMinutesnumberoptional
workHoursstringoptional
isNightShiftbooleanoptional
isActivebooleanoptional
iduuidrequired
POST /v1/actions/shift.delete

Delete a shift by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/shiftGroup.list

List shift groups.

attendance.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/shiftGroup.create

Create a shiftGroup.

attendance.manage
FieldType
namestringrequired
codestringoptional
POST /v1/actions/shiftGroup.update

Update a shiftGroup by id.

attendance.manage
FieldType
namestringoptional
codestringoptional
iduuidrequired
POST /v1/actions/shiftGroup.delete

Delete a shiftGroup by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/shiftSegment.list

List shift segments.

attendance.read
FieldType
limitnumberoptional
offsetnumberoptional
shiftIduuidoptional
POST /v1/actions/shiftSegment.create

Create a shiftSegment.

attendance.manage
FieldType
shiftIduuidrequired
seqnumberoptional
startTimestringrequired
endTimestringrequired
POST /v1/actions/shiftSegment.update

Update a shiftSegment by id.

attendance.manage
FieldType
shiftIduuidoptional
seqnumberoptional
startTimestringoptional
endTimestringoptional
iduuidrequired
POST /v1/actions/shiftSegment.delete

Delete a shiftSegment by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/shiftAssignment.list

List shift assignments.

attendance.read
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
shiftIduuidoptional
POST /v1/actions/shiftAssignment.create

Create a shiftAssignment.

attendance.manage
FieldType
employeeIduuidrequired
shiftIduuidrequired
startDatedaterequired
endDatedateoptional
POST /v1/actions/shiftAssignment.update

Update a shiftAssignment by id.

attendance.manage
FieldType
employeeIduuidoptional
shiftIduuidoptional
startDatedateoptional
endDatedateoptional
iduuidrequired
POST /v1/actions/shiftAssignment.delete

Delete a shiftAssignment by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/shiftSwap.list

List shift swaps that involve you (or all, if you can manage attendance).

attendance.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/shiftSwap.request

Request to swap one of your rostered shifts with a colleague's.

attendance.write
FieldType
fromScheduleIduuidrequired
toScheduleIduuidrequired
reasonstringoptional
POST /v1/actions/shiftSwap.respond

Accept or decline a shift-swap request addressed to you.

attendance.write
FieldType
swapIduuidrequired
decisionaccept | declinerequired
POST /v1/actions/shiftSwap.cancel

Cancel a swap you requested (before it has been accepted).

attendance.write
FieldType
swapIduuidrequired
POST /v1/actions/shiftBid.list

List bids for an open shift (manager) or your own bids.

attendance.read
FieldType
scheduleIduuidoptional
POST /v1/actions/shiftBid.award

Award an open shift to one of its bidders.

attendance.manage
FieldType
bidIduuidrequired
POST /v1/actions/shiftBid.place

Bid on an open rostered shift.

attendance.write
FieldType
scheduleIduuidrequired
notestringoptional
POST /v1/actions/shiftBid.withdraw

Withdraw your bid on an open shift.

attendance.write
FieldType
bidIduuidrequired
POST /v1/actions/shiftSchedule.list

List the roster (self unless you can manage attendance).

attendance.read
FieldType
employeeIduuidoptional
startDatedateoptional
endDatedateoptional
openOnlybooleanoptional
limitnumberoptional
offsetnumberoptional
POST /v1/actions/shiftSchedule.assign

Roster a shift to an employee on a date.

attendance.manage
FieldType
employeeIduuidrequired
workDatedaterequired
shiftIduuidrequired
notestringoptional
POST /v1/actions/shiftSchedule.cancel

Cancel a rostered shift by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/openShift.post

Post an OPEN shift (unassigned) that employees can bid on.

attendance.manage
FieldType
workDatedaterequired
shiftIduuidrequired
notestringoptional
POST /v1/actions/rotationPattern.list

List rotation patterns.

attendance.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/rotationPattern.create

Create a rotationPattern.

attendance.manage
FieldType
namestringrequired
codestringoptional
POST /v1/actions/rotationPattern.update

Update a rotationPattern by id.

attendance.manage
FieldType
namestringoptional
codestringoptional
iduuidrequired
POST /v1/actions/rotationPattern.delete

Delete a rotationPattern by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/rotationStep.list

List rotation steps.

attendance.read
FieldType
limitnumberoptional
offsetnumberoptional
patternIduuidoptional
POST /v1/actions/rotationStep.create

Create a rotationStep.

attendance.manage
FieldType
patternIduuidrequired
seqnumberrequired
shiftIduuidoptional
POST /v1/actions/rotationStep.update

Update a rotationStep by id.

attendance.manage
FieldType
patternIduuidoptional
seqnumberoptional
shiftIduuidoptional
iduuidrequired
POST /v1/actions/rotationStep.delete

Delete a rotationStep by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/rotationAssignment.list

List rotation assignments.

attendance.read
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
patternIduuidoptional
POST /v1/actions/rotationAssignment.create

Create a rotationAssignment.

attendance.manage
FieldType
employeeIduuidrequired
patternIduuidrequired
startDatedaterequired
endDatedateoptional
POST /v1/actions/rotationAssignment.update

Update a rotationAssignment by id.

attendance.manage
FieldType
employeeIduuidoptional
patternIduuidoptional
startDatedateoptional
endDatedateoptional
iduuidrequired
POST /v1/actions/rotationAssignment.delete

Delete a rotationAssignment by id.

attendance.manage
FieldType
iduuidrequired
POST /v1/actions/roster.generate

Auto-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.

attendance.manage
FieldType
startDatedaterequired
endDatedaterequired
employeeIduuidoptional
modefill | replaceoptional
allowPastbooleanoptional
POST /v1/actions/overtime.request

Request overtime approval for a date.

attendance.write
FieldType
workDatedaterequired
hoursstringrequired
reasonstringoptional
employeeIduuidoptional

Leave

Leave types, balances, requests, encashment and comp-off. · 20 actions

POST /v1/actions/leave.list

List leave requests (optionally filtered by employee/status).

leave.read
FieldType
employeeIduuidoptional
statusstringoptional
limitnumberoptional
offsetnumberoptional
POST /v1/actions/leave.analytics

Leave utilization per type + request breakdown for a year (self unless you can manage leave).

leave.read
FieldType
yearnumberrequired
employeeIduuidoptional
POST /v1/actions/leave.calendar

Approved leave overlapping a date range (who's off when).

leave.read
FieldType
startDatedaterequired
endDatedaterequired
POST /v1/actions/leave.encash

Request to encash unused leave (routes through approval; balance settled at payroll).

leave.request
FieldType
leaveTypeIduuidrequired
yearnumberrequired
daysnumberrequired
employeeIduuidoptional
POST /v1/actions/leave.request

Request leave (for yourself, or for an employee if you manage leave).

leave.request
FieldType
leaveTypeIduuidrequired
startDatedaterequired
endDatedaterequired
halfDaybooleanoptional
halfDaySessionfirst | secondoptional
hoursnumberoptional
reasonstringoptional
employeeIduuidoptional
POST /v1/actions/leave.revoke

Revoke an approved leave and return the consumed days.

leave.manage
FieldType
leaveRequestIduuidrequired
reasonstringoptional
POST /v1/actions/leave.cancel

Cancel a pending leave request.

leave.request
FieldType
leaveRequestIduuidrequired
POST /v1/actions/leaveType.list

List leave types.

leave.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/leaveType.create

Create a leaveType.

leave.manage
FieldType
codestringrequired
namestringrequired
isPaidbooleanoptional
requiresApprovalbooleanoptional
unitday | houroptional
accrualMethodnone | monthly | annualoptional
accrualAmountstringoptional
maxBalancestringoptional
allowCarryForwardbooleanoptional
carryForwardMaxstringoptional
allowNegativeBalancebooleanoptional
genderRestrictionmale | femaleoptional
encashablebooleanoptional
isCompOffbooleanoptional
sandwichPolicybooleanoptional
colorHexstringoptional
isActivebooleanoptional
POST /v1/actions/leaveType.update

Update a leaveType by id.

leave.manage
FieldType
codestringoptional
namestringoptional
isPaidbooleanoptional
requiresApprovalbooleanoptional
unitday | houroptional
accrualMethodnone | monthly | annualoptional
accrualAmountstringoptional
maxBalancestringoptional
allowCarryForwardbooleanoptional
carryForwardMaxstringoptional
allowNegativeBalancebooleanoptional
genderRestrictionmale | femaleoptional
encashablebooleanoptional
isCompOffbooleanoptional
sandwichPolicybooleanoptional
colorHexstringoptional
isActivebooleanoptional
iduuidrequired
POST /v1/actions/leaveType.delete

Delete a leaveType by id.

leave.manage
FieldType
iduuidrequired
POST /v1/actions/leaveBlackout.list

List leave blackouts.

leave.read
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/leaveBlackout.create

Create a leaveBlackout.

leave.manage
FieldType
namestringrequired
startDatedaterequired
endDatedaterequired
leaveTypeIduuidoptional
isActivebooleanoptional
POST /v1/actions/leaveBlackout.update

Update a leaveBlackout by id.

leave.manage
FieldType
namestringoptional
startDatedateoptional
endDatedateoptional
leaveTypeIduuidoptional
isActivebooleanoptional
iduuidrequired
POST /v1/actions/leaveBlackout.delete

Delete a leaveBlackout by id.

leave.manage
FieldType
iduuidrequired
POST /v1/actions/leaveBalance.list

List an employee's leave balances.

leave.read
FieldType
employeeIduuidrequired
yearnumberoptional
POST /v1/actions/leaveBalance.allocate

Allocate (grant) leave balance to an employee for a year.

leave.manage
FieldType
employeeIduuidrequired
leaveTypeIduuidrequired
yearnumberrequired
amountstringrequired
POST /v1/actions/leaveEncashment.list

List leave-encashment requests (self unless you can manage leave).

leave.read
FieldType
employeeIduuidoptional
POST /v1/actions/compOff.list

List comp-off grants (self unless you can manage leave).

leave.read
FieldType
employeeIduuidoptional
POST /v1/actions/compOff.grant

Grant compensatory-off days to an employee (into a comp-off leave type).

leave.manage
FieldType
employeeIduuidrequired
leaveTypeIduuidrequired
daysnumberrequired
workedDatedaterequired
expiryDatedateoptional
reasonstringoptional

Payroll & Compensation

Salary structures and components, statutory setup, runs, payslips, loans and filing exports. · 45 actions

POST /v1/actions/payroll.addRunInput

Add an ad-hoc earning (bonus/incentive/variable pay) or deduction (garnishment) line to a draft/preview run. Recalculate afterwards.

payroll.managemodule.payroll
FieldType
runIduuidrequired
employeeIduuidrequired
kindearning | deductionrequired
codestringrequired
namestringrequired
amountstringrequired
taxablebooleanoptional
notestringoptional
POST /v1/actions/payroll.approve

Approve a calculated run (maker-checker) — records the approver; required before finalize.

payroll.approvemodule.payroll
FieldType
runIduuidrequired
POST /v1/actions/payroll.bankAdvice

Generate the bank-advice payout file (NEFT CSV or NACH fixed-width) for a finalized run. No money moves — this is an export.

payroll.managemodule.payroll
FieldType
runIduuidrequired
formatneft | nachoptional
POST /v1/actions/payroll.calculate

Calculate (preview) all payslips for a run — recalc-safe, no ledger posting yet.

payroll.managemodule.payroll
FieldType
runIduuidrequired
POST /v1/actions/payroll.complianceReport

Statutory compliance rollup for a FINALIZED run — per-employee amounts + totals for PF (ECR), ESI, Professional Tax, or TDS (Form 24Q).

payroll.managemodule.payroll
FieldType
runIduuidrequired
statutepf | esi | pt | lwf | tdsrequired
POST /v1/actions/payroll.computeArrears

Compute 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.

payroll.managemodule.payroll
FieldType
runIduuidrequired
employeeIduuidrequired
fromPeriodStartdaterequired
POST /v1/actions/payroll.computeFnf

Stage 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.

payroll.managemodule.payroll
FieldType
runIduuidrequired
employeeIduuidrequired
exitReasonresignation | termination | retirement | death | disabilityoptional
POST /v1/actions/payroll.createRun

Create a payroll run for a company + period (draft).

payroll.managemodule.payroll
FieldType
companyIduuidrequired
periodStartdaterequired
periodEnddaterequired
payDatedateoptional
runTyperegular | offcycle | fnfoptional
employeeIduuidoptional
POST /v1/actions/payroll.finalize

Post an APPROVED run to the hash-chained ledger and lock it (immutable).

payroll.managemodule.payroll
FieldType
runIduuidrequired
POST /v1/actions/payroll.generatePayslips

Generate + store PDF payslips for every payslip in a finalized (locked) run.

payroll.managemodule.payroll
FieldType
runIduuidrequired
POST /v1/actions/payroll.listRunInputs

List ad-hoc input lines for a run.

payroll.readmodule.payroll
FieldType
runIduuidrequired
employeeIduuidoptional
POST /v1/actions/payroll.listRuns

List payroll runs.

payroll.readmodule.payroll
FieldType
companyIduuidoptional
limitnumberoptional
offsetnumberoptional
POST /v1/actions/payroll.register

Payroll register for a run: every payslip with earnings/deductions/employer breakdown + cost-to-company and grand totals.

payroll.managemodule.payroll
FieldType
runIduuidrequired
POST /v1/actions/payroll.removeRunInput

Remove an ad-hoc run input line (only while the run is draft/preview).

payroll.managemodule.payroll
FieldType
iduuidrequired
POST /v1/actions/payroll.statutoryExport

Generate 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.

payroll.managemodule.payroll
FieldType
runIduuidrequired
typepf_ecr | esi | tds_24q | pt | lwfrequired
POST /v1/actions/payroll.variance

Per-employee gross/deduction/net deltas between two runs (same company + currency), plus joiners and leavers.

payroll.managemodule.payroll
FieldType
currentRunIduuidrequired
priorRunIduuidrequired
POST /v1/actions/payroll.ytd

Year-to-date payroll totals for an employee in a tax year (your own unless you can manage payroll).

payroll.readmodule.payroll
FieldType
employeeIduuidoptional
taxYearstringoptional
POST /v1/actions/payslip.list

List payslips (your own unless you can manage payroll).

payroll.readmodule.payroll
FieldType
runIduuidoptional
employeeIduuidoptional
POST /v1/actions/payslip.getPdfUrl

Get a presigned URL to download a payslip PDF (your own unless you can manage payroll).

payroll.readmodule.payroll
FieldType
payslipIduuidrequired
POST /v1/actions/salaryStructure.list

List salary structures.

payroll.readmodule.payroll
FieldType
limitnumberoptional
offsetnumberoptional
POST /v1/actions/salaryStructure.create

Create a salaryStructure.

payroll.managemodule.payroll
FieldType
namestringrequired
codestringoptional
descriptionstringoptional
currencystringoptional
isActivebooleanoptional
POST /v1/actions/salaryStructure.update

Update a salaryStructure by id.

payroll.managemodule.payroll
FieldType
namestringoptional
codestringoptional
descriptionstringoptional
currencystringoptional
isActivebooleanoptional
iduuidrequired
POST /v1/actions/salaryStructure.delete

Delete a salaryStructure by id.

payroll.managemodule.payroll
FieldType
iduuidrequired
POST /v1/actions/salaryComponent.list

List salary components.

payroll.readmodule.payroll
FieldType
limitnumberoptional
offsetnumberoptional
structureIduuidoptional
POST /v1/actions/salaryComponent.create

Create a salaryComponent.

payroll.managemodule.payroll
FieldType
structureIduuidrequired
namestringrequired
codestringrequired
kindearning | deduction | employer_contributionrequired
calcTypeflat | percent_of_basic | percent_of_ctc | percent_of_gross | formulaoptional
valuestringoptional
formulastringoptional
taxablebooleanoptional
pfApplicablebooleanoptional
esiApplicablebooleanoptional
gratuityApplicablebooleanoptional
pensionApplicablebooleanoptional
niApplicablebooleanoptional
recurringbooleanoptional
seqnumberoptional
POST /v1/actions/salaryComponent.update

Update a salaryComponent by id.

payroll.managemodule.payroll
FieldType
structureIduuidoptional
namestringoptional
codestringoptional
kindearning | deduction | employer_contributionoptional
calcTypeflat | percent_of_basic | percent_of_ctc | percent_of_gross | formulaoptional
valuestringoptional
formulastringoptional
taxablebooleanoptional
pfApplicablebooleanoptional
esiApplicablebooleanoptional
gratuityApplicablebooleanoptional
pensionApplicablebooleanoptional
niApplicablebooleanoptional
recurringbooleanoptional
seqnumberoptional
iduuidrequired
POST /v1/actions/salaryComponent.delete

Delete a salaryComponent by id.

payroll.managemodule.payroll
FieldType
iduuidrequired
POST /v1/actions/employeeSalary.list

List employee salary assignments.

payroll.readmodule.payroll
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
POST /v1/actions/employeeSalary.create

Create a employeeSalary.

payroll.managemodule.payroll
FieldType
employeeIduuidrequired
structureIduuidrequired
ctcstringrequired
grossMonthlystringoptional
currencystringoptional
effectiveDatedaterequired
isCurrentbooleanoptional
notestringoptional
POST /v1/actions/employeeSalary.update

Update a employeeSalary by id.

payroll.managemodule.payroll
FieldType
employeeIduuidoptional
structureIduuidoptional
ctcstringoptional
grossMonthlystringoptional
currencystringoptional
effectiveDatedateoptional
isCurrentbooleanoptional
notestringoptional
iduuidrequired
POST /v1/actions/employeeSalary.delete

Delete a employeeSalary by id.

payroll.managemodule.payroll
FieldType
iduuidrequired
POST /v1/actions/employeeCompensation.list

List an employee's compensation history.

employee.read.pii
FieldType
employeeIduuidrequired
POST /v1/actions/employeeCompensation.create

Record an employee's compensation (supersedes the current record + logs a revision).

employee.write
FieldType
employeeIduuidrequired
effectiveDatedaterequired
currencystringrequired
amountstringrequired
frequencyhourly | weekly | biweekly | monthly | annualoptional
componentTypegross | basic | ctc | net | allowance | bonusoptional
notestringoptional
POST /v1/actions/employeeStatutory.list

List employee statutory config.

payroll.readmodule.payroll
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
POST /v1/actions/employeeStatutory.create

Create a employeeStatutory.

payroll.managemodule.payroll
FieldType
employeeIduuidrequired
pfEnabledbooleanoptional
pfOnActualWagebooleanoptional
vpfPercentstringoptional
internationalWorkerbooleanoptional
esiEnabledbooleanoptional
ptStatestringoptional
lwfStatestringoptional
POST /v1/actions/employeeStatutory.update

Update a employeeStatutory by id.

payroll.managemodule.payroll
FieldType
employeeIduuidoptional
pfEnabledbooleanoptional
pfOnActualWagebooleanoptional
vpfPercentstringoptional
internationalWorkerbooleanoptional
esiEnabledbooleanoptional
ptStatestringoptional
lwfStatestringoptional
iduuidrequired
POST /v1/actions/employeeStatutory.delete

Delete a employeeStatutory by id.

payroll.managemodule.payroll
FieldType
iduuidrequired
POST /v1/actions/employeeTaxDeclaration.list

List employee tax declarations.

payroll.readmodule.payroll
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
POST /v1/actions/employeeTaxDeclaration.create

Create a employeeTaxDeclaration.

payroll.managemodule.payroll
FieldType
employeeIduuidrequired
taxYearstringrequired
s80cstringoptional
s80ccd1bstringoptional
s80ccd2stringoptional
s80dstringoptional
s24bstringoptional
s80estringoptional
s80gstringoptional
s80ttastringoptional
s80ttbstringoptional
ltaExemptstringoptional
hraRentPaidAnnualstringoptional
hraMetrobooleanoptional
otherIncomestringoptional
prevEmployerIncomestringoptional
prevEmployerTdsstringoptional
POST /v1/actions/employeeTaxDeclaration.update

Update a employeeTaxDeclaration by id.

payroll.managemodule.payroll
FieldType
employeeIduuidoptional
taxYearstringoptional
s80cstringoptional
s80ccd1bstringoptional
s80ccd2stringoptional
s80dstringoptional
s24bstringoptional
s80estringoptional
s80gstringoptional
s80ttastringoptional
s80ttbstringoptional
ltaExemptstringoptional
hraRentPaidAnnualstringoptional
hraMetrobooleanoptional
otherIncomestringoptional
prevEmployerIncomestringoptional
prevEmployerTdsstringoptional
iduuidrequired
POST /v1/actions/employeeTaxDeclaration.delete

Delete a employeeTaxDeclaration by id.

payroll.managemodule.payroll
FieldType
iduuidrequired
POST /v1/actions/employeeLoan.list

List employee loans/advances.

payroll.readmodule.payroll
FieldType
limitnumberoptional
offsetnumberoptional
employeeIduuidoptional
statusuuidoptional
POST /v1/actions/employeeLoan.create

Create a employeeLoan.

payroll.managemodule.payroll
FieldType
employeeIduuidrequired
loanTypeloan | advanceoptional
principalstringrequired
outstandingstringoptional
installmentstringrequired
currencystringoptional
reasonstringoptional
POST /v1/actions/employeeLoan.update

Update a employeeLoan by id.

payroll.managemodule.payroll
FieldType
employeeIduuidoptional
loanTypeloan | advanceoptional
principalstringoptional
outstandingstringoptional
installmentstringoptional
currencystringoptional
reasonstringoptional
iduuidrequired
POST /v1/actions/employeeLoan.delete

Delete a employeeLoan by id.

payroll.managemodule.payroll
FieldType
iduuidrequired

Approvals & Workflow

Maker-checker approval requests and configurable approval flows. · 8 actions

POST /v1/actions/approval.get

Get an approval request with its steps (requester or assigned approvers only).

approval.act
FieldType
requestIduuidrequired
POST /v1/actions/approval.approve

Approve the approval request currently assigned to you.

approval.act
FieldType
requestIduuidrequired
commentstringoptional
POST /v1/actions/approval.listMine

List approval requests awaiting my decision.

approval.act

No request fields.

POST /v1/actions/approval.reject

Reject the approval request currently assigned to you.

approval.act
FieldType
requestIduuidrequired
commentstringoptional
POST /v1/actions/approval.cancel

Withdraw a pending approval request you raised.

approval.act
FieldType
requestIduuidrequired
POST /v1/actions/approvalFlow.list

List configured approval flows.

org.manage

No request fields.

POST /v1/actions/approvalFlow.get

Get a flow's configured approval chain.

org.manage
FieldType
keystringrequired
POST /v1/actions/approvalFlow.set

Configure the approval chain for a flow (ordered steps).

org.manage
FieldType
keystringrequired
namestringoptional
steps[object]required

Self-service

What an employee can do for themselves — attendance, leave, payslips, documents and approvals. · 8 actions

POST /v1/actions/ess.myApprovals

List approval requests awaiting my decision.

ess.self

No request fields.

POST /v1/actions/ess.myAttendance

List my recent attendance records.

ess.self
FieldType
limitnumberoptional
POST /v1/actions/ess.myDocuments

List my documents (numbers masked).

ess.self

No request fields.

POST /v1/actions/ess.myLeaveBalances

List my leave balances.

ess.self
FieldType
yearnumberoptional
POST /v1/actions/ess.myLeaveRequests

List my leave requests.

ess.self
FieldType
limitnumberoptional
POST /v1/actions/ess.myPolicies

List HR policies with my acknowledgement status.

ess.self

No request fields.

POST /v1/actions/ess.myProfile

Get my own employee profile.

ess.self

No request fields.

POST /v1/actions/ess.updateMyProfile

Update my own contact details.

ess.self
FieldType
phonestringoptional
personalEmailemailoptional
displayNamestringoptional
avatarFileIduuidoptional

Files

Secure upload and download through short-lived signed URLs. · 3 actions

POST /v1/actions/file.confirmUpload

Confirm a file finished uploading.

file.use
FieldType
fileIduuidrequired
POST /v1/actions/file.getUrl

Get a presigned URL to download a file.

file.use
FieldType
fileIduuidrequired
POST /v1/actions/file.requestUpload

Get a presigned URL to upload a file directly to storage.

file.use
FieldType
purposeavatar | document | policy | payslip | bank_advice | statutory | …required
contentTypestringrequired
filenamestringrequired

Platform

Notifications, metadata (enums, tax config) and privacy (GDPR export / erase). · 6 actions

POST /v1/actions/notification.list

List my notifications (newest first).

ess.self
FieldType
unreadOnlybooleanoptional
limitnumberoptional
POST /v1/actions/notification.markRead

Mark one of my notifications as read.

ess.self
FieldType
iduuidrequired
POST /v1/actions/meta.enums

Return all system enum options (for populating dropdowns).

org.read

No request fields.

POST /v1/actions/meta.taxConfig

Tax regimes + statutory code types for a country (renders the tax form).

org.read
FieldType
countryCodestringrequired
POST /v1/actions/gdpr.eraseUser

Erase a user's personal data (GDPR right to erasure) — anonymizes and revokes access.

gdpr.manage
FieldType
userIduuidrequired
POST /v1/actions/gdpr.exportUser

Export all personal data held for a user (GDPR right of access).

gdpr.manage
FieldType
userIduuidrequired