Documentation

Attendance

Pull attendance records and push check-in / check-out from your app.

Requires scope: attendance

List defaults to last 30 days when from/to are omitted.

Check-in and check-out require employeeId. Employee must have a shift configured in OXHRM.

Endpoints

GET/api/v1/integrations/attendanceBearer auth

List attendance records

  • Query: from, to, page, limit, status, employeeId
Example response
{
  "success": true,
  "status": 200,
  "data": {
    "attendance": [
      {
        "id": "665f1a2b3c4d5e6f7a8b9c22",
        "employeeId": "665f1a2b3c4d5e6f7a8b9c0d",
        "employeeName": "Ada Lovelace",
        "date": "2026-11-10T00:00:00.000Z",
        "status": "present",
        "clockIn": "2026-11-10T04:05:00.000Z",
        "clockOut": "2026-11-10T13:02:00.000Z",
        "method": "manual"
      }
    ],
    "pagination": { "page": 1, "limit": 50, "total": 1 }
  }
}
GET/api/v1/integrations/attendance/:employeeIdBearer auth

Get attendance for one employee

  • Query: from, to, date, page, limit, status
Example response
{
  "success": true,
  "status": 200,
  "data": {
    "attendance": [
      {
        "id": "665f1a2b3c4d5e6f7a8b9c22",
        "employeeId": "665f1a2b3c4d5e6f7a8b9c0d",
        "employeeName": "Ada Lovelace",
        "date": "2026-11-10T00:00:00.000Z",
        "status": "present",
        "clockIn": "2026-11-10T04:05:00.000Z",
        "clockOut": null,
        "method": "manual"
      }
    ],
    "pagination": { "page": 1, "limit": 50, "total": 1, "totalPages": 1 }
  }
}
POST/api/v1/integrations/attendance/check-inBearer auth

Check in an employee

  • Alias: POST /integrations/attendance/clock-in
Request body
{
  "employeeId": "<employeeId>",
  "notes": "Arrived at site",
  "location": { "latitude": 26.9124, "longitude": 75.7873 }
}
Example response
{
  "success": true,
  "status": 201,
  "message": "Check-in successful",
  "data": {
    "attendance": {
      "id": "665f1a2b3c4d5e6f7a8b9c22",
      "employeeId": "665f1a2b3c4d5e6f7a8b9c0d",
      "date": "2026-11-10T00:00:00.000Z",
      "status": "present",
      "clockIn": "2026-11-10T04:05:00.000Z",
      "clockOut": null,
      "method": "manual"
    }
  }
}
POST/api/v1/integrations/attendance/check-outBearer auth

Check out an employee

  • Alias: POST /integrations/attendance/clock-out
Request body
{
  "employeeId": "<employeeId>",
  "notes": "Left site",
  "location": { "latitude": 26.9124, "longitude": 75.7873 }
}
Example response
{
  "success": true,
  "status": 200,
  "message": "Check-out successful",
  "data": {
    "attendance": {
      "id": "665f1a2b3c4d5e6f7a8b9c22",
      "employeeId": "665f1a2b3c4d5e6f7a8b9c0d",
      "date": "2026-11-10T00:00:00.000Z",
      "status": "present",
      "clockIn": "2026-11-10T04:05:00.000Z",
      "clockOut": "2026-11-10T13:02:00.000Z",
      "method": "manual"
    }
  }
}