---
title: "/timeoff/requests"
method: POST
path: "/timeoff/requests"
---

# /timeoff/requests

`POST /timeoff/requests`

Creates a new time off request. Required scope: `w_timeoff`. Supports both user and account level tokens.

## Request body

- object
  - `employee_id` string — SPI key of the employee. Required for account tokens, optional for user tokens.
  - `member_id` string — Identifies the member context for the request. Required for account tokens, optional for user tokens.
  - `category_id` string, required — The hex id retrieved by /timeoff/categories endpoint
  - `from_date` string, required — ISO 8601 date-time without timezone, with milliseconds — format `YYYY-MM-DDTHH:mm:ss.SSS`. A trailing `Z` or `±HH:mm` offset is not accepted. Must be on or after the employee's start date (truncated to the start of day).
  - `to_date` string, required — ISO 8601 date-time without timezone, with milliseconds — format `YYYY-MM-DDTHH:mm:ss.SSS`. Must be on or after `from_date` (same day is allowed) and within less than 3 calendar years of it.
  - `half_days` object[]
    - `date` string, required — ISO 8601 date-time without timezone, with milliseconds — format `YYYY-MM-DDTHH:mm:ss.SSS`. A trailing `Z` or `±HH:mm` offset is not accepted.
    - `half` string, required — first, second are valid options
  - `note` string — Note string max 140

## Response `200`

200

- object
  - `id` string
  - `employee_id` string — SPI key of the employee the request belongs to
  - `from_date` string
  - `to_date` string
  - `formatted_period` string
  - `state` string
  - `requesting_total` integer
  - `timeoff_tracking_unit` 'full_days' | 'half_days' | 'hours'
  - `half_days` unknown[]
    - unknown
  - `updated_by` string
  - `updated_at` string
  - `category_name` string
  - `pending_approvals` object[] — List of approvals still awaiting action. Empty array when no approvals are pending.
    - `id` string — SPI key of the approval
    - `approver_id` string — Identifier of the member whose approval action is required

## Other responses

- `400` — 400

---

[API](https://skmtc.net/workable/apis/account-root.md) · [All operations](https://skmtc.net/workable/apis/account-root/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/workable/account-root/versions/3ead9ec42165/schema)
