---
title: "Create a leave request"
method: POST
path: "/leave_requests"
tags: ["Leaves"]
---

# Create a leave request

`POST /leave_requests`

Creates a leave request

## Request body

- object
  - `employee_id` integer, required — The ID of an existing employee that leave request will be created for.
  - `leave_type_id` integer, required — The ID of an existing leave type that the leave request will be created for. The employee must have a policy of this leave type assigned to them.
  - `starts_on` string, date, required — The starting date of the total duration of the leave request.
  - `ends_on` string, date, required — The ending date of the total duration of the leave request.
  - `description` string — Details about the leave request (eg. reason for leave)
  - `leave_request_entries` object[]
    - `occurs_on` string, date
    - `amount` number
  - `skip_approval` boolean — If set to true, approvals for the leave type policy will be skipped and the leave request will be created as approved.

## Response `201`

Created

- LeaveRequest
  - `id` integer, required
  - `employee_id` integer, required
  - `employee` EmployeeShort — Employee short details
    - `id` integer, required
    - `first_name` string
    - `last_name` string
    - `email` string
  - `leave_type_id` integer
  - `leave_type` string, required
  - `state` 'pending' | 'approved' | 'rejected' | 'withdrawn', required
  - `amount` number, required
  - `tracking_time_in` 'hours' | 'days', required
  - `on_demand` boolean
  - `ends_on` string, date, required
  - `starts_on` string, date, required
  - `comment` string
  - `attachment_url` string — **Deprecated**: URL to attachement if provided to the leave request. This URL is temporary and will expire automatically.
  - `attachments` object[]
    - `filename` string
    - `url` string
    - `expires_at` string, date-time — Expiration of the attachment URL
  - `entries` object[]
    - `date` string, date, required
    - `amount` number, required
    - `starts_at` string, date-time
    - `ends_at` string, date-time
  - `approvals` object[]
    - `state` string
    - `assigned_to` object
      - `id` integer
      - `full_name` string
  - `leave_type_policy` object
    - `name` string, required
    - `visibility` 'private' | 'public', required
    - `activity_type` 'not_working_paid' | 'not_working_unpaid' | 'working_paid', required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

---

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