---
title: "Gets a single Employee Calendar referenced by Employee ID."
method: GET
path: "/calendar/employees/{employeeId}"
tags: ["Calendar"]
---

# Gets a single Employee Calendar referenced by Employee ID.

`GET /calendar/employees/{employeeId}`

## Request

- Base URL: `https://api.iris.co.uk/hr/v2`
- URL: `https://api.iris.co.uk/hr/v2/calendar/employees/{employeeId}`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://api.iris.co.uk/oauth2/v1/token`
- TypeScript: <https://skmtc.dev/hrapi/apis/hr-api/docs/calendar/employees/:employeeId/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `employeeId` string, required

## Query parameters

- `startDate` string, date-time, required
- `endDate` string, date-time, required
- `publicHolidays` boolean
- `workingPatterns` boolean
- `workingPatternOverrides` boolean
- `absences` boolean
- `ignoreShowOnCalendar` boolean

## Response `200`

OK

- EmployeeCalendarModel
  - `EmployeeId` string, nullable: The ID of the Employee of the Employee Calendar. Must exist in Employee Service.
  - `StartDate` string, date-time: The Start Date of the Employee Calendar.
  - `EndDate` string, date-time: The End Date of the Employee Calendar.
  - `SourceSystemId` string, nullable: Source HR System Id. Cascade Source: [Employee].[EmployeeId]
  - `SourceSystemCreatedOn` string, date-time, nullable: The date when the Employee Calendar was created in the Source HR System. Cascade Source: N/A
  - `SourceSystemLastModifiedOn` string, date-time, nullable: The date when the Employee Calendar was created or last updated in the Source HR System. Cascade Source: N/A
  - `Days` EmployeeCalendarDay[], nullable: The days of the employee calendar.
    - `Date` string, date-time: The actual date of this Employee Calendar Day.
    - `DurationDays` number, double: The duration in days for this Employee Calendar Day.
    - `DurationMinutes` integer: The duration in minutes for this Employee Calendar Day.
    - `WorkingStartTime` string, date-time, nullable: The start time of this Working Pattern Day. The date part is ignored.
    - `WorkingEndTime` string, date-time, nullable: The end time of this Working Pattern Day. The date part is ignored.
    - `WorkingDayPart` 'AM' | 'PM' | 'AllDay' | 'None': The parts of days.
    - `IsPublicHoliday` boolean: The Employee Calendar day is a Public Holiday.
    - `PublicHolidayDescription` string, nullable: The description of the Public Holiday. This is usually the location of the Public Holiday.
    - `PublicHolidayId` string, nullable
    - `WorkingPatternId` string, nullable
    - `WorkingPatternOverrideId` string, nullable
    - `AbsenceDays` EmployeeCalendarDayAbsenceDay[], nullable: The Employee Calendar day Absence Days.
      - `Id` string, nullable: The ID of the Absence Day.
      - `AbsenceId` string, nullable: The ID of the parent Absence. Must exist in the Attendance Absence Service.
      - `AbsenceReasonId` string, nullable: The ID of the Absence Reason.
      - `AbsenceReasonParentName` string, nullable: The Name of the Parent Absence Reason.
      - `EmployeeId` string, nullable: The ID of the Employee. Must exist in the Employees Service.
      - `DurationDays` number, double: The duration in days for this Absence Day.
      - `DurationMinutes` integer, nullable: The duration in minutes for this Absence Day.
      - `DayPart` 'AM' | 'PM' | 'AllDay' | 'None': The parts of days.
  - `Id` string, nullable: This ID is generated by the Iris HR platform and does not relate to the Cascade Employee ID.
  - `CreatedOn` string, date-time: The date when the Employee was created in the Iris HR platform.
  - `CreatedBy` string, nullable: Not used as the Iris HR platform has no concept of users.
  - `LastModifiedOn` string, date-time, nullable: The date when the Employee was created or last updated.
  - `LastModifiedBy` string, nullable: Not used as Iris HR platform has no concept of users.
  - `Messages` string[], nullable: Information about what data is included in the Calendar or issues when retrieving data to populate the Calendar.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found

## Changes

- **2026-10-06** `7a4734dbe370`: 56 info
  - media type `application/json; version=2` was changed to `application/json` for the response status `200`
  - media type `application/json; version=2` was changed to `application/json` for the response status `400`
  - media type `application/json; version=2` was changed to `application/json` for the response status `401`
  - media type `application/json; version=2` was changed to `application/json` for the response status `404`
  - …52 more
- **2026-08-06** `f218760c73b5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hrapi/apis/hr-api/changes/calendar/employees/:employeeId/get.md)

---

[API](https://skmtc.dev/hrapi/apis/hr-api.md) - [All operations](https://skmtc.dev/hrapi/apis/hr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hrapi/apis/hr-api/revisions/638d402d3872?raw)
