# Leaves

Manage leave requests, balances, and policies

 - [GET /leaves](https://api-docs.webwork-tracker.com/api/leaves/getleaves.md): Retrieve all leave requests for a specific workspace. Requires workspace_id as query parameter.
 - [POST /leaves](https://api-docs.webwork-tracker.com/api/leaves/createleaverequest.md): Create a leave request for a member against a policy. **Soft-deleted policies:** a deleted policy is normally not requestable and returns `404 Leave policy not found.`. The one exception is a **monthl
 - [GET /leaves/balances](https://api-docs.webwork-tracker.com/api/leaves/getleavebalances.md): Per-member remaining balance for each leave policy in the period. **Soft-deleted monthly policies:** a deleted **monthly** policy a member still has positive earned (accrued) balance for is included,
 - [GET /leaves/policies](https://api-docs.webwork-tracker.com/api/leaves/getleavepolicies.md): Workspace leave policies requestable in this workspace. Each policy's `balance_schedule` is one of `annually`, `monthly`, or `hired-date based`. **Soft-deleted monthly policies:** a deleted **monthly*
 - [GET /leaves/{leaveRequestId}](https://api-docs.webwork-tracker.com/api/leaves/getleave.md): Retrieve a single leave request, including approval steps on multi-level approval workspaces. Same item shape as `GET /leaves`. Requires workspace owner or executive manager permissions.
 - [PUT /leaves/{leaveRequestId}/approve](https://api-docs.webwork-tracker.com/api/leaves/approveleaverequest.md): Approve a pending leave request. **Multi-level workspaces:** approval is sequential and role-gated, exactly like the web app. A request must be approved level by level (level 1, then level 2, …); each
 - [PUT /leaves/{leaveRequestId}/reject](https://api-docs.webwork-tracker.com/api/leaves/rejectleaverequest.md): Reject a pending leave request. A `reason` is required. **Multi-level workspaces:** rejection is role-gated like approval — you may only reject the **current** pending level, and only if its configure
