API Reference
API Reference

/time-tracking/employees/:id/time-entries/:uuid

Updates an existing time entry for the specified employee. Required scope: w_time_tracking.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
🚧

This endpoint uses the w_time_tracking scope, 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, or note.
  • 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_time must be greater than or equal to clock_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
}
keytypedescription
typestringEntry type
uuidstringUUID of the updated entry
clock_in_timestring | nullClock-in time in UTC (with Z suffix)
clock_out_timestring | nullClock-out time in UTC (with Z suffix)
notestring | nullNote attached to the entry

Error responses

StatusCodeDescription
400Invalid 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)
403timeTracking.erganiRestrictionEmployee uses Ergani-related time tracking, updates not allowed
403timeEntry.previousToEmployeeStartDateNotPermittedUpdated time entry would be prior to employee's start date
403timeTrackingPolicy.notAssignedEmployee does not have a time tracking policy assigned
403Time tracking policy does not allow editable entries (for ClockInOut policies)
404employee.notExistsEmployee not found
404Time entry with specified UUID not found for this employee
409timeEntryUpdate.conflictingEntriesExistUpdated times conflict with other time entries (when override_overlapping is false)
422clockOut.isBeforeClockInUpdated clock-out time would be before clock-in time
500timeTracking.lockErrorConcurrent modification error. Retry the request.
Path Params
string
required

SPI key of the employee

string
required

UUID of the time entry

Body Params
string

Updated ISO 8601 clock-in timestamp with timezone designator (UTC Z or numeric offset). Stored in UTC. Seconds and milliseconds are truncated to the start of the minute.

string

Updated ISO 8601 clock-out timestamp with timezone designator (UTC Z or numeric offset). Stored in UTC. Seconds and milliseconds are truncated to the start of the minute.

string | null

Updated note. Pass null to clear.

boolean

When true, archives any overlapping time entries.

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json