---
title: "Create a time off request"
method: POST
path: "/v1/workspaces/{workspaceId}/time-off/policies/{policyId}/requests"
tags: ["Time Off"]
---

# Create a time off request

`POST /v1/workspaces/{workspaceId}/time-off/policies/{policyId}/requests`

## Path parameters

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

## Request body

- CreateTimeOffRequestV1Request
  - `note` string — Provide the note you would like to use for creating the time off request.
  - `timeOffPeriod` TimeOffRequestPeriodV1Request, required — Provide the period you would like to use for creating the time off request. If `timeZone` isn't set, should be aligned with time zone for user in settings. Can be shifted from user time zone with explicit setting of `timeZone`.
    - `halfDayPeriod` 'FIRST_HALF' | 'SECOND_HALF' | 'NOT_DEFINED' — Represents the half day period.
    - `isHalfDay` boolean — Indicates whether time off is half day.
    - `period` PeriodV1Request, required — Represents period of time off request including start and end date.
      - `days` integer — Provide number of days.
      - `end` string — Provide end date in YYYY-MM-DD format.
      - `start` string — Provide start date in YYYY-MM-DD format.
    - `timeOffHalfDayPeriod` 'FIRST_HALF' | 'SECOND_HALF' | 'NOT_DEFINED'

## Response `200`

OK

- TimeOffRequestFullV1Dto — Represents the array of time off requests.
  - `balance` number, double — Represents the time off balance.
  - `balanceDiff` number, double — Represents the balance difference.
  - `createdAt` string, date-time — Represents the date when time off request is created. It is in format YYYY-MM-DDTHH:MM:SS.ssssssZ
  - `id` string — Represents time off requester identifier across the system.
  - `note` string — Represents the note of the time off request.
  - `policyId` string — Represents policy identifier across the system.
  - `policyName` string — Represents the policy name of the time off request.
  - `requesterUserId` string — Represents requester user's id.
  - `requesterUserName` string — Represents requester user's username.
  - `status` TimeOffRequestStatus — Represents the status the time off request.
    - `changedAt` string, date-time
    - `changedByUserId` string
    - `changedByUserName` string
    - `changedForUserName` string
    - `note` string
    - `statusType` 'PENDING' | 'APPROVED' | 'REJECTED' | 'ALL'
  - `timeOffPeriod` TimeOffRequestPeriodDto — Represents the period the time off request.
    - `halfDay` boolean
    - `halfDayHours` Period
      - `end` string, date-time
      - `start` string, date-time
    - `halfDayPeriod` string
    - `period` Period
      - `end` string, date-time
      - `start` string, date-time
  - `timeUnit` 'DAYS' | 'HOURS' — Represents the time unit of the time off request.
  - `userEmail` string — Represents user's email
  - `userId` string — Represents user identifier across the system.
  - `userName` string — Represents user's username.
  - `userTimeZone` string — Represents user's time zone
  - `workspaceId` string — Represents workspace identifier across the system.

## Changes

- **2026-08-20** `a5b636acbcd8` — 16 info
  - the `end` request property default value `` was added
  - the `halfDayPeriod` request property default value `` was added
  - the `note` request property default value `` was added
  - the `start` request property default value `` was added
  - …12 more

[Change history](https://skmtc.dev/clockify/apis/clockify-api/changes/v1/workspaces/:workspaceId/time-off/policies/:policyId/requests/post.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)
