Create a time-punch
Create a clock-in or clock-out for an employee, for instance when they clock in on your own punch clock integrated with Lucca.
The API key must have the “Edit time-punches” permission on the employee, and the employee must be on a clock-in time-tracking profile on the date of the time-punch.
The clientWalledTime you send is a local date and time, without offset. Lucca resolves it in the time zone of the employee’s establishment on that date, and returns the result as the resolvedTime of the time-punch, with its offset. For instance, a clientWalledTime of 2026-10-22T08:04:23 for an employee of a Paris establishment gives a resolvedTime of 2026-10-22T08:04:23+02:00.
Sending the same time-punch again (same employee, clientWalledTime and direction) does not create a duplicate: Lucca returns the existing time-punch with a 200 OK.
Please see this guide on how to send time-punches from a third-party punch clock.
Headers
API key. Value must be formatted like so: lucca application={api_key}.
Body
The employee who clocked in or out.
The date and time when the employee clocked in or out, in the local time of the employee's establishment. Do not include any offset/timezone information ("Z", "+01:00", etc...). Lucca resolves it into the resolvedTime of the time-punch.
"2026-10-22T08:04:23"
Whether the time-punch is a clock-in (in) or a clock-out (out).
in, out Whether the time-punch was entered by hand rather than produced by a punch clock.
Response
OK. A non-archived time-punch with the same employee, clientWalledTime and direction was already sent. The existing time-punch is returned, and no new one is created. A time-punch in the other direction at the same date and time is created as a new one.
A clock-in or clock-out of an employee.
Unique identifier of the time-punch.
"93874"
"time-punch""https://example.ilucca.net/timmi-timesheet/api/time-punches/93874"
The employee who clocked in or out.
The date and time when the employee clocked in or out, with the offset of the time zone of the employee's establishment. For a time-punch created with an API key, it is the clientWalledTime sent, resolved in that time zone.
"2026-10-22T08:04:23+02:00"
Whether the time-punch is a clock-in (in) or a clock-out (out).
in, out The system the time-punch came from:
integration: a punch clock integrated with an API key, such as your own.desktop: Lucca virtual punch clock, from a web browser.mobileApp: Lucca virtual punch clock, from the mobile app.lucca: a Lucca punch clock.
integration, desktop, mobileApp, lucca Whether the time-punch was entered by hand rather than produced by a punch clock.
Whether the time-punch is archived. Archived time-punches are no longer taken into account to compute worked time.
Date and time the time-punch was created in Lucca, with offset.
"2026-10-22T06:04:25.1234567+00:00"