---
title: "Update a policy"
method: PUT
path: "/v1/workspaces/{workspaceId}/time-off/policies/{id}"
tags: ["Policy"]
---

# Update a policy

`PUT /v1/workspaces/{workspaceId}/time-off/policies/{id}`

## Path parameters

- `workspaceId` string, required — Represents a workspace identifier across the system.
- `id` string, required — Represents a policy identifier across the system.

## Request body

- UpdatePolicyRequestV1
  - `allowHalfDay` boolean, required — Indicates whether policy allows half day.
  - `allowNegativeBalance` boolean, required — Indicates whether policy allows negative balance.
  - `approve` PolicyApprovalDto, required — Represents approval settings.
    - `requiresApproval` boolean — Indicates whether it requires approval
    - `specificMembers` boolean — Indicates whether it requires specific members
    - `teamManagers` boolean — Indicates whether it requires team manager's approval
    - `userIds` string[] — Represents set of user's identifier across the system
  - `archived` boolean, required — Indicates whether policy is archived.
  - `automaticAccrual` AutomaticAccrualRequest — Provide automatic accrual settings.
    - `amount` number, double, required — Represents amount of automatic accrual.
    - `period` 'MONTH' | 'YEAR' — Represents automatic accrual period.
  - `automaticTimeEntryCreation` AutomaticTimeEntryCreationRequest — Provides automatic time entry creation settings.
    - `defaultEntities` DefaultEntitiesRequest, required — Provides information about default project and task for automatically created time entries.
      - `projectId` string — Default project for automatically created time entries
      - `taskId` string — Default task for automatically created time entries
    - `enabled` boolean — Indicates that automatic time entry creation is enabled.
  - `color` string — Provide color in format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format.
  - `everyoneIncludingNew` boolean, required — Indicates whether the policy is shown to new users.
  - `hasExpiration` boolean, required — Indicates whether the policy has expiration.
  - `icon` 'UMBRELLA' | 'SNOWFLAKE' | 'FAMILY' | 'PLANE' | 'STETHOSCOPE' | 'HEALTH_METRICS' | 'CHILDCARE' | 'LUGGAGE' | 'MONETIZATION' | 'CALENDAR' — Provide icon.
  - `name` string, required — Provide the name you would like to use for updating the policy.
  - `negativeBalance` NegativeBalanceRequest — Provide the negative balance data you would like to use for updating the policy.
    - `amount` number, double, required — Represents negative balance amount.
    - `period` 'MONTH' | 'YEAR' — Represents negative balance period.
    - `shouldReset` boolean — Indicates whether negative balance should be reset at the end of the negative balance period.
  - `userGroups` UserGroupIdsSchema — Provide list with user group ids and corresponding status.
    - `contains` 'CONTAINS' | 'DOES_NOT_CONTAIN'
    - `ids` string[] — Represents ids upon which filtering is performed.
    - `status` 'ALL' | 'ACTIVE' | 'INACTIVE' — Represents user status.
  - `users` UserIdsSchema — Provide list with user ids and corresponding status.
    - `contains` 'CONTAINS' | 'DOES_NOT_CONTAIN'
    - `ids` string[] — Represents ids upon which filtering is performed.
    - `status` 'ALL' | 'ACTIVE' | 'INACTIVE' — Represents user status.

## Response `200`

OK

- PolicyDtoV1
  - `allowHalfDay` boolean — Indicates whether the half day is allowed.
  - `allowNegativeBalance` boolean — Indicates whether the negative balance is allowed.
  - `approve` PolicyApprovalDto — Represents approval settings.
    - `requiresApproval` boolean — Indicates whether it requires approval
    - `specificMembers` boolean — Indicates whether it requires specific members
    - `teamManagers` boolean — Indicates whether it requires team manager's approval
    - `userIds` string[] — Represents set of user's identifier across the system
  - `archived` boolean — Indicates whether the policy is archived.
  - `automaticAccrual` AutomaticAccrualDto — Represents automatic approval settings.
    - `amount` number, double — Represents automatic accrual's amount
    - `period` 'MONTH' | 'YEAR' — Represents automatic accrual's period
    - `timeUnit` 'DAYS' | 'HOURS' — Represents automatic accrual's time unit
  - `automaticTimeEntryCreation` AutomaticTimeEntryCreationDto — Represents automatic time entry creation settings.
    - `defaultEntities` DefaultEntitiesDto
      - `projectId` string
      - `taskId` string
    - `enabled` boolean
  - `color` string — Represents the color assigned to the policy.
  - `everyoneIncludingNew` boolean — Indicates whether the policy is applied to future new users.
  - `icon` 'UMBRELLA' | 'SNOWFLAKE' | 'FAMILY' | 'PLANE' | 'STETHOSCOPE' | 'HEALTH_METRICS' | 'CHILDCARE' | 'LUGGAGE' | 'MONETIZATION' | 'CALENDAR' — Represents the icon assigned to the policy.
  - `id` string — Represents policy identifier across the system.
  - `name` string — Represents the name of the policy.
  - `negativeBalance` NegativeBalanceDto — Represents the data about negative balance including amount, time unit and period.
    - `amount` number, double
    - `period` string
    - `shouldReset` boolean
    - `timeUnit` string
  - `projectId` string — Represents project identifier across the system.
  - `timeUnit` 'DAYS' | 'HOURS' — Represents the time unit of the policy.
  - `userGroupIds` string[] — Represents user groups' identifiers across the system. Indicates which user groups are included in the policy.
  - `userIds` string[] — Represents users' identifiers across the system. Indicates which users are included in the policy.
  - `workspaceId` string — Represents workspace identifier across the system.

## Changes

- **2026-08-20** `a5b636acbcd8` — 26 info
  - the `` request property default value `` was added
  - the `` request property default value `` was added
  - the `` request property default value `` was added
  - the `color` request property default value `` was added
  - …22 more

[Change history](https://skmtc.dev/clockify/apis/clockify-api/changes/v1/workspaces/:workspaceId/time-off/policies/:id/put.md)

---

[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)
