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

# Update Time Tracking Kiosk

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

## Request

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

Updates a time tracking kiosk using JSON Merge Patch (RFC 7396) semantics. Only the kiosk `name` is mutable. Content-Type: application/merge-patch+json is preferred because it names those semantics, but application/json is also accepted.

OAuth Scopes: time_tracking:kiosks.write

## Path parameters

- `id` string, uuid, required

## Request body

- TimeTrackingUpdateTimeTrackingKioskV1: JSON Merge Patch body for updating a time tracking kiosk. Only the kiosk name is mutable; all other properties are read-only.
  - `name` string, required: The display name of the kiosk. Must be unique across active kiosks.

## Response `200`

The updated kiosk.

- TimeTrackingTimeTrackingKioskV1: A time tracking kiosk. A kiosk is a shared device employees use to clock in and out.
  - `id` string, uuid: The unique identifier for the time tracking kiosk.
  - `name` string: The name of the kiosk.
  - `lastUsed` string, date-time, nullable: ISO 8601 timestamp when the kiosk last recorded a clock entry. Null when the kiosk has never been used.
  - `createdAt` string, date-time, nullable: ISO 8601 timestamp when the kiosk was created.
  - `updatedAt` string, date-time, nullable: ISO 8601 timestamp when the kiosk was last updated. Null when the kiosk has never been updated.
  - `deletedAt` string, date-time, nullable: ISO 8601 timestamp when the kiosk was deleted. Null for active kiosks.

## Other responses

- `400`: Malformed request body.
- `401`: Unauthorized. Missing or invalid authentication.
- `403`: Forbidden. Insufficient permissions or read-only scope.
- `404`: Kiosk not found or soft-deleted.
- `409`: Conflict. Another active kiosk already uses the provided name.
- `422`: Validation error (e.g., the ID is not a valid UUID, or `name` is empty or longer than 255 characters).

## Changes

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

[Operation history](https://skmtc.dev/bamboohr/apis/bamboohr-api/changes/api/v1/time-tracking/kiosks/: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)
