Improved

Time Clock: Offline Mode for Clock In/Out

Clock in and clock out now support offline mode via an optional timestamp field. Physical clock devices can flush queued punches after reconnecting without losing the original punch times.

Updated Endpoints

  • POST /time-clock/v1/time-clocks/{timeClockId}/clock-in — optional timestamp (Unix seconds) records when the employee actually punched
  • POST /time-clock/v1/time-clocks/{timeClockId}/clock-out — optional timestamp closes the open shift at the original punch time

Key Features

  • Backward compatible: omit timestamp and behavior is unchanged (server captures time at request receipt)
  • 12-hour look-back: retroactive punches up to 12 hours in the past; future timestamps rejected
  • Open-shift lifecycle preserved: unlike Create time activities, retroactive clock-in/out keeps the shift open until clock-out — so online and offline flows can mix safely
  • Clock-out guards: timestamp must be after the open shift's clock-in; locked/approved days rejected

Authentication

Unchanged — API Key or OAuth 2.0 with scope time_clock.write.

For full details, examples, and error codes, see the Real-Time Clocking Guide, Clock In API Reference, and Clock Out API Reference.