---
title: "Get a List of Holidays."
method: GET
path: "/api/holidays"
tags: ["Holidays"]
---

# Get a List of Holidays.

`GET /api/holidays`

## Request

- Base URL: `https://app.timetastic.co.uk` (the document declares no server; this is the origin it was published from)
- URL: `https://app.timetastic.co.uk/api/holidays`
- Auth: none declared

Query the holidays for your organisation.
There are many ways to filter the results, all of which are optional.
Results are limited to 100 per request.
            
Results are scoped to your organisation, so a filter that matches nothing — including an id
belonging to another organisation — returns an empty list rather than an error. Note the scope is
your organisation rather than your own visibility, so this can return absences for people you would
not see on a wallchart.

## Query parameters

- `DepartmentId` integer
- `LeaveTypeId` integer
- `DepartmentManagersOnly` boolean
- `MyTeamOnly` integer
- `MyFavouritesOnly` integer
- `UserIds` string
- `ExclusionUserIds` string
- `NonArchivedUsersOnly` boolean
- `Start` string, date-time
- `TransactionYear` integer
- `End` string, date-time
- `Status` 'PendingOrApproved' | 'Pending' | 'Approved' | 'Cancelled' | 'Declined' | 'Any'
- `ApproverId` integer
- `PageNumber` integer

## Response `200`

The matching holidays. An empty list if nothing matched the filter.

- TimetasticCoreModelsApiModelsHolidayListResponse: A wrapped list of holidays.
  - `holidays` TimetasticCoreModelsApiModelsHolidayApiModel[], nullable
    - `id` integer: The unique Id for this holiday
    - `dateRangeString` string, nullable: A formatted string representation of the holiday date range
    - `startDateString` string, nullable: A formatted string representation of the holiday start date
    - `endDateString` string, nullable: A formatted string representation of the holiday end date
    - `startDate` string, date-time: Start of the holiday. Use in conjunction with the start type to determine the holiday start
    - `adjustedStartDateUtc` string, date-time, nullable: UTC equivalent of the actual start of the booking period, adjusted for the organisation timezone and user work schedule. For daily bookings this reflects the start of the working day/period.
    - `startType` 'Morning' | 'Afternoon' | 'Hours': Morning - Booked for the morning of the start date Afternoon - Booked after the morning of the start date (starts at lunchtime) Hours - This is an hourly booking, use the time in the Start. - `Morning` - `Afternoon` - `Hours`
    - `endDate` string, date-time: End of the holiday. Use in conjunction with the end type to determine the holiday end
    - `adjustedEndDateUtc` string, date-time, nullable: UTC equivalent of the actual end of the booking period, adjusted for the organisation timezone and user work schedule.
    - `endType` 'Morning' | 'Afternoon' | 'Hours': Used to define the time the holiday ends: Morning - Ends after the morning of the last day (lunchtime) Afternoon - Ends at the end of the last day (whole day booked) Hours - This is an hourly booking, use the time in the Start. - `Morning` - `Afternoon` - `Hours`
    - `userId` integer: The user this leave is for
    - `userName` string, nullable: The user name this leave is for
    - `requestedById` integer: The user who requested this leave
    - `leaveTypeId` integer
    - `duration` number, double
    - `deduction` number, double
    - `actionerId` integer
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `reason` string, nullable: The reason for the holiday. Only visible if the requestor has permissions to see this
    - `declineReason` string, nullable: The reason for declining (or cancelling) the holiday. Only visible if the requestor has permissions to see this
    - `status` 'Pending' | 'Approved' | 'Cancelled' | 'Declined': The status of this holiday - `Pending` - `Approved` - `Cancelled` - `Declined`
    - `autoApproved` boolean: Whether this holiday was automatically approved (for example, if booked by an Admin user)
    - `bookingUnit` 'Days' | 'Hours': Whether the holiday was booked in day(s) or hours. - `Days` - `Hours`
    - `leaveType` string, nullable
  - `totalRecords` integer
  - `pageNumber` integer
  - `nextPageLink` string, nullable
  - `previousPageLink` string, nullable

## Other responses

- `401`: The request was not authenticated — the API token is missing or invalid.

---

[API](https://skmtc.dev/timetastic/apis/timetastic-api.md) · [All operations](https://skmtc.dev/timetastic/apis/timetastic-api/llms.txt) · [OpenAPI document](https://skmtc.dev/timetastic/apis/timetastic-api/revisions/709ccb0412c3?raw)
