Update a leave type
curl --request PUT \
--url https://api.absentify.com/api/v1/leave_types/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "<string>",
"color": "<string>",
"needs_approval": true,
"maximum_absent": true,
"position": 0,
"take_from_allowance": true,
"privacy_hide_leavetype": true,
"outlook_synchronization_subject": "<string>",
"reason_mandatory": true,
"reason_hint_text": "<string>",
"allowance_type_id": "<string>",
"counts_as_leave": true,
"allow_representative_overlap": true,
"allow_request_changes": true,
"translations": [
{
"name": "<string>"
}
]
}
'import requests
url = "https://api.absentify.com/api/v1/leave_types/{id}"
payload = {
"name": "<string>",
"color": "<string>",
"needs_approval": True,
"maximum_absent": True,
"position": 0,
"take_from_allowance": True,
"privacy_hide_leavetype": True,
"outlook_synchronization_subject": "<string>",
"reason_mandatory": True,
"reason_hint_text": "<string>",
"allowance_type_id": "<string>",
"counts_as_leave": True,
"allow_representative_overlap": True,
"allow_request_changes": True,
"translations": [{ "name": "<string>" }]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
color: '<string>',
needs_approval: true,
maximum_absent: true,
position: 0,
take_from_allowance: true,
privacy_hide_leavetype: true,
outlook_synchronization_subject: '<string>',
reason_mandatory: true,
reason_hint_text: '<string>',
allowance_type_id: '<string>',
counts_as_leave: true,
allow_representative_overlap: true,
allow_request_changes: true,
translations: [{name: '<string>'}]
})
};
fetch('https://api.absentify.com/api/v1/leave_types/{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.absentify.com/api/v1/leave_types/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'color' => '<string>',
'needs_approval' => true,
'maximum_absent' => true,
'position' => 0,
'take_from_allowance' => true,
'privacy_hide_leavetype' => true,
'outlook_synchronization_subject' => '<string>',
'reason_mandatory' => true,
'reason_hint_text' => '<string>',
'allowance_type_id' => '<string>',
'counts_as_leave' => true,
'allow_representative_overlap' => true,
'allow_request_changes' => true,
'translations' => [
[
'name' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$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.absentify.com/api/v1/leave_types/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"needs_approval\": true,\n \"maximum_absent\": true,\n \"position\": 0,\n \"take_from_allowance\": true,\n \"privacy_hide_leavetype\": true,\n \"outlook_synchronization_subject\": \"<string>\",\n \"reason_mandatory\": true,\n \"reason_hint_text\": \"<string>\",\n \"allowance_type_id\": \"<string>\",\n \"counts_as_leave\": true,\n \"allow_representative_overlap\": true,\n \"allow_request_changes\": true,\n \"translations\": [\n {\n \"name\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
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.put("https://api.absentify.com/api/v1/leave_types/{id}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"needs_approval\": true,\n \"maximum_absent\": true,\n \"position\": 0,\n \"take_from_allowance\": true,\n \"privacy_hide_leavetype\": true,\n \"outlook_synchronization_subject\": \"<string>\",\n \"reason_mandatory\": true,\n \"reason_hint_text\": \"<string>\",\n \"allowance_type_id\": \"<string>\",\n \"counts_as_leave\": true,\n \"allow_representative_overlap\": true,\n \"allow_request_changes\": true,\n \"translations\": [\n {\n \"name\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.absentify.com/api/v1/leave_types/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"needs_approval\": true,\n \"maximum_absent\": true,\n \"position\": 0,\n \"take_from_allowance\": true,\n \"privacy_hide_leavetype\": true,\n \"outlook_synchronization_subject\": \"<string>\",\n \"reason_mandatory\": true,\n \"reason_hint_text\": \"<string>\",\n \"allowance_type_id\": \"<string>\",\n \"counts_as_leave\": true,\n \"allow_representative_overlap\": true,\n \"allow_request_changes\": true,\n \"translations\": [\n {\n \"name\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body"3c90c3cc-0d44-4b50-8888-8dd25736052a"{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}Leave types
Update a leave type
Update a leave type. Omitted fields keep their current value, so a request that only sends name renames the leave type and changes nothing else.
PUT
/
leave_types
/
{id}
Update a leave type
curl --request PUT \
--url https://api.absentify.com/api/v1/leave_types/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "<string>",
"color": "<string>",
"needs_approval": true,
"maximum_absent": true,
"position": 0,
"take_from_allowance": true,
"privacy_hide_leavetype": true,
"outlook_synchronization_subject": "<string>",
"reason_mandatory": true,
"reason_hint_text": "<string>",
"allowance_type_id": "<string>",
"counts_as_leave": true,
"allow_representative_overlap": true,
"allow_request_changes": true,
"translations": [
{
"name": "<string>"
}
]
}
'import requests
url = "https://api.absentify.com/api/v1/leave_types/{id}"
payload = {
"name": "<string>",
"color": "<string>",
"needs_approval": True,
"maximum_absent": True,
"position": 0,
"take_from_allowance": True,
"privacy_hide_leavetype": True,
"outlook_synchronization_subject": "<string>",
"reason_mandatory": True,
"reason_hint_text": "<string>",
"allowance_type_id": "<string>",
"counts_as_leave": True,
"allow_representative_overlap": True,
"allow_request_changes": True,
"translations": [{ "name": "<string>" }]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
color: '<string>',
needs_approval: true,
maximum_absent: true,
position: 0,
take_from_allowance: true,
privacy_hide_leavetype: true,
outlook_synchronization_subject: '<string>',
reason_mandatory: true,
reason_hint_text: '<string>',
allowance_type_id: '<string>',
counts_as_leave: true,
allow_representative_overlap: true,
allow_request_changes: true,
translations: [{name: '<string>'}]
})
};
fetch('https://api.absentify.com/api/v1/leave_types/{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.absentify.com/api/v1/leave_types/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'color' => '<string>',
'needs_approval' => true,
'maximum_absent' => true,
'position' => 0,
'take_from_allowance' => true,
'privacy_hide_leavetype' => true,
'outlook_synchronization_subject' => '<string>',
'reason_mandatory' => true,
'reason_hint_text' => '<string>',
'allowance_type_id' => '<string>',
'counts_as_leave' => true,
'allow_representative_overlap' => true,
'allow_request_changes' => true,
'translations' => [
[
'name' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$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.absentify.com/api/v1/leave_types/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"needs_approval\": true,\n \"maximum_absent\": true,\n \"position\": 0,\n \"take_from_allowance\": true,\n \"privacy_hide_leavetype\": true,\n \"outlook_synchronization_subject\": \"<string>\",\n \"reason_mandatory\": true,\n \"reason_hint_text\": \"<string>\",\n \"allowance_type_id\": \"<string>\",\n \"counts_as_leave\": true,\n \"allow_representative_overlap\": true,\n \"allow_request_changes\": true,\n \"translations\": [\n {\n \"name\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
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.put("https://api.absentify.com/api/v1/leave_types/{id}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"needs_approval\": true,\n \"maximum_absent\": true,\n \"position\": 0,\n \"take_from_allowance\": true,\n \"privacy_hide_leavetype\": true,\n \"outlook_synchronization_subject\": \"<string>\",\n \"reason_mandatory\": true,\n \"reason_hint_text\": \"<string>\",\n \"allowance_type_id\": \"<string>\",\n \"counts_as_leave\": true,\n \"allow_representative_overlap\": true,\n \"allow_request_changes\": true,\n \"translations\": [\n {\n \"name\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.absentify.com/api/v1/leave_types/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"needs_approval\": true,\n \"maximum_absent\": true,\n \"position\": 0,\n \"take_from_allowance\": true,\n \"privacy_hide_leavetype\": true,\n \"outlook_synchronization_subject\": \"<string>\",\n \"reason_mandatory\": true,\n \"reason_hint_text\": \"<string>\",\n \"allowance_type_id\": \"<string>\",\n \"counts_as_leave\": true,\n \"allow_representative_overlap\": true,\n \"allow_request_changes\": true,\n \"translations\": [\n {\n \"name\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body"3c90c3cc-0d44-4b50-8888-8dd25736052a"{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}Authorizations
Path Parameters
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$Body
application/json
Maximum string length:
255When take_from_allowance is true, the unit follows the allowance: an hour or minute unit is saved as days for a days-based allowance, and days or half_days is saved as hours for an hours-based allowance. Switching between day and hour units is rejected while the leave type has requests that are not canceled or declined.
Available options:
days, half_days, hours, minutes_30, minutes_15, minutes_10, minutes_5, minutes_1 Required range:
-9007199254740991 <= x <= 9007199254740991Available options:
free, tentative, busy, oof, workingElsewhere, unknown Available options:
NoIcon, Umbrella, Anchor, Archive, Award, Briefcase, Calendar, Cast, Clock, Coffee, Compass, Battery, Emoji, Gift, Frown, Image, Sun, Zap, Home, Users Available options:
Disabled, All, OnlyApproved Whether pending and approved requests of this leave type can be changed.
Replaces the stored translations. Omit the field to leave them untouched.
Show child attributes
Show child attributes
Response
string<uuid> | null
Successful response
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$Was this page helpful?