The Time Clock API provides comprehensive workforce time tracking capabilities. Manage employee clock-ins, clock-outs, time activities, geofences, and retrieve timesheet data for payroll processing.
Time clocks are the core organizational unit. Each time clock can have its own settings, jobs, geofences, and assigned users. An account can have multiple time clocks for different departments or locations.
Time activities represent work records and include:
- Shifts: Regular work periods tracked by clock-in/clock-out
- Manual Breaks: Scheduled break periods (paid or unpaid)
- Time Offs: Approved PTO that appears on timesheets
Each clock event tracks its source:
| Source | Description |
|---|
mobile | Clocked via mobile app |
pc | Clocked via desktop |
kiosk | Clocked via shared kiosk |
nfc | Clocked via NFC tag |
api | Clocked via API |
admin | Manually added by admin |
autoClockOut | System auto clock-out |
When auto clock-out occurs, the reason is tracked:
| Mode | Description |
|---|
dailyLimit | Daily hour limit reached |
hourLimit | Shift hour limit reached |
schedulerShiftEnded | Scheduled shift ended |
geofenceExit | User exited geofenced area |
disabledGps | GPS was disabled |
disabledGpsPermission | GPS permission revoked |
| Method | Endpoint | Description |
|---|
| GET | /time-clock/v1/time-clocks | Get all time clocks |
| Method | Endpoint | Description |
|---|
| GET | /time-clock/v1/time-clocks/{timeClockId}/time-activities | Get time activities |
| POST | /time-clock/v1/time-clocks/{timeClockId}/time-activities | Create time activities |
| PUT | /time-clock/v1/time-clocks/{timeClockId}/time-activities | Update time activities |
| Method | Endpoint | Description |
|---|
| POST | /time-clock/v1/time-clocks/{timeClockId}/clock-in | Clock in a user |
| POST | /time-clock/v1/time-clocks/{timeClockId}/clock-out | Clock out a user |
| Method | Endpoint | Description |
|---|
| GET | /time-clock/v1/time-clocks/{timeClockId}/geofences | Get all geofences |
| POST | /time-clock/v1/time-clocks/{timeClockId}/geofences | Create geofences |
| GET | /time-clock/v1/time-clocks/{timeClockId}/geofences/{fenceId} | Get a geofence |
| DELETE | /time-clock/v1/time-clocks/{timeClockId}/geofences/{fenceId} | Delete a geofence |
| Method | Endpoint | Description |
|---|
| GET | /time-clock/v1/time-clocks/{timeClockId}/timesheet | Get timesheet totals |
| Method | Endpoint | Description |
|---|
| GET | /time-clock/v1/time-clocks/{timeClockId}/shift-attachments | Get shift attachment settings |
| GET | /time-clock/v1/time-clocks/{timeClockId}/manual-breaks | Get manual break settings |
| Constraint | Value |
|---|
| Max users per time activities request | 100 |
| Max shifts per user (create/update) | 50 |
| Max manual breaks per user (create/update) | 50 |
| Max geofences per create request | 1000 |
| Max jobs per geofence | 100 |
| Geofence radius | 75-1524 meters |
| Time activities date range | 92 days (3 months) |
| Timesheet date range | 45 days |
| Timestamps | Unix epoch (seconds) |
| Date format | YYYY-MM-DD |
All endpoints require authentication via API key or OAuth 2.0.
| Scope | Operations |
|---|
| time_clock.read | GET time clocks, time activities, geofences, timesheet, settings |
| time_clock.write | POST/PUT time activities, clock-in, clock-out, create geofences |
| time_clock.delete | DELETE geofences |
⚠️
- Users must be assigned to the time clock before any operations
- Jobs must be assigned to the time clock if job tracking is required
- Cannot create/update time activities on locked or approved days
- Start time must be before end time for all activities
API Reference