Update a leave policy
curl --request PATCH \
--url https://api.plane.com/v1/leave-policies/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": {},
"status": "<string>",
"type": "<string>",
"effect": "<string>",
"unit": "<string>",
"eligibility": {},
"period": {},
"accrual": {},
"carryover": {},
"balance": {},
"usage": {},
"payout": {}
}
'import requests
url = "https://api.plane.com/v1/leave-policies/{id}"
payload = {
"name": "<string>",
"description": {},
"status": "<string>",
"type": "<string>",
"effect": "<string>",
"unit": "<string>",
"eligibility": {},
"period": {},
"accrual": {},
"carryover": {},
"balance": {},
"usage": {},
"payout": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: {},
status: '<string>',
type: '<string>',
effect: '<string>',
unit: '<string>',
eligibility: {},
period: {},
accrual: {},
carryover: {},
balance: {},
usage: {},
payout: {}
})
};
fetch('https://api.plane.com/v1/leave-policies/{id}', 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-policies/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => [
],
'status' => '<string>',
'type' => '<string>',
'effect' => '<string>',
'unit' => '<string>',
'eligibility' => [
],
'period' => [
],
'accrual' => [
],
'carryover' => [
],
'balance' => [
],
'usage' => [
],
'payout' => [
]
]),
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-policies/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": {},\n \"status\": \"<string>\",\n \"type\": \"<string>\",\n \"effect\": \"<string>\",\n \"unit\": \"<string>\",\n \"eligibility\": {},\n \"period\": {},\n \"accrual\": {},\n \"carryover\": {},\n \"balance\": {},\n \"usage\": {},\n \"payout\": {}\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.plane.com/v1/leave-policies/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": {},\n \"status\": \"<string>\",\n \"type\": \"<string>\",\n \"effect\": \"<string>\",\n \"unit\": \"<string>\",\n \"eligibility\": {},\n \"period\": {},\n \"accrual\": {},\n \"carryover\": {},\n \"balance\": {},\n \"usage\": {},\n \"payout\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.com/v1/leave-policies/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": {},\n \"status\": \"<string>\",\n \"type\": \"<string>\",\n \"effect\": \"<string>\",\n \"unit\": \"<string>\",\n \"eligibility\": {},\n \"period\": {},\n \"accrual\": {},\n \"carryover\": {},\n \"balance\": {},\n \"usage\": {},\n \"payout\": {}\n}"
response = http.request(request)
puts response.read_bodyLeave Policies
Update a leave policy
Update a custom leave policy.
PATCH
/
v1
/
leave-policies
/
{id}
Update a leave policy
curl --request PATCH \
--url https://api.plane.com/v1/leave-policies/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": {},
"status": "<string>",
"type": "<string>",
"effect": "<string>",
"unit": "<string>",
"eligibility": {},
"period": {},
"accrual": {},
"carryover": {},
"balance": {},
"usage": {},
"payout": {}
}
'import requests
url = "https://api.plane.com/v1/leave-policies/{id}"
payload = {
"name": "<string>",
"description": {},
"status": "<string>",
"type": "<string>",
"effect": "<string>",
"unit": "<string>",
"eligibility": {},
"period": {},
"accrual": {},
"carryover": {},
"balance": {},
"usage": {},
"payout": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: {},
status: '<string>',
type: '<string>',
effect: '<string>',
unit: '<string>',
eligibility: {},
period: {},
accrual: {},
carryover: {},
balance: {},
usage: {},
payout: {}
})
};
fetch('https://api.plane.com/v1/leave-policies/{id}', 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-policies/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => [
],
'status' => '<string>',
'type' => '<string>',
'effect' => '<string>',
'unit' => '<string>',
'eligibility' => [
],
'period' => [
],
'accrual' => [
],
'carryover' => [
],
'balance' => [
],
'usage' => [
],
'payout' => [
]
]),
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-policies/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": {},\n \"status\": \"<string>\",\n \"type\": \"<string>\",\n \"effect\": \"<string>\",\n \"unit\": \"<string>\",\n \"eligibility\": {},\n \"period\": {},\n \"accrual\": {},\n \"carryover\": {},\n \"balance\": {},\n \"usage\": {},\n \"payout\": {}\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.plane.com/v1/leave-policies/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": {},\n \"status\": \"<string>\",\n \"type\": \"<string>\",\n \"effect\": \"<string>\",\n \"unit\": \"<string>\",\n \"eligibility\": {},\n \"period\": {},\n \"accrual\": {},\n \"carryover\": {},\n \"balance\": {},\n \"usage\": {},\n \"payout\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.com/v1/leave-policies/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": {},\n \"status\": \"<string>\",\n \"type\": \"<string>\",\n \"effect\": \"<string>\",\n \"unit\": \"<string>\",\n \"eligibility\": {},\n \"period\": {},\n \"accrual\": {},\n \"carryover\": {},\n \"balance\": {},\n \"usage\": {},\n \"payout\": {}\n}"
response = http.request(request)
puts response.read_bodyParameters
The ID of the custom leave policy to update.
New human-readable policy name.
New plain-language explanation of the policy. Pass
null to clear it.New lifecycle state. One of
draft, active, or archived.New leave type, for example
vacation or sick_time_off.Whether the policy is a
set or add policy.Unit used for policy quantities. One of
days or hours.Optional CEL expression used for automatic matching against the worker resource shape. Pass
null to clear it.Updated period definition for the policy.
Updated accrual rule. Use
null for unlimited leave.Updated carryover rule. Use
null for use-it-or-lose-it.Updated balance bounds. Use
null for unlimited leave.Updated per-period usage cap.
Updated termination payout rule.
Returns
Returns the updated Leave Policy object.Was this page helpful?
⌘I