Developer Hub / HRMS API / API Reference

HRMS API Reference

Complete enterprise human resource management API for employee lifecycle, attendance, leaves, payroll, payslips, work logs, and analytics.

Secure Architecture App-to-App Enterprise API

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.

GET /api/v1/hrms/employees
Scope: employees:read

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
Example Request
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
  }
}
POST /api/v1/hrms/attendance/clock-in
Scope: attendance:write

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).
Example Request
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"
  }
}
POST /api/v1/hrms/leaves/apply
Scope: leave:write

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"
  }
}
GET /api/v1/hrms/payrolls
Scope: payroll:read

Query processed payroll records by month, year, or payment status.

GET /api/v1/hrms/summary
Scope: reports:read

Executive metrics including active headcount, today's attendance count, and pending leaves.


Chat on WhatsApp