patch
https://{subdomain}.workable.com/spi/v3/time-tracking/employees//time-entries/
Updates an existing time entry for the specified employee. Required scope: w_time_tracking.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
This endpoint uses thew_time_trackingscope, which must be enabled through the Integrations section found within the Settings menu.
This endpoint supports both user tokens and account tokens.
At least one of clock_in_time, clock_out_time, or note must be provided. Pass note: null to clear an existing note.
Setting override_overlapping: true archives any overlapping time entries for the same employee.
Validation rules
- At least one field required: Must provide at least one of
clock_in_time,clock_out_time, ornote. - Time format: ISO 8601 with a timezone designator — UTC (
Z) or a numeric offset (e.g.2024-09-27T08:30:00Z,2024-09-27T10:30:00+02:00). Times are stored in UTC. - Seconds and milliseconds: Truncated to the start of the minute server-side.
- Clock-out time: When both fields are supplied,
clock_out_timemust be greater than or equal toclock_in_time, and on the same date as clock-in or exactly at the start of the next day in the employee's timezone. - Employee start date: Updated time entry cannot be prior to the employee's start date.
Response
Returns the updated entry. Time strings are returned as ISO 8601 in UTC (with the Z suffix) — see GET /time-tracking/time-entries.
{
"type": "clock-out",
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"clock_in_time": "2024-09-27T10:00:00.000Z",
"clock_out_time": "2024-09-27T18:00:00.000Z",
"note": null
}| key | type | description |
|---|---|---|
| type | string | Entry type |
| uuid | string | UUID of the updated entry |
| clock_in_time | string | null | Clock-in time in UTC (with Z suffix) |
| clock_out_time | string | null | Clock-out time in UTC (with Z suffix) |
| note | string | null | Note attached to the entry |
Error responses
| Status | Code | Description |
|---|---|---|
| 400 | Invalid request body (e.g. no fields provided, invalid time format, clock_out_time before clock_in_time, or clock_out_time more than one day after clock_in_time in the employee's timezone) | |
| 403 | timeTracking.erganiRestriction | Employee uses Ergani-related time tracking, updates not allowed |
| 403 | timeEntry.previousToEmployeeStartDateNotPermitted | Updated time entry would be prior to employee's start date |
| 403 | timeTrackingPolicy.notAssigned | Employee does not have a time tracking policy assigned |
| 403 | Time tracking policy does not allow editable entries (for ClockInOut policies) | |
| 404 | employee.notExists | Employee not found |
| 404 | Time entry with specified UUID not found for this employee | |
| 409 | timeEntryUpdate.conflictingEntriesExist | Updated times conflict with other time entries (when override_overlapping is false) |
| 422 | clockOut.isBeforeClockIn | Updated clock-out time would be before clock-in time |
| 500 | timeTracking.lockError | Concurrent modification error. Retry the request. |
