# Urlaubsanspruch aktualisieren

`PUT https://{tenant}.stamp.eu/rest/employees/{employee}/vacation_entitlements`

Create or update a vacation entitlement for a year. Value changes are
routed through the ledger allocator as `grant` (creation) or
`adjustment` (existing) transactions so the ledger stays authoritative.

## Pfadparameter

| Name | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `employee` | string | ja | The employee ID |

## Request-Body

| Feld | Typ | Pflicht |
| --- | --- | --- |
| `year` | integer | ja |
| `total_days` | number | ja |
| `carried_over` | number | nein |
| `statutory_days` | number | nein |
| `extra_days` | number | nein |
| `carryover_expires_at` | string \| null | nein |
| `extra_expires_at` | string \| null | nein |
| `note` | string \| null | nein |

## Antworten

### 200: `VacationEntitlementResource`

| Feld | Typ | Pflicht |
| --- | --- | --- |
| `data` | object | ja |
| `data.id` | string | ja |
| `data.employee_id` | string | ja |
| `data.year` | string | ja |
| `data.total_days` | number | ja |
| `data.used_days` | number | ja |
| `data.remaining_days` | number | ja |
| `data.carried_over` | number | ja |
| `data.buckets` | object[] | ja |
| `data.buckets[].bucket` | string | ja |
| `data.buckets[].granted` | number | ja |
| `data.buckets[].used` | number | ja |
| `data.buckets[].remaining` | number | ja |
| `data.buckets[].expires_at` | string | ja |
| `data.created_at` | string | ja |
| `data.updated_at` | string | ja |

### 401: Unauthenticated

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

### 404: Not found

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

### 422: Validation error

| Feld | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `message` | string | ja | Errors overview. |
| `errors` | object | ja | A detailed description of each field that failed validation. |
