---
title: "Bulk edit time entries"
method: PUT
path: "/v1/workspaces/{workspaceId}/user/{userId}/time-entries"
tags: ["Time entry"]
---

# Bulk edit time entries

`PUT /v1/workspaces/{workspaceId}/user/{userId}/time-entries`

## Path parameters

- `workspaceId` string, required — Represents a workspace identifier across the system.
- `userId` string, required — Represents a user identifier across the system.

## Query parameters

- `hydrated` boolean — If set to true, results will contain additional information about the time entry.

## Request body

- UpdateTimeEntryBulkRequest[]
  - `billable` boolean — Indicates whether a time entry is billable or not.
  - `customFields` UpdateCustomFieldRequest[]
    - `customFieldId` string, required — Represents custom field identifier across the system.
    - `sourceType` 'WORKSPACE' | 'PROJECT' | 'TIMEENTRY' — Represents a custom field value source type.
    - `value` object — Represents a custom field's value.
  - `description` string — Represents a time entry description.
  - `end` string, date-time — Represents an end date in the yyyy-MM-ddThh:mm:ssZ format.
  - `id` string, required — Represents a time entry identifier across the system.
  - `projectId` string — Represents a project identifier across the system.
  - `start` string, date-time — Represents a start date in the yyyy-MM-ddThh:mm:ssZ format.
  - `tagIds` string[] — Represents a list of tag ids.
  - `taskId` string — Represents a task identifier across the system.
  - `type` 'REGULAR' | 'BREAK'

## Response `200`

OK

- TimeEntryDtoV1[]
  - `billable` boolean — Indicates whether a time entry is billable.
  - `customFieldValues` CustomFieldValueDtoV1[] — Represents a list of custom field value objects.
    - `customFieldId` string — Represents custom field identifier across the system.
    - `name` string — Represents custom field name.
    - `timeEntryId` string — Represents time entry identifier across the system.
    - `type` string — Represents a custom field value source type.
    - `value` object — Represents custom field value.
  - `description` string — Represents time entry description.
  - `id` string — Represents time entry identifier across the system.
  - `isLocked` boolean — Represents whether time entry is locked for modification.
  - `kioskId` string — Represents kiosk identifier across the system.
  - `projectId` string — Represents project identifier across the system.
  - `tagIds` string[] — Represents a list of tag identifiers across the system.
  - `taskId` string — Represents task identifier across the system.
  - `timeInterval` TimeIntervalDtoV1 — Represents a time interval object.
    - `duration` string — Represents a time duration.
    - `end` string, date-time — Represents an end date in yyyy-MM-ddThh:mm:ssZ format.
    - `start` string, date-time — Represents a start date in yyyy-MM-ddThh:mm:ssZ format.
  - `type` 'REGULAR' | 'BREAK' | 'HOLIDAY' | 'TIME_OFF' — Represents a time entry type enum.
  - `userId` string — Represents user identifier across the system.
  - `workspaceId` string — Represents workspace identifier across the system.

---

[API](https://skmtc.dev/clockify/apis/clockify-api.md) · [All operations](https://skmtc.dev/clockify/apis/clockify-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/clockify/clockify-api/revisions/a5b636acbcd8/schema)
