22 endpoints

# Leave Management

Leave types, employee balances, requests, approvals, and carry-over management.

GET`/leave/types`List Leave TypesGet all leave types for the company. Returns an array (not paginated), ordered by sort_order then name.

POST`/leave/types`Create Leave TypeCreate a new leave type for the company.

PUT`/leave/types/{uuid}`Update Leave TypeUpdate an existing leave type.

DELETE`/leave/types/{uuid}`Delete Leave TypeSoft-delete a leave type. Deletion is blocked when any non-deleted leave request references it; deactivate the type instead.

PUT`/leave-types/{uuid}/carry-over`Configure Carry-over RulesSet carry-over configuration for a leave type (max days, expiry policy).

POST`/leave/run-carry-over`Run Annual Carry-overTrigger carry-over processing for a leave year. Moves unused balances to the new year respecting max carry-over rules.

GET`/employees/{uuid}/leave/balances`Get Employee Leave BalancesGet all leave balances for a specific employee in a given year.

POST`/employees/{uuid}/leave/balances`Create / Adjust Leave BalanceCreate a leave balance record or adjust entitlement for an employee.

GET`/leave/balances`All Leave BalancesGet leave balances for all employees in the company for a given year.

GET`/leave/balances/over-allocated`Over-allocated BalancesGet employees whose leave balances have been over-allocated (booked > entitlement + carry-over).

POST`/leave/balances/{uuid}/approve-override`Approve Balance OverrideApprove an over-allocation override for a balance record.

POST`/leave/balances/{uuid}/adjust-entitlement`Adjust EntitlementAdjust a leave balance entitlement (e.g. for pro-rata starters or mid-year changes).

GET`/leave/calendar`Leave CalendarGet leave requests in a date range suitable for calendar display.

GET`/leave/requests`List Leave RequestsGet leave requests scoped by the user's access level. Paginated.

POST`/leave/requests`Submit Leave RequestSubmit a new leave request. Uses abbreviated field names: start and end (not start_date/end_date).

POST`/leave/requests/ai/suggest`AI Leave SuggestionsGet AI-powered suggestions for optimal leave dates based on team availability and business patterns.

GET`/leave/requests/{uuid}`Get Leave RequestGet full details of a specific leave request.

POST`/leave/requests/{uuid}/approve`Approve Leave RequestApprove a pending leave request.

POST`/leave/requests/{uuid}/decline`Decline Leave RequestDecline a pending leave request.

POST`/leave/requests/{uuid}/cancel`Cancel Leave RequestEmployee cancels their own leave request. If cancel_requires_approval is enabled on the leave type, this sets status to cancel_pending.

POST`/leave/requests/{uuid}/approve-cancellation`Approve CancellationManager approves an employee's cancellation request.

POST`/leave/requests/{uuid}/decline-cancellation`Decline CancellationManager declines an employee's cancellation request. The leave remains approved.

---

**URL:** https://cube-hr.co.uk/docs/leave
