---
title: "Create a new time-off request."
method: POST
path: "/time-off/requests"
tags: ["Time off"]
---

# Create a new time-off request.

`POST /time-off/requests`

This endpoint creates a new time-off *request* for a specified *_userId* and existing *_timeOffTypeId* within a defined date range specified by the *from* (start) and *to* (end) fields.

Additionally, it is possible to indicate whether the 'from' and 'to' dates are taken as full days using the optional fields *partOfDayFrom* and *partOfDayTo*, respectively. If these optional parameters are not provided, the time-off request creation defaults to full days for both the *from* and *to* dates.
Note that this request may require approval by the manager of the employee if an approval process is configured in the time-off policy.

This endpoint does not allow creating time-off requests of hourly type.

For the optimal performance of this endpoint, it supports up to 200 requests per minute. Please note, rapidly consecutive requests to this endpoint may not be processed in the submitted order. We recommend spacing out your requests for consistent processing results.

## Headers

- `Authorization` string, required

## Request body

- object
  - `_userId` string, required — The Kenjo employee *_id*.
  - `_timeOffTypeId` string, required — The Kenjo *time-off type Id* of one existing time-off type.
  - `from` string, required — The starting date of the time-off request in format YYYY-MM-DD.
  - `to` string, required — The ending date of the time-off request in format YYYY-MM-DD.
  - `partOfDayFrom` 'StartOfDay' | 'HalfOfDay' — The duration of the *from* date. 'StartOfDay' means that the *from* date is the entire day. 'HalfOfDay' means that the request starts to apply in the middle of the *from* day. If not specified, the default value will be 'StartOfDay'.
  - `partOfDayTo` 'HalfOfDay' | 'EndOfDay' — The duration of the *to* date. 'EndOfDay' means that the *to* date is the entire day. 'HalfOfDay' means the request starts to apply in the middle of the *to* day. If not specified, the default value will be 'EndOfDay'.
  - `description` string — The description of the time-off request. Maximun length 1000 characters.

## Response `201`

CREATED

- object
  - `_id` string — The time off request identifier.
  - `_userId` string — The Kenjo employee *_id*.
  - `_timeOffTypeId` string — The Kenjo *time-off type Id* for an existing time-off type.
  - `from` string — The starting date of the time-off request in format YYYY-MM-DD.
  - `to` string — The ending date of the time-off request in format YYYY-MM-DD.
  - `partOfDayFrom` 'StartOfDay' | 'HalfOfDay' — Indicates when starts to apply the *from* date.
  - `partOfDayTo` 'HalfOfDay' | 'EndOfDay' — Indicates when starts to apply the *to* date.
  - `description` string — The description of the time-off request. Maximun length 1000 characters.

## Other responses

- `400` — BAD REQUEST. This is a wrong request in the client side due to invalid body or params.
- `401` — UNAUTHORIZED. The Authorization header is incorrect, not provided or the token expired.

---

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