Skip to main content
A single endpoint that both clocks in (creates a new open time entry) and clocks out (completes the open entry and computes hours), selected by the action field.
Authentication: requires an employee JWT. The employee is taken from the token’s userId.

Request body

string
required
Either clock_in or clock_out.
string
Free-text note. On clock out, if omitted the existing entry’s notes are kept.
string
Optional job code (recorded on clock in).
string
Optional task code (recorded on clock in).
integer
default:"0"
Unpaid break minutes deducted from total hours on clock out. Minimum 0.
string
Optional client IP to record. Used for both the clock-in and clock-out IP fields.
string
Optional device identifier to record.

Behavior

Creates a new time entry with status: "PENDING" and clockIn set to now. It is associated with the company’s current unlocked pay period (if one exists). If the employee already has an open entry, returns 400 Already clocked in (with the existing entry’s id and clockIn).

Response

Both actions return 200 with data.timeEntry (including its payPeriod summary) and a data.message. Clock out additionally returns data.summary with totalHours, regularHours, overtimeHours, and breakMinutes.

Examples

Errors