Skip to main content

HR modules

ModuleRoute basePermissions (examples)
Employees/employeeshr:employees:read, hr:employees:write
Employment contracts/employment-contractsContract CRUD
Leave/leaveLeave requests and balances
Performance/performancePerformance cycles
OKR/okrObjectives and key results
CCS/ccshr:ccs:read, hr:ccs:write — country rule versions
Compliance/complianceCompliance workflows
Insights/insightshr:insights:read, hr:insights:write
Dashboard/dashboardhr:employees:read, hr:insights:read, jobs:read
Integrationsintegrations moduleExternal HR connectors
Auditaudit moduleAudit trail
Engagement read modelengagement-readmodelEngagement lifecycle from Kafka

Dashboard endpoints

  • GET /dashboard/home-summary — headcount, compliance heuristics, engagement
  • GET /dashboard/recruiting-summary — recruiting metrics (jobs integration pending)

CCS (country configuration)

  • GET /ccs/versions — list CCS versions by country
  • GET /ccs/effective — effective rules for a country
  • POST /ccs/versions — publish new version (hr:ccs:write)

Employee operations

Public tenant CRUD lives under /api/v1/hr/employees. Bulk import, payout configuration, and employment invites are documented in Swagger tags on EmployeesController.
Do not create employees only in payroll. Use HR as source of truth, then mirror to payroll.