---
title: "Create time off request"
method: POST
path: "/time-off/v1/requests"
tags: ["Time Off:v1:TimeOffRequests"]
---

# Create time off request

`POST /time-off/v1/requests`

Create a new time-off request for a user under a specified policy. The time-off request can be either in pending or approved status.

## Request body

- TimeOffRequestCreateRequest
  - `timeClockId` integer — The unique identifier of the time clock where the time off will be presented in the timesheet
  - `userId` integer, required — The ID of the user to create the time off request
  - `policyTypeId` string, required — The ID of the policy type
  - `isAllDay` boolean, required — Specifies the type of the time period. Defaults to true. If set to false, start and end time fields must be specified.
  - `startDate` string, required — The start date of the time off in ISO format (YYYY-MM-DD)
  - `endDate` string, required — The end time of the time off in ISO format (YYYY-MM-DD). End date must be similar to Start date if isAllDay set to false.
  - `startTime` string — The start time of the time off in ISO format (HH:MM:SS). This field is required if isAllDay set to false.
  - `endTime` string — The end time of the time off in ISO format (HH:MM:SS). This field is required if isAllDay set to false.
  - `timezone` string, required — The timezone in Tz format (e.g. America/New_York)
  - `status` 'approved' | 'pending' | 'denied', required — The status of the time off request.
  - `employeeNote` string — Employee note providing additional details
  - `managerNote` string — Manager note providing additional details
  - `isAdjustForDayLightSaving` boolean — Specifies if the time given should offset the daylight savings time change if the time falls exactly on the daylight savings time change. Set to true only if the time coincides with the rollback hour, otherwise, it should remain false.

## Response `200`

Successful Response

- APIResponseTimeOffRequestCreateResponse
  - `requestId` string
  - `data` TimeOffRequestCreateResponse, required
    - `id` string, required — The unique identifier of the time-off request.
    - `timeClockId` integer — The unique identifier of the time clock where the time off appears on the timesheet. Omitted when the request is not linked to a time clock.
    - `policyTypeId` string, required — The unique identifier of the time-off policy type.
    - `userId` integer, required — The unique identifier of the employee the request belongs to.
    - `isAllDay` boolean, required — true if the request covers full days; false if it uses specific times.
    - `duration` TimeOffRequestDuration
      - `units` 'hours' | 'days', required — An enumeration.
      - `amount` number, required — Amount of time deducted from balance for this request, expressed in the policy units. For all-day requests this reflects the policy work schedule per calendar day, not the start/end time span. This is the value stored when the request was approved.
    - `startDate` string, required — Start date of the time off.
    - `endDate` string, required — End date of the time off.
    - `startTime` string, required — Start time of the time off.
    - `endTime` string, required — End time of the time off.
    - `timezone` string, required — Timezone of the request, e.g. America/New_York.
    - `status` 'approved' | 'pending' | 'denied', required — Request status: approved, pending, or denied.
    - `employeeNote` string — Note added by the employee. Empty string when none.
    - `managerNote` string — Note added by the manager. Empty string when none.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/connecteam/apis/connecteam-api-documentation.md) · [All operations](https://skmtc.net/connecteam/apis/connecteam-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/connecteam/connecteam-api-documentation/revisions/d8f7f302222e/schema)
