Skip to navigation

List Attendance Timesheets

Returns one entry per staff member per day for up to 31 days: status, leave, shifts, first punch-in, last punch-out, hours worked, late arrival, early leaving and overtime, plus a summary for the range. The numbers match the staff timesheet in the app.

Every staff member gets an entry for every date, including dates before they joined and future dates.

Status values

statusMeaning
presentMarked present. Working on a week off or holiday also shows present.
double_presentMarked double present: counts as two days of attendance.
half_dayMarked half day.
half_day_leaveHalf day, with a half-day leave applied.
paid_leaveOn paid leave.
unpaid_leaveOn unpaid leave.
absentMarked absent, or nothing marked yet on a working day.
week_offThe staff member’s day off.
holidayOne of your company’s holidays.

Hours are strings with 2 decimals, for example 1 h 33 m is "1.55".

  • Unpaid breaks are not counted as hours worked; paid breaks are.
  • Late arrival and early leaving are measured from shift times, with no grace period.
  • Overtime is time worked beyond the day’s shift length (or the staff member’s minimum hours, if set), with no grace period. For overtime as payroll pays it, use Get Staff Overtime.

Night shifts. A punch-out after midnight belongs to the day the shift started.

Who is in right now? Call with today’s date and check last_punch_type: IN or BREAK_END means at work, BREAK_START on a break, OUT or null not at work.

Authentication

AuthorizationApi-Key

Format: “Api-Key {api-key}”

Query parameters

start_datedateRequired

First day, YYYY-MM-DD.

end_datedateRequired

Last day, YYYY-MM-DD. The range can cover at most 31 days. Use the same date as start_date for one day.

salarybox_idslist of stringsOptional

Repeatable. Limits the result to these staff members, for example salarybox_ids=SBK7Q2M9TX&salarybox_ids=SBK3H8D1LP.

branch_nameslist of stringsOptional

Repeatable. Exact branch names (case-sensitive).

department_nameslist of stringsOptional

Repeatable. Exact department names (case-sensitive).

pageintegerOptional
Page number, starting at 1.
page_sizeintegerOptional
Results per page. Default and maximum 500.

Response

One entry per matching staff member on this page.
messagestring
statusboolean
datalist of objects
countinteger
Total number of matching staff members across all pages.
prevstring or null

URL of the previous page, or null on the first page.

nextstring or null

URL of the next page, or null on the last page.

Errors

400
Bad Request Error
404
Not Found Error