---
title: "Update Time Tracking Time Clock"
method: PATCH
path: "/api/v1/time-tracking/time-clocks/{id}"
tags: ["Time Tracking", "Public API"]
---

# Update Time Tracking Time Clock

`PATCH /api/v1/time-tracking/time-clocks/{id}`

## Request

- Base URL: `https://companySubDomain.bamboohr.com`
- URL: `https://companySubDomain.bamboohr.com/api/v1/time-tracking/time-clocks/{id}`
- Auth: one of:
  - HTTP basic
  - OAuth 2
    - Authorization code: `/authorize.php`
    - Token URL: `/token.php` scopes: `time_tracking:time_clocks.write`
- TypeScript: <https://skmtc.dev/bamboohr/apis/bamboohr-api/docs/api/v1/time-tracking/time-clocks/:id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Updates a time tracking time clock using JSON Merge Patch (RFC 7396) semantics: only the properties present in the body are applied. Only `name` and `timezone` are mutable, and at least one of them must be provided. Both changes are written through to the GT Clocks partner; writes are never served from cache, so a write returns 503 with a Retry-After header when the partner is unreachable. A successful write invalidates the cached device list so the next read reflects the change. Content-Type: application/merge-patch+json is preferred because it names those semantics, but application/json is also accepted.

OAuth Scopes: time_tracking:time_clocks.write

## Path parameters

- `id` string, uuid, required

## Request body

- TimeTrackingUpdateTimeTrackingTimeClockV1: JSON Merge Patch body for updating a time tracking time clock. Only the `name` and `timezone` properties are mutable, and at least one of them must be provided. Every other property of the time clock is read-only.
  - `name` string: The name of the time clock.
  - `timezone` string: IANA timezone name the device records clock entries in.

## Response `200`

The updated time clock.

- TimeTrackingTimeTrackingTimeClockV1: A time tracking time clock. A time clock is a physical device employees use to clock in and out.
  - `id` string, uuid: The unique identifier for the time clock.
  - `name` string: The name of the time clock.
  - `serialNumber` string: The manufacturer serial number of the device.
  - `type` 'TIME_CLOCK' | 'TIME_CLOCK_PLUS': The hardware model of the time clock.
  - `online` boolean, nullable: Whether the device is reachable. Null when device status is temporarily unavailable.
  - `configOnline` boolean, nullable: Whether the device is receiving configuration updates. Null when device status is temporarily unavailable.
  - `dataOnline` boolean, nullable: Whether the device is sending clock data. Null when device status is temporarily unavailable.
  - `firmwareOnline` boolean, nullable: Whether the device is receiving firmware updates. Null when device status is temporarily unavailable.
  - `timezone` string: IANA timezone name the device records clock entries in.

## Other responses

- `400`: Malformed request body.
- `401`: Unauthorized. Missing or invalid authentication.
- `403`: Forbidden. Insufficient permissions.
- `404`: Time clock not found, or the company has no time clocks connected.
- `422`: Validation error (e.g., an invalid time clock ID, a name outside 1-255 characters, an unknown IANA timezone, or neither name nor timezone provided).
- `503`: The GT Clocks partner is temporarily unreachable and the write could not be applied. Retry after the interval given in the Retry-After header.

## Changes

- **2026-11-03** `922fc15f43a7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bamboohr/apis/bamboohr-api/changes/api/v1/time-tracking/time-clocks/:id/patch.md)

---

[API](https://skmtc.dev/bamboohr/apis/bamboohr-api.md) - [All operations](https://skmtc.dev/bamboohr/apis/bamboohr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bamboohr/apis/bamboohr-api/revisions/922fc15f43a7?raw)
