Skip to main content
POST
/
v1
/
leaves
/
{id}
/
cancel
Cancel a leave
curl --request POST \
  --url https://api.plane.com/v1/leaves/{id}/cancel \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "reason": "<string>"
}
'
{
  "id": "lv_1HPCXADYAhh5k1NMU0r1WUqs",
  "status": "cancelled",
  "type": "vacation",
  "worker": "wr_CgcLakmx4guire",
  "starts": "2026-04-14",
  "ends": "2026-04-16",
  "days": 2.5,
  "hours": 20,
  "schedule": {
    "2026-04-14": 8,
    "2026-04-15": 8,
    "2026-04-16": 4
  },
  "note": "Annual vacation",
  "request": {
    "id": "lvr_6r3wLwX44s0Ak0bDkP5n2r7Q",
    "status": "cancelled",
    "created": "2026-03-10T18:42:11Z",
    "updated": "2026-03-11T09:05:52Z"
  },
  "created": "2026-03-10T18:42:11Z",
  "updated": "2026-03-11T09:05:52Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.plane.com/llms.txt

Use this file to discover all available pages before exploring further.

Use this endpoint when an existing leave should no longer count for scheduling, balances, or payroll. Plane marks the leave as cancelled and reverses any posted or scheduled leave usage tied to it.

Parameters

id
string
required
The ID of the leave to cancel.
reason
string
Optional cancellation note attached to the leave decision.

Returns

Returns the updated Leave object.
{
  "id": "lv_1HPCXADYAhh5k1NMU0r1WUqs",
  "status": "cancelled",
  "type": "vacation",
  "worker": "wr_CgcLakmx4guire",
  "starts": "2026-04-14",
  "ends": "2026-04-16",
  "days": 2.5,
  "hours": 20,
  "schedule": {
    "2026-04-14": 8,
    "2026-04-15": 8,
    "2026-04-16": 4
  },
  "note": "Annual vacation",
  "request": {
    "id": "lvr_6r3wLwX44s0Ak0bDkP5n2r7Q",
    "status": "cancelled",
    "created": "2026-03-10T18:42:11Z",
    "updated": "2026-03-11T09:05:52Z"
  },
  "created": "2026-03-10T18:42:11Z",
  "updated": "2026-03-11T09:05:52Z"
}