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 authList 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 authGet 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 authCheck 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 authCheck 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"
}
}
}