HRMS API Reference
Complete enterprise human resource management API for employee lifecycle, attendance, leaves, payroll, payslips, work logs, and analytics.
HRMS API Integration Guide
HRMS API is available for secure application-to-application integration. Use your API credentials and Postman/API client. Live browser testing is disabled to protect sensitive payroll and employee records.
Returns paginated list of company employees with department, designation, and employment status.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| search | string | Optional | Search by name, employee code, or email. |
| department_id | integer | Optional | Filter by department ID. |
| status | string | Optional | active, inactive, probation, terminated |
curl -X GET "https://hifisys.com/api/v1/hrms/employees?status=active" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Accept: application/json"
Sample 200 Response
{
"success": true,
"data": [
{
"id": 1,
"employee_code": "EMP-001",
"full_name": "Sarah Connor",
"email": "sarah@example.com",
"department": "Engineering",
"designation": "Staff Engineer",
"employment_status": "active"
}
],
"meta": {
"current_page": 1,
"per_page": 20,
"total": 42
}
}
Records punch-in timestamp, office/remote location, and IP address for an employee.
Request JSON Body
| Field | Type | Required | Description |
|---|---|---|---|
| employee_id | integer | Required | ID of the employee punch record. |
| clock_in_time | string | Optional | Timestamp (Y-m-d H:i:s). Defaults to server time. |
| ip_address | string | Optional | IPv4 or IPv6 address of device. |
| notes | string | Optional | Location or punch notes (e.g. Remote, Office). |
curl -X POST "https://hifisys.com/api/v1/hrms/attendance/clock-in" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"employee_id": 1,
"clock_in_time": "2026-10-07 09:00:00",
"ip_address": "192.168.1.100",
"notes": "Office biometric scan"
}'
Sample 200 Response
{
"success": true,
"message": "Clock-in recorded successfully",
"data": {
"attendance_id": 45,
"employee_id": 1,
"date": "2026-10-07",
"clock_in": "09:00:00",
"status": "present"
}
}
Submits employee leave request with automatic duration calculation, balance checks, and manager notifications.
JSON Body
{
"employee_id": 1,
"leave_type_id": 1,
"start_date": "2026-10-15",
"end_date": "2026-10-16",
"reason": "Family vacation",
"is_half_day": false
}
Sample 200 Response
{
"success": true,
"message": "Leave application submitted successfully",
"data": {
"leave_request_id": 14,
"employee_id": 1,
"days_taken": 2.0,
"status": "pending"
}
}
Query processed payroll records by month, year, or payment status.
Executive metrics including active headcount, today's attendance count, and pending leaves.