HR

Attendance devices, punches and staff time history.

5 endpoints · base /api/v1/hrm

GET/api/v1/hrm/attendance/devicesTry it ▶

List attendance devices.

MCP tool: hrm_list_attendance_devicesScope: hrm.attendance_devices.viewUser OAuthAPI key / app

Parameter

No parameters.

Example

curl https://api.nextx.vn/api/v1/hrm/attendance/devices \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

[
  {
    "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
    "deviceName": "string",
    "deviceSerial": "string",
    "branchId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
    "vendor": "string",
    "protocol": "string",
    "ipAddress": "string",
    "port": 0,
    "modelName": "string",
    "isOnline": false,
    "isActive": false,
    "lastPingAt": "2026-10-27T09:00:00+07:00",
    "lastEventAt": "2026-10-27T09:00:00+07:00",
    "role": "string",
    "supportsFace": false,
    "supportsFingerprint": false,
    "supportsCard": false,
    "supportsQr": false,
    "firmwareVersion": "string",
    "notes": "string",
    "hikUsername": "string",
    "authBlocked": false,
    "authBlockedReason": "string",
    "faceUsed": 0,
    "faceMax": 0,
    "supportsCaptureFaceData": false,
    "lastPunchAt": "2026-10-27T09:00:00+07:00"
  }
]
GET/api/v1/hrm/attendance/raw-punchesTry it ▶

List raw attendance punches.

MCP tool: hrm_list_raw_punchesScope: hrm.attendance_raw_punches.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
pageintquerynoPage (starts at 1)
pageSizeintquerynoRows per page
employeeIdGUIDqueryno—
fromdatequerynoYYYY-MM-DD
todatequerynoYYYY-MM-DD

Example

curl https://api.nextx.vn/api/v1/hrm/attendance/raw-punches?page=1&pageSize=1&employeeId=%3CemployeeId%3E&from=2026-06-01&to=2026-06-01 \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

{
  "items": [
    {
      "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "employeeId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "employeeName": "string",
      "employeeCode": "string",
      "deviceId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "deviceSerial": "string",
      "deviceName": "string",
      "deviceUserId": "string",
      "punchedAt": "2026-10-27T09:00:00+07:00",
      "credentialType": "string",
      "ingestSource": "string",
      "processStatus": "string",
      "processError": "string",
      "photoStorageKey": "string",
      "photoUrl": "string",
      "createdAt": "2026-10-27T09:00:00+07:00",
      "masterPunchId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b"
    }
  ],
  "totalCount": 0,
  "page": 0,
  "pageSize": 0,
  "totalPages": 0,
  "hasNextPage": false,
  "hasPreviousPage": false
}
GET/api/v1/hrm/attendance/clock-history/dailyTry it ▶

Daily attendance summary.

MCP tool: hrm_get_clock_history_dailyScope: hrm.attendance_raw_punches.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
fromdatequeryyesYYYY-MM-DD
todatequeryyesYYYY-MM-DD
employeeIdGUIDqueryno—
pageintquerynoPage (starts at 1)
pageSizeintquerynoRows per page

Example

curl https://api.nextx.vn/api/v1/hrm/attendance/clock-history/daily?from=2026-06-01&to=2026-06-01&employeeId=%3CemployeeId%3E&page=1&pageSize=1 \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

{
  "items": [
    {
      "employeeId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "employeeCode": "string",
      "employeeName": "string",
      "date": "2026-10-27",
      "firstIn": "2026-10-27T09:00:00+07:00",
      "lastOut": "2026-10-27T09:00:00+07:00",
      "scanCount": 0,
      "manualEntryCount": 0,
      "sources": "string"
    }
  ],
  "totalCount": 0,
  "page": 0,
  "pageSize": 0,
  "totalPages": 0,
  "hasNextPage": false,
  "hasPreviousPage": false
}
GET/api/v1/hrm/attendance/clock-history/timeline/{employeeId}Try it ▶

Attendance timeline of one employee.

MCP tool: hrm_get_clock_timelineScope: hrm.attendance_raw_punches.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
employeeIdGUIDpathyes—
fromdatequeryyesYYYY-MM-DD
todatequeryyesYYYY-MM-DD

Example

curl https://api.nextx.vn/api/v1/hrm/attendance/clock-history/timeline/<employeeId>?from=2026-06-01&to=2026-06-01 \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

[
  {
    "punchId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
    "clockRecordId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
    "at": "2026-10-27T09:00:00+07:00",
    "type": "string",
    "source": "string",
    "isManual": false,
    "deviceName": "string",
    "credentialType": "string",
    "photoStorageKey": "string",
    "photoUrl": "string"
  }
]
GET/api/v1/hrm/employees/{employeeId}/credentialsTry it ▶

List fingerprints/faces/cards of one employee.

MCP tool: hrm_list_employee_credentialsScope: hrm.attendance_devices.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
employeeIdGUIDpathyes—

Example

curl https://api.nextx.vn/api/v1/hrm/employees/<employeeId>/credentials \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

[
  {
    "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
    "employeeId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
    "deviceId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
    "deviceUserId": "string",
    "credentialType": "string",
    "fingerIndex": 0,
    "deviceVendor": "string",
    "syncStatus": "string",
    "syncedAt": "2026-10-27T09:00:00+07:00",
    "syncError": "string",
    "createdAt": "2026-10-27T09:00:00+07:00",
    "deviceName": "string"
  }
]