# Abwesenheitsanträge nach Jahr

`GET https://{tenant}.stamp.eu/rest/leave_requests/{year}`

Leave requests for a year, scoped to
the employees the requester may see (own data for regular employees,
unit + sub-units for managers, everything for admins). Absence records
include health data, so cross-employee leakage must be prevented

## Pfadparameter

| Name | Typ | Pflicht |
| --- | --- | --- |
| `year` | integer | ja |

## Antworten

### 200: Array of `LeaveRequestResource`

| Feld | Typ | Pflicht |
| --- | --- | --- |
| `data` | object[] | ja |
| `data[].id` | string | ja |
| `data[].employee_id` | string | ja |
| `data[].employee_name` | string | nein |
| `data[].type` | string | ja |
| `data[].is_half_day` | boolean | ja |
| `data[].first_day_half` | boolean | ja |
| `data[].last_day_half` | boolean | ja |
| `data[].absence_type` | object | nein |
| `data[].absence_type.id` | string | ja |
| `data[].absence_type.slug` | string | ja |
| `data[].absence_type.name` | string | ja |
| `data[].absence_type.color` | string | ja |
| `data[].absence_type.icon` | string | ja |
| `data[].absence_type.is_system` | string | ja |
| `data[].absence_type.category` | string | ja |
| `data[].absence_type.unit` | string | ja |
| `data[].absence_type.half_day_allowed` | string | ja |
| `data[].absence_type.affects_vacation` | string | ja |
| `data[].absence_type.target_work_factor` | number | ja |
| `data[].absence_type.working_time_flag` | string | ja |
| `data[].absence_type.requires_approval` | string | ja |
| `data[].absence_type.is_paid` | string | ja |
| `data[].absence_type.certificate_required` | string | ja |
| `data[].absence_type.certificate_deadline_days` | string | ja |
| `data[].absence_type.substitute_option` | string | ja |
| `data[].absence_type.count_weekdays_only` | string | ja |
| `data[].absence_type.is_active` | string | ja |
| `data[].absence_type.sort_order` | string | ja |
| `data[].status` | string | ja |
| `data[].start_date` | string | ja |
| `data[].end_date` | string | ja |
| `data[].business_days` | number | ja |
| `data[].calculated_days` | number | ja |
| `data[].hours` | number \| null | ja |
| `data[].valuation_mode` | string | ja |
| `data[].days` | string | nein |
| `data[].valued_total` | string \| null | nein |
| `data[].bucket_allocation` | string | nein |
| `data[].reason` | string | ja |
| `data[].substitute` | object \| null | nein |
| `data[].substitute.id` | string | ja |
| `data[].substitute.name` | string | ja |
| `data[].substitute_status` | string | ja |
| `data[].substitute_responded_at` | string | ja |
| `data[].decided_by` | string | ja |
| `data[].decided_by_name` | string \| null | nein |
| `data[].decided_at` | string | ja |
| `data[].decision_note` | string | ja |
| `data[].created_at` | string | ja |
| `data[].updated_at` | string | ja |
| `data[].can_withdraw` | string | ja |
| `data[].withdraw_blocked_reason` | string | ja |

### 401: Unauthenticated

| Feld | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `message` | string | ja | Error overview. |
