---
title: "Get the details of an existing time off request."
method: GET
path: "/timeoff/employees/{id}/requests/{requestId}"
tags: ["Time off requests"]
---

# Get the details of an existing time off request.

`GET /timeoff/employees/{id}/requests/{requestId}`

Retrieve the detailed info about an existing time off request.<br> <br> 
<b>Possible time off request types:</b> <ul>
  <li><b>days</b>: the request is for X days.</li>
  <li>
    <b>hours</b>: the request is for X hours during the requested day
    (supported only for policy types measured in hours).
  </li>
  <li>
    <b>portionOnRange</b>: the request is for every morning or every afternoon
    during the requested days.
  </li>
  <li>
    <b>hoursOnRange</b>: the request is for X hours every day during the
    requested days.
  </li>
  <li>
    <b>differentDayDurations</b>: the request is for a different amount of
    hours on each requested day.
  </li>
  <li>
    <b>specificHoursDayDurations</b>: the request is for specific hours per day.
  </li>
  <li>
    <b>differentSpecificHoursDayDurations</b>: the request is for different
    specific hours or portions on each day.
  </li>
  <li>
    <b>percentageOnRange</b>: the request is for X percent of every day during
    the requested days.
  </li>
  <li><b>openEnded</b>: the request does not have an end date yet.</li>
</ul> Each request type is represented by a separate schema with the relevant fields.
<p><b>Daily durations and cost:</b>This endpoint returns a full daily duration and cost breakdown for <b>all request types</b> when <code>includeDailyDurations=true</code> is provided.</p>
<p><b>Permissions required</b>: Please refer to the main <a href="https://apidocs.hibob.com/reference/time-off#required-permissions">Time off API Required Permissions</a> page. </p>

## Path parameters

- `id` string, required
- `requestId` integer, required

## Query parameters

- `includeDailyDurations` boolean

## Response `200`

success

- union
  - GetTimeoffRequestDays
    - `employeeId` string, string — Employee ID.
    - `requestId` integer — Time Off Request ID.
    - `policyTypeDisplayName` string — The policy type name returned for this request. May contain sensitive information, such as the original policy type name for `Private` policies or when the caller has permission on `Custom name` policies. When `policyTypeCustomName` is not null and differs from this value, this field contains the original policy type name, meaning the caller has permission to see it. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `createdOn` string, date-time — The date and time the time off request was created.
    - `description` string, nullable — The request description.
    - `durationUnit` 'days' | 'hours' — The unit used for the totalDuration and totalCost - either 'days' or 'hours'
    - `totalDuration` number — The total amount of time the request covers, including regular days off such as weekends
    - `totalCost` number — The amount that will be deducted from the balance
    - `status` string — Request status. This can be approved, pending, canceled, etc.
    - `hasAttachment` boolean — Whether the request has attachments
    - `attachmentLinks` object[] — Attachments with download links
      - `filename` string
      - `url` string
      - `mimeType` string
    - `reasonCode` string, nullable — The reason code taken from the policy type's reason codes list. The list is available in GET /timeoff/policy-types/{policyType}/reason-codes
    - `policyTypeCustomName` string, nullable — The custom public-facing label when the policy's `visibility` is `Custom name`; `null` for Public and Private policies. Never contains sensitive information. Always returned regardless of caller permissions. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `previousRequestId` integer, nullable — The backend-id of the previous request that was replaced when this new request was created. This occurs when the request's date or time is updated, resulting in a new time off request record.
    - `originalRequestId` integer, nullable — The backend-id of the very first time-off request. It remains unchanged regardless of updates that create new time off request records. It serves as the anchor for tracing the request's entire history back to its initial submission.
    - `approved` boolean — Whether the request is approved (and hence publicly visible).
    - `approvedBy` string, nullable — Who approved the request
    - `approvedAt` string, nullable — When the request was approved
    - `declinedBy` string, nullable — Who declined the request
    - `declinedAt` string, nullable — When the request was declined
    - `declineReason` string, nullable — Why the request was declined
    - `visibility` 'Public' | 'Private' | 'Custom name' — The request visibility either 'Public', 'Private' or 'Custom name'
    - `timeZoneOffset` string, nullable — Calculated time zone offset from GMT in ±HH:MM format (e.g., "GMT -5:00"). This field is relevant only for time-off requests which allow specifying exact start and end times (e.g., 09:00–18:00). The value is automatically calculated based on the employee's assigned site time zone.
    - `startDate` string, date — Date of the first day of the time off.
    - `startPortion` string — What portion of the first day is included - all_day, morning or afternoon (relevant for requests using the `days` type).
    - `endDate` string, date — Date of the last day of the time off.
    - `endPortion` string — What portion of the last day is included - all_day, morning or afternoon (relevant for requests using the `days` type).
    - `durations` DailyDurationsEntry[] — Daily durations of the time off request with cost per day.
      - `date` string, date — The date in the time off request range.
      - `cost` number — The cost deducted from balance for this day.
    - `type` 'days' — The type of request - <b>days</b> is when the request is for X days.<br>
  - GetTimeoffRequestHours
    - `employeeId` string, string — Employee ID.
    - `requestId` integer — Time Off Request ID.
    - `policyTypeDisplayName` string — The policy type name returned for this request. May contain sensitive information, such as the original policy type name for `Private` policies or when the caller has permission on `Custom name` policies. When `policyTypeCustomName` is not null and differs from this value, this field contains the original policy type name, meaning the caller has permission to see it. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `createdOn` string, date-time — The date and time the time off request was created.
    - `description` string, nullable — The request description.
    - `durationUnit` 'days' | 'hours' — The unit used for the totalDuration and totalCost - either 'days' or 'hours'
    - `totalDuration` number — The total amount of time the request covers, including regular days off such as weekends
    - `totalCost` number — The amount that will be deducted from the balance
    - `status` string — Request status. This can be approved, pending, canceled, etc.
    - `hasAttachment` boolean — Whether the request has attachments
    - `attachmentLinks` object[] — Attachments with download links
      - `filename` string
      - `url` string
      - `mimeType` string
    - `reasonCode` string, nullable — The reason code taken from the policy type's reason codes list. The list is available in GET /timeoff/policy-types/{policyType}/reason-codes
    - `policyTypeCustomName` string, nullable — The custom public-facing label when the policy's `visibility` is `Custom name`; `null` for Public and Private policies. Never contains sensitive information. Always returned regardless of caller permissions. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `previousRequestId` integer, nullable — The backend-id of the previous request that was replaced when this new request was created. This occurs when the request's date or time is updated, resulting in a new time off request record.
    - `originalRequestId` integer, nullable — The backend-id of the very first time-off request. It remains unchanged regardless of updates that create new time off request records. It serves as the anchor for tracing the request's entire history back to its initial submission.
    - `approved` boolean — Whether the request is approved (and hence publicly visible).
    - `approvedBy` string, nullable — Who approved the request
    - `approvedAt` string, nullable — When the request was approved
    - `declinedBy` string, nullable — Who declined the request
    - `declinedAt` string, nullable — When the request was declined
    - `declineReason` string, nullable — Why the request was declined
    - `visibility` 'Public' | 'Private' | 'Custom name' — The request visibility either 'Public', 'Private' or 'Custom name'
    - `timeZoneOffset` string, nullable — Calculated time zone offset from GMT in ±HH:MM format (e.g., "GMT -5:00"). This field is relevant only for time-off requests which allow specifying exact start and end times (e.g., 09:00–18:00). The value is automatically calculated based on the employee's assigned site time zone.
    - `date` string, date — Date of the time off (relevant for requests using the `hours` type).
    - `hoursOnDate` number — The time off duration in hours for the date (relevant for requests using the `hours` type)
    - `durations` DailyDurationsEntryWithDayDuration[] — Daily durations of the time off request with cost per day.
      - `date` string, date — The date in the time off request range.
      - `dayDuration` HoursAndMinutesDayDuration — Duration in hours and minutes for a day (relevant for `differentDayDurations` type)
        - `hours` integer, required — Number of hours
        - `minutes` integer, required — Number of minutes (must match the minimal amount of minutes in the time off policy)
        - `dayDurationType` 'hoursAndMinutesDayDuration', required — Type of day duration
      - `cost` number — The cost deducted from balance for this day.
    - `type` 'hours' — The type of request - <b>hours</b> is when the request is for X hours during the day requested (supported only for policy types measured in hours).<br>
  - GetTimeoffRequestPortionOnRange
    - `employeeId` string, string — Employee ID.
    - `requestId` integer — Time Off Request ID.
    - `policyTypeDisplayName` string — The policy type name returned for this request. May contain sensitive information, such as the original policy type name for `Private` policies or when the caller has permission on `Custom name` policies. When `policyTypeCustomName` is not null and differs from this value, this field contains the original policy type name, meaning the caller has permission to see it. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `createdOn` string, date-time — The date and time the time off request was created.
    - `description` string, nullable — The request description.
    - `durationUnit` 'days' | 'hours' — The unit used for the totalDuration and totalCost - either 'days' or 'hours'
    - `totalDuration` number — The total amount of time the request covers, including regular days off such as weekends
    - `totalCost` number — The amount that will be deducted from the balance
    - `status` string — Request status. This can be approved, pending, canceled, etc.
    - `hasAttachment` boolean — Whether the request has attachments
    - `attachmentLinks` object[] — Attachments with download links
      - `filename` string
      - `url` string
      - `mimeType` string
    - `reasonCode` string, nullable — The reason code taken from the policy type's reason codes list. The list is available in GET /timeoff/policy-types/{policyType}/reason-codes
    - `policyTypeCustomName` string, nullable — The custom public-facing label when the policy's `visibility` is `Custom name`; `null` for Public and Private policies. Never contains sensitive information. Always returned regardless of caller permissions. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `previousRequestId` integer, nullable — The backend-id of the previous request that was replaced when this new request was created. This occurs when the request's date or time is updated, resulting in a new time off request record.
    - `originalRequestId` integer, nullable — The backend-id of the very first time-off request. It remains unchanged regardless of updates that create new time off request records. It serves as the anchor for tracing the request's entire history back to its initial submission.
    - `approved` boolean — Whether the request is approved (and hence publicly visible).
    - `approvedBy` string, nullable — Who approved the request
    - `approvedAt` string, nullable — When the request was approved
    - `declinedBy` string, nullable — Who declined the request
    - `declinedAt` string, nullable — When the request was declined
    - `declineReason` string, nullable — Why the request was declined
    - `visibility` 'Public' | 'Private' | 'Custom name' — The request visibility either 'Public', 'Private' or 'Custom name'
    - `timeZoneOffset` string, nullable — Calculated time zone offset from GMT in ±HH:MM format (e.g., "GMT -5:00"). This field is relevant only for time-off requests which allow specifying exact start and end times (e.g., 09:00–18:00). The value is automatically calculated based on the employee's assigned site time zone.
    - `startDate` string, date — Date of the first day of the time off.
    - `endDate` string, date — Date of the last day of the time off.
    - `dayPortion` string — What portion of the request's days is included - morning or afternoon (relevant for requests using the `portionOnRange` type).
    - `durations` DailyDurationsEntry[] — Daily durations of the time off request with cost per day.
      - `date` string, date — The date in the time off request range.
      - `cost` number — The cost deducted from balance for this day.
    - `type` 'portionOnRange' — The type of request - <b>portionOnRange</b> is when the request is for every morning or every afternoon during the days requested.<br>
  - GetTimeoffRequestHoursOnRange
    - `employeeId` string, string — Employee ID.
    - `requestId` integer — Time Off Request ID.
    - `policyTypeDisplayName` string — The policy type name returned for this request. May contain sensitive information, such as the original policy type name for `Private` policies or when the caller has permission on `Custom name` policies. When `policyTypeCustomName` is not null and differs from this value, this field contains the original policy type name, meaning the caller has permission to see it. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `createdOn` string, date-time — The date and time the time off request was created.
    - `description` string, nullable — The request description.
    - `durationUnit` 'days' | 'hours' — The unit used for the totalDuration and totalCost - either 'days' or 'hours'
    - `totalDuration` number — The total amount of time the request covers, including regular days off such as weekends
    - `totalCost` number — The amount that will be deducted from the balance
    - `status` string — Request status. This can be approved, pending, canceled, etc.
    - `hasAttachment` boolean — Whether the request has attachments
    - `attachmentLinks` object[] — Attachments with download links
      - `filename` string
      - `url` string
      - `mimeType` string
    - `reasonCode` string, nullable — The reason code taken from the policy type's reason codes list. The list is available in GET /timeoff/policy-types/{policyType}/reason-codes
    - `policyTypeCustomName` string, nullable — The custom public-facing label when the policy's `visibility` is `Custom name`; `null` for Public and Private policies. Never contains sensitive information. Always returned regardless of caller permissions. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `previousRequestId` integer, nullable — The backend-id of the previous request that was replaced when this new request was created. This occurs when the request's date or time is updated, resulting in a new time off request record.
    - `originalRequestId` integer, nullable — The backend-id of the very first time-off request. It remains unchanged regardless of updates that create new time off request records. It serves as the anchor for tracing the request's entire history back to its initial submission.
    - `approved` boolean — Whether the request is approved (and hence publicly visible).
    - `approvedBy` string, nullable — Who approved the request
    - `approvedAt` string, nullable — When the request was approved
    - `declinedBy` string, nullable — Who declined the request
    - `declinedAt` string, nullable — When the request was declined
    - `declineReason` string, nullable — Why the request was declined
    - `visibility` 'Public' | 'Private' | 'Custom name' — The request visibility either 'Public', 'Private' or 'Custom name'
    - `timeZoneOffset` string, nullable — Calculated time zone offset from GMT in ±HH:MM format (e.g., "GMT -5:00"). This field is relevant only for time-off requests which allow specifying exact start and end times (e.g., 09:00–18:00). The value is automatically calculated based on the employee's assigned site time zone.
    - `startDate` string, date — Date of the first day of the time off.
    - `endDate` string, date — Date of the last day of the time off.
    - `dailyHours` number — The time off duration in hours for every day in the request (relevant for `hoursOnRange`).
    - `durations` DailyDurationsEntryWithDayDuration[] — Daily durations of the time off request with cost per day.
      - `date` string, date — The date in the time off request range.
      - `dayDuration` HoursAndMinutesDayDuration — Duration in hours and minutes for a day (relevant for `differentDayDurations` type)
        - `hours` integer, required — Number of hours
        - `minutes` integer, required — Number of minutes (must match the minimal amount of minutes in the time off policy)
        - `dayDurationType` 'hoursAndMinutesDayDuration', required — Type of day duration
      - `cost` number — The cost deducted from balance for this day.
    - `type` 'hoursOnRange' — The type of request - <b>hoursOnRange</b> is when the request is for X hours every day during the days requested.<br>
  - GetTimeoffRequestDifferentDayDurations
    - `employeeId` string, string — Employee ID.
    - `requestId` integer — Time Off Request ID.
    - `policyTypeDisplayName` string — The policy type name returned for this request. May contain sensitive information, such as the original policy type name for `Private` policies or when the caller has permission on `Custom name` policies. When `policyTypeCustomName` is not null and differs from this value, this field contains the original policy type name, meaning the caller has permission to see it. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `createdOn` string, date-time — The date and time the time off request was created.
    - `description` string, nullable — The request description.
    - `durationUnit` 'days' | 'hours' — The unit used for the totalDuration and totalCost - either 'days' or 'hours'
    - `totalDuration` number — The total amount of time the request covers, including regular days off such as weekends
    - `totalCost` number — The amount that will be deducted from the balance
    - `status` string — Request status. This can be approved, pending, canceled, etc.
    - `hasAttachment` boolean — Whether the request has attachments
    - `attachmentLinks` object[] — Attachments with download links
      - `filename` string
      - `url` string
      - `mimeType` string
    - `reasonCode` string, nullable — The reason code taken from the policy type's reason codes list. The list is available in GET /timeoff/policy-types/{policyType}/reason-codes
    - `policyTypeCustomName` string, nullable — The custom public-facing label when the policy's `visibility` is `Custom name`; `null` for Public and Private policies. Never contains sensitive information. Always returned regardless of caller permissions. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `previousRequestId` integer, nullable — The backend-id of the previous request that was replaced when this new request was created. This occurs when the request's date or time is updated, resulting in a new time off request record.
    - `originalRequestId` integer, nullable — The backend-id of the very first time-off request. It remains unchanged regardless of updates that create new time off request records. It serves as the anchor for tracing the request's entire history back to its initial submission.
    - `approved` boolean — Whether the request is approved (and hence publicly visible).
    - `approvedBy` string, nullable — Who approved the request
    - `approvedAt` string, nullable — When the request was approved
    - `declinedBy` string, nullable — Who declined the request
    - `declinedAt` string, nullable — When the request was declined
    - `declineReason` string, nullable — Why the request was declined
    - `visibility` 'Public' | 'Private' | 'Custom name' — The request visibility either 'Public', 'Private' or 'Custom name'
    - `timeZoneOffset` string, nullable — Calculated time zone offset from GMT in ±HH:MM format (e.g., "GMT -5:00"). This field is relevant only for time-off requests which allow specifying exact start and end times (e.g., 09:00–18:00). The value is automatically calculated based on the employee's assigned site time zone.
    - `startDate` string, date — Date of the first day of the time off.
    - `endDate` string, date — Date of the last day of the time off.
    - `durations` DailyDurationsEntryWithDayDuration[] — Array of durations for each day in the request.
      - `date` string, date — The date in the time off request range.
      - `dayDuration` HoursAndMinutesDayDuration — Duration in hours and minutes for a day (relevant for `differentDayDurations` type)
        - `hours` integer, required — Number of hours
        - `minutes` integer, required — Number of minutes (must match the minimal amount of minutes in the time off policy)
        - `dayDurationType` 'hoursAndMinutesDayDuration', required — Type of day duration
      - `cost` number — The cost deducted from balance for this day.
    - `type` 'differentDayDurations' — The type of request - <b>differentDayDurations</b> is when the request is for a different amount of hours on each of the days requested.<br>
  - GetTimeoffRequestSpecificHoursDayDurations
    - `employeeId` string, string — Employee ID.
    - `requestId` integer — Time Off Request ID.
    - `policyTypeDisplayName` string — The policy type name returned for this request. May contain sensitive information, such as the original policy type name for `Private` policies or when the caller has permission on `Custom name` policies. When `policyTypeCustomName` is not null and differs from this value, this field contains the original policy type name, meaning the caller has permission to see it. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `createdOn` string, date-time — The date and time the time off request was created.
    - `description` string, nullable — The request description.
    - `durationUnit` 'days' | 'hours' — The unit used for the totalDuration and totalCost - either 'days' or 'hours'
    - `totalDuration` number — The total amount of time the request covers, including regular days off such as weekends
    - `totalCost` number — The amount that will be deducted from the balance
    - `status` string — Request status. This can be approved, pending, canceled, etc.
    - `hasAttachment` boolean — Whether the request has attachments
    - `attachmentLinks` object[] — Attachments with download links
      - `filename` string
      - `url` string
      - `mimeType` string
    - `reasonCode` string, nullable — The reason code taken from the policy type's reason codes list. The list is available in GET /timeoff/policy-types/{policyType}/reason-codes
    - `policyTypeCustomName` string, nullable — The custom public-facing label when the policy's `visibility` is `Custom name`; `null` for Public and Private policies. Never contains sensitive information. Always returned regardless of caller permissions. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `previousRequestId` integer, nullable — The backend-id of the previous request that was replaced when this new request was created. This occurs when the request's date or time is updated, resulting in a new time off request record.
    - `originalRequestId` integer, nullable — The backend-id of the very first time-off request. It remains unchanged regardless of updates that create new time off request records. It serves as the anchor for tracing the request's entire history back to its initial submission.
    - `approved` boolean — Whether the request is approved (and hence publicly visible).
    - `approvedBy` string, nullable — Who approved the request
    - `approvedAt` string, nullable — When the request was approved
    - `declinedBy` string, nullable — Who declined the request
    - `declinedAt` string, nullable — When the request was declined
    - `declineReason` string, nullable — Why the request was declined
    - `visibility` 'Public' | 'Private' | 'Custom name' — The request visibility either 'Public', 'Private' or 'Custom name'
    - `timeZoneOffset` string, nullable — Calculated time zone offset from GMT in ±HH:MM format (e.g., "GMT -5:00"). This field is relevant only for time-off requests which allow specifying exact start and end times (e.g., 09:00–18:00). The value is automatically calculated based on the employee's assigned site time zone.
    - `startDate` string, date — Date of the first day of the time off.
    - `endDate` string, date — Date of the last day of the time off.
    - `timeZone` string — The calculated time zone name. This field applies only to time-off requests, where employees specify start and end times (e.g., 09:00–18:00). The value is automatically determined based on the time zone of the employee’s assigned site.
    - `durations` object[] — Array of durations for each day in the request. This field is relevant for `specificHoursDayDurations` requests.
      - `date` string, date — The date in the time off request range
      - `dayDuration` object — Duration for specific hours in a day (specificHoursDayDurations)
        - `localStartTime` string — Start time in HH:mm:ss format
        - `localEndTime` string — End time in HH:mm:ss format
        - `dayDurationType` 'specificHoursDayDuration' — Type of day duration
      - `cost` number — The cost deducted from balance for this day.
    - `type` 'specificHoursDayDurations' — The type of request - <b>specificHoursDayDurations</b> is when the request is for specific hours per day.<br>
  - GetTimeoffRequestDifferentSpecificHoursDayDurations
    - `employeeId` string, string — Employee ID.
    - `requestId` integer — Time Off Request ID.
    - `policyTypeDisplayName` string — The policy type name returned for this request. May contain sensitive information, such as the original policy type name for `Private` policies or when the caller has permission on `Custom name` policies. When `policyTypeCustomName` is not null and differs from this value, this field contains the original policy type name, meaning the caller has permission to see it. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `createdOn` string, date-time — The date and time the time off request was created.
    - `description` string, nullable — The request description.
    - `durationUnit` 'days' | 'hours' — The unit used for the totalDuration and totalCost - either 'days' or 'hours'
    - `totalDuration` number — The total amount of time the request covers, including regular days off such as weekends
    - `totalCost` number — The amount that will be deducted from the balance
    - `status` string — Request status. This can be approved, pending, canceled, etc.
    - `hasAttachment` boolean — Whether the request has attachments
    - `attachmentLinks` object[] — Attachments with download links
      - `filename` string
      - `url` string
      - `mimeType` string
    - `reasonCode` string, nullable — The reason code taken from the policy type's reason codes list. The list is available in GET /timeoff/policy-types/{policyType}/reason-codes
    - `policyTypeCustomName` string, nullable — The custom public-facing label when the policy's `visibility` is `Custom name`; `null` for Public and Private policies. Never contains sensitive information. Always returned regardless of caller permissions. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `previousRequestId` integer, nullable — The backend-id of the previous request that was replaced when this new request was created. This occurs when the request's date or time is updated, resulting in a new time off request record.
    - `originalRequestId` integer, nullable — The backend-id of the very first time-off request. It remains unchanged regardless of updates that create new time off request records. It serves as the anchor for tracing the request's entire history back to its initial submission.
    - `approved` boolean — Whether the request is approved (and hence publicly visible).
    - `approvedBy` string, nullable — Who approved the request
    - `approvedAt` string, nullable — When the request was approved
    - `declinedBy` string, nullable — Who declined the request
    - `declinedAt` string, nullable — When the request was declined
    - `declineReason` string, nullable — Why the request was declined
    - `visibility` 'Public' | 'Private' | 'Custom name' — The request visibility either 'Public', 'Private' or 'Custom name'
    - `timeZoneOffset` string, nullable — Calculated time zone offset from GMT in ±HH:MM format (e.g., "GMT -5:00"). This field is relevant only for time-off requests which allow specifying exact start and end times (e.g., 09:00–18:00). The value is automatically calculated based on the employee's assigned site time zone.
    - `startDate` string, date — Date of the first day of the time off.
    - `endDate` string, date — Date of the last day of the time off.
    - `timeZone` string — The calculated time zone name. This field applies only to time-off requests, where employees specify start and end times (e.g., 09:00–18:00). The value is automatically determined based on the time zone of the employee's assigned site.
    - `durations` object[] — Array of durations for each day in the request. This field is relevant for `differentSpecificHoursDayDurations` requests.
      - `date` string, date — The date in the time off request range
      - `dayDuration` union — The duration for this specific date. Each date must include exactly one of the following types: <ul> <li>SpecificHoursDayDuration.</li> <li>PortionDayDuration.</li> </ul>
        - SpecificHoursDayDuration — Defines the request by exact working hours (for example, 10:00-12:00).
          - `dayDurationType` 'specificHoursDayDuration', required — The type of day duration
          - `localStartTime` string, time, required — Start time of the duration
          - `localEndTime` string, time, required — End time of the duration
        - DiffSpecHoursPortionDayDuration — Defines the request as either the entire day (all_day) or no hours at all (vacant).
          - `dayDurationType` 'portionDayDuration', required — The type of day duration
          - `portion` 'all_day' | 'vacant', required — The portion of the day
      - `cost` number — The cost deducted from balance for this day.
    - `type` 'differentSpecificHoursDayDurations' — The type of request - <b>differentSpecificHoursDayDurations</b> is when the request is for different specific hours on each of the days requested.<br>
  - GetTimeoffRequestPercentageOnRange
    - `employeeId` string, string — Employee ID.
    - `requestId` integer — Time Off Request ID.
    - `policyTypeDisplayName` string — The policy type name returned for this request. May contain sensitive information, such as the original policy type name for `Private` policies or when the caller has permission on `Custom name` policies. When `policyTypeCustomName` is not null and differs from this value, this field contains the original policy type name, meaning the caller has permission to see it. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `createdOn` string, date-time — The date and time the time off request was created.
    - `description` string, nullable — The request description.
    - `durationUnit` 'days' | 'hours' — The unit used for the totalDuration and totalCost - either 'days' or 'hours'
    - `totalDuration` number — The total amount of time the request covers, including regular days off such as weekends
    - `totalCost` number — The amount that will be deducted from the balance
    - `status` string — Request status. This can be approved, pending, canceled, etc.
    - `hasAttachment` boolean — Whether the request has attachments
    - `attachmentLinks` object[] — Attachments with download links
      - `filename` string
      - `url` string
      - `mimeType` string
    - `reasonCode` string, nullable — The reason code taken from the policy type's reason codes list. The list is available in GET /timeoff/policy-types/{policyType}/reason-codes
    - `policyTypeCustomName` string, nullable — The custom public-facing label when the policy's `visibility` is `Custom name`; `null` for Public and Private policies. Never contains sensitive information. Always returned regardless of caller permissions. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `previousRequestId` integer, nullable — The backend-id of the previous request that was replaced when this new request was created. This occurs when the request's date or time is updated, resulting in a new time off request record.
    - `originalRequestId` integer, nullable — The backend-id of the very first time-off request. It remains unchanged regardless of updates that create new time off request records. It serves as the anchor for tracing the request's entire history back to its initial submission.
    - `approved` boolean — Whether the request is approved (and hence publicly visible).
    - `approvedBy` string, nullable — Who approved the request
    - `approvedAt` string, nullable — When the request was approved
    - `declinedBy` string, nullable — Who declined the request
    - `declinedAt` string, nullable — When the request was declined
    - `declineReason` string, nullable — Why the request was declined
    - `visibility` 'Public' | 'Private' | 'Custom name' — The request visibility either 'Public', 'Private' or 'Custom name'
    - `timeZoneOffset` string, nullable — Calculated time zone offset from GMT in ±HH:MM format (e.g., "GMT -5:00"). This field is relevant only for time-off requests which allow specifying exact start and end times (e.g., 09:00–18:00). The value is automatically calculated based on the employee's assigned site time zone.
    - `startDate` string, date — Date of the first day of the time off.
    - `endDate` string, date — Date of the last day of the time off.
    - `percentageOfDay` integer — The percent of the day requested.
    - `durations` DailyDurationsEntry[] — Daily durations of the time off request with cost per day.
      - `date` string, date — The date in the time off request range.
      - `cost` number — The cost deducted from balance for this day.
    - `type` 'percentageOnRange' — The type of request -<b>percentageOnRange</b> is when the request is for X percent of every day during the days requested.
  - GetTimeoffRequestOpenEnded
    - `employeeId` string, string — Employee ID.
    - `requestId` integer — Time Off Request ID.
    - `policyTypeDisplayName` string — The policy type name returned for this request. May contain sensitive information, such as the original policy type name for `Private` policies or when the caller has permission on `Custom name` policies. When `policyTypeCustomName` is not null and differs from this value, this field contains the original policy type name, meaning the caller has permission to see it. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `createdOn` string, date-time — The date and time the time off request was created.
    - `description` string, nullable — The request description.
    - `durationUnit` 'days' | 'hours' — The unit used for the totalDuration and totalCost - either 'days' or 'hours'
    - `totalDuration` number — The total amount of time the request covers, including regular days off such as weekends
    - `totalCost` number — The amount that will be deducted from the balance
    - `status` string — Request status. This can be approved, pending, canceled, etc.
    - `hasAttachment` boolean — Whether the request has attachments
    - `attachmentLinks` object[] — Attachments with download links
      - `filename` string
      - `url` string
      - `mimeType` string
    - `reasonCode` string, nullable — The reason code taken from the policy type's reason codes list. The list is available in GET /timeoff/policy-types/{policyType}/reason-codes
    - `policyTypeCustomName` string, nullable — The custom public-facing label when the policy's `visibility` is `Custom name`; `null` for Public and Private policies. Never contains sensitive information. Always returned regardless of caller permissions. <a href="https://apidocs.hibob.com/docs/explore-time-off-api#policy-type-names-in-api-responses">Learn more about policy type names and visibility.</a>
    - `previousRequestId` integer, nullable — The backend-id of the previous request that was replaced when this new request was created. This occurs when the request's date or time is updated, resulting in a new time off request record.
    - `originalRequestId` integer, nullable — The backend-id of the very first time-off request. It remains unchanged regardless of updates that create new time off request records. It serves as the anchor for tracing the request's entire history back to its initial submission.
    - `approved` boolean — Whether the request is approved (and hence publicly visible).
    - `approvedBy` string, nullable — Who approved the request
    - `approvedAt` string, nullable — When the request was approved
    - `declinedBy` string, nullable — Who declined the request
    - `declinedAt` string, nullable — When the request was declined
    - `declineReason` string, nullable — Why the request was declined
    - `visibility` 'Public' | 'Private' | 'Custom name' — The request visibility either 'Public', 'Private' or 'Custom name'
    - `timeZoneOffset` string, nullable — Calculated time zone offset from GMT in ±HH:MM format (e.g., "GMT -5:00"). This field is relevant only for time-off requests which allow specifying exact start and end times (e.g., 09:00–18:00). The value is automatically calculated based on the employee's assigned site time zone.
    - `startDate` string, date — Date of the first day of the time off.
    - `endDate` string, date, nullable — Date of the last day of the time off (may be null for open-ended requests).
    - `timeZone` string — The calculated time zone name. This field applies only to time-off requests, where employees specify start and end times (e.g., 09:00–18:00). The value is automatically determined based on the time zone of the employee’s assigned site.
    - `startPortion` string — What portion of the first day is included - all_day, morning or afternoon (relevant for requests using the `days`-like types).
    - `endPortion` string, nullable — What portion of the last day is included - all_day, morning or afternoon (may be null for open-ended requests).
    - `durations` DailyDurationsEntry[] — Daily durations of the time off request with cost per day.
      - `date` string, date — The date in the time off request range.
      - `cost` number — The cost deducted from balance for this day.
    - `type` 'openEnded' — The type of request - <b>openEnded</b> is when the request doesn't have an end date yet.

## Other responses

- `404` — A request with the specified ID is not found for the specified employee.

---

[API](https://skmtc.net/hibob/apis/employee-data-api.md) · [All operations](https://skmtc.net/hibob/apis/employee-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hibob/employee-data-api/revisions/0781ebbdda91/schema)
