Leave Management
Leave Troubleshooting
Leave statuses explained, plus a complete table of the error messages you may see when requesting, editing, approving, or cancelling leave — with causes and fixes.
This page is the reference for what each leave status means and how to resolve the errors the system can return. If you hit a message you don't recognize, search for it in the table below.
Statuses
| Status | Meaning | Counts against balance? | Notes |
|---|---|---|---|
| PENDING | Awaiting approval. | Yes | Owner can edit or cancel before it starts. |
| APPROVED | Granted. | Yes | Owner needs a cancellation request to undo it. |
| REJECTED | Declined with a reason. | No | Terminal. |
| CANCELLED | Withdrawn or cancelled. | No | Terminal. Owner self-cancel produces this status. |
| WITHDRAWN | Exists in the data model but unused. | — | Self-cancellation produces CANCELLED, not WITHDRAWN. |
Error reference
All errors return HTTP 400 unless a different status is noted. Find the message you received in the left column.
Requesting leave
| Error message | Cause | Fix |
|---|---|---|
| "End date must be after start date" | The end date is before the start date. | Set an end date on or after the start date. |
| "This leave type requires at least N days notice." | You booked inside the leave type's minimum-notice window. | Book further ahead, or ask an admin to adjust the type's notice rule. |
| "This leave type allows maximum N days per request." | The request exceeds the per-request cap. | Split into multiple shorter requests, or have an admin raise the cap. |
| "You already have a pending leave request ({type}) from … to …" | The dates overlap an existing PENDING leave. | Cancel/edit the existing request, or choose non-overlapping dates. |
| "You already have an approved leave request ({type}) from … to …" | The dates overlap an existing APPROVED leave. | Choose non-overlapping dates, or file a cancellation request for the existing leave first. |
| "Cannot book leave for this period. Dates are locked…" | The range falls in a locked/blackout period. | Pick dates outside the lock. Executives may be able to override. |
| "Insufficient {annual/sick/ | Not enough balance in the bucket. | Request fewer days, or check Leave balances and any carry-over. |
| (blocked, all non-working) | The range contains zero working days (all weekends/holidays). | Choose a range with working days. Admins/execs can override. |
Custom hours
| Error message | Cause | Fix |
|---|---|---|
| "Custom hours are only supported for single-day leaves" | Custom hours were used with a multi-day range. | Set start and end to the same day, or use full/half-day portions. |
| "Leave duration must be at least 15 minutes" | The custom window is under the 15-minute minimum. | Widen the time window to at least 15 minutes. |
| "No working schedule found for this date…" | No work schedule exists for the chosen day, so hours can't be computed. | Pick a scheduled working day, or have an admin add a schedule. |
Editing
| Error message | Cause | Fix |
|---|---|---|
| "Only pending leave requests can be edited…" | You tried to edit a leave that isn't PENDING. | For approved leave, file a cancellation request and re-book. |
Cancelling
| Error message | Cause | Fix |
|---|---|---|
| "To cancel an approved leave, submit a cancellation request for approval." | An owner tried to delete an APPROVED leave. | Submit a cancellation request instead. |
| "Cannot cancel a leave that has already started (start date: …)" | An owner tried to cancel after the leave began. | Ask a department head or admin/exec to cancel it. |
| "Cannot cancel leave with status: {X}…" | The leave is in a status that can't be cancelled (e.g. already terminal). | No action needed — it's already closed out. |
Cancellation requests
| Error message | Cause | Fix |
|---|---|---|
| "Only approved leaves can be requested for cancellation. This leave is {status}." | The leave isn't APPROVED. | If PENDING, simply cancel it; cancellation requests are only for approved leave. |
| "A cancellation request is already pending for this leave" | A request is already open. | Wait for an approver to review the existing request. |
| "Cannot request cancellation of a leave that has already ended" | The leave's end date has passed. | No action — past leave can't be reversed this way. |
| "There is no pending cancellation request for this leave" | An approver tried to decide a request that doesn't exist. | Refresh the queue; it may already be resolved. |
| "You can only request cancellation of your own leave" (403) | You filed a cancellation request for someone else's leave. | Only the owner can request cancellation. |
| "You cannot review your own cancellation request" (403) | An approver tried to review their own request. | A different approver must review it (separation of duties). |
Approving / rejecting
| Error message | Cause | Fix |
|---|---|---|
| "Leave request is already {status}" | You tried to approve/reject a non-pending leave. | Refresh the queue — someone may have already actioned it. |
| "You cannot approve/reject your own leave request" (403) | You tried to action your own request. | Another approver must handle it. |
| "You can only approve/reject requests from your department" (403) | A department head tried to action a request outside their department. | Route it to an approver in the correct department, or an admin/exec. |
Timezone note. The "already started" and "already ended" checks use the leave owner's timezone, so same-day cancellations work correctly across timezones.
Related
- Overview — concepts behind these statuses.
- Editing and cancelling — the workflows that produce these errors.
- Leave approvals — the approver side.
Editing and Cancelling Leave
Edit a pending request, cancel pending or approved leave, and use the cancellation-request flow to withdraw leave that has already been approved.
Approvals Overview
What the approvals queue is, who can approve, how department scoping works, and how notifications keep approvers and requesters in the loop.