BIOMETRIC ATTENDANCE API
Connect your HR system to facility biometrics — seamlessly.
REST API for real-time attendance — all biometric devices supported
Already running an HR or payroll system? Medico's Biometric Attendance API pulls check-in and check-out logs from any biometric device on your network — all major brands and models supported. Each record includes memberNumber, which is the employee's payroll number as stored on the device. Match it to your PayrollNo (or equivalent payroll number column) — no need to replace your existing HR stack.
All devices supported. The API works with every biometric hardware brand on your network — not limited to a single manufacturer.
Integration flow
- Call the API with your assigned key
- Each attendance record returns
memberNumber— this is the employee's payroll number as stored on the biometric device - Match
memberNumbertoPayrollNo(or your payroll number column) in your HR/payroll database - Generate attendance and payroll reports in your existing system
API Endpoints
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /health |
None | Verify if the API is running |
| GET | /devices |
API Key | List all active biometric devices |
| POST | /attendance/sync |
API Key | Fetch new attendance records from devices |
| GET | /attendance/range |
API Key | Attendance by date range (startDate, endDate) |
| GET | /attendance/month |
API Key | Attendance for a month (year, month) |
| GET | /attendance/recent |
API Key | 50 most recent attendance records |
| GET | /attendance/stats |
API Key | Attendance statistics summary |
| GET | /dashboard/stats |
API Key | Dashboard statistics |
| GET | /attendance/user/{memberNumber} |
API Key | Attendance for one employee by payroll number (memberNumber) and date range |
| GET | /attendance/device/{deviceId} |
API Key | Attendance for one device by date range |
| GET | /attendance/search |
API Key | Search by payroll number (memberNumber) and/or deviceId |
| GET | /attendance/export |
API Key | Export attendance as CSV file |
Data fields
| Field | Type | Description |
|---|---|---|
memberNumber |
string | The employee's payroll number as registered on the biometric device (e.g. match to PayrollNo in your HR/payroll system) |
date |
datetime | Check-in/out timestamp (UTC) |
status |
string | "Check In" or "Check Out" |
deviceName |
string | Name of the biometric device |
deviceId |
integer | Unique device identifier |
Sample integration
// memberNumber in each record is the employee's payroll number on the device.
// Match it to PayrollNo in your HR/payroll system.
const response = await fetch('http://localhost:9090/api/attendance/range?startDate=2026-05-01&endDate=2026-05-31', {
headers: { 'X-API-Key': 'BiometricAPI@2024!SecureKey' }
});
const data = await response.json();
data.data.forEach(record => {
const employee = employees.find(e => e.PayrollNo === record.memberNumber);
console.log((employee?.Surname || 'Unknown') + ' (' + record.memberNumber + ') - ' + record.date + ' - ' + record.status);
});