Decline a leave request
curl --request POST \
--url https://api.plane.com/v1/leave-requests/{id}/decline \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "<string>"
}
'import requests
url = "https://api.plane.com/v1/leave-requests/{id}/decline"
payload = { "reason": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: '<string>'})
};
fetch('https://api.plane.com/v1/leave-requests/{id}/decline', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.plane.com/v1/leave-requests/{id}/decline",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reason' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.plane.com/v1/leave-requests/{id}/decline"
payload := strings.NewReader("{\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.plane.com/v1/leave-requests/{id}/decline")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.com/v1/leave-requests/{id}/decline")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "lvr_6r3wLwX44s0Ak0bDkP5n2r7Q",
"status": "declined",
"leave": {
"id": "lv_1HPCXADYAhh5k1NMU0r1WUqs",
"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"
},
"created": "2026-03-10T18:42:11Z",
"updated": "2026-03-11T09:05:52Z"
}
Leave Requests
Decline a leave request
Decline an existing leave request.
POST
/
v1
/
leave-requests
/
{id}
/
decline
Decline a leave request
curl --request POST \
--url https://api.plane.com/v1/leave-requests/{id}/decline \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "<string>"
}
'import requests
url = "https://api.plane.com/v1/leave-requests/{id}/decline"
payload = { "reason": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: '<string>'})
};
fetch('https://api.plane.com/v1/leave-requests/{id}/decline', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.plane.com/v1/leave-requests/{id}/decline",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reason' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.plane.com/v1/leave-requests/{id}/decline"
payload := strings.NewReader("{\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.plane.com/v1/leave-requests/{id}/decline")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.com/v1/leave-requests/{id}/decline")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "lvr_6r3wLwX44s0Ak0bDkP5n2r7Q",
"status": "declined",
"leave": {
"id": "lv_1HPCXADYAhh5k1NMU0r1WUqs",
"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"
},
"created": "2026-03-10T18:42:11Z",
"updated": "2026-03-11T09:05:52Z"
}
Use this endpoint when a submitted or approved leave request should be declined.
Parameters
string
required
The ID of the leave request to decline.
string
required
Explanation attached to the decline decision.
Returns
Returns the updated Leave Request object.{
"id": "lvr_6r3wLwX44s0Ak0bDkP5n2r7Q",
"status": "declined",
"leave": {
"id": "lv_1HPCXADYAhh5k1NMU0r1WUqs",
"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"
},
"created": "2026-03-10T18:42:11Z",
"updated": "2026-03-11T09:05:52Z"
}
Was this page helpful?
⌘I