curl --request POST \
--url https://api.absentify.com/api/v1/allowance-types \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "<string>",
"ignore_allowance_limit": false,
"translations": [
{
"language": "<string>",
"name": "<string>"
}
]
}
'import requests
url = "https://api.absentify.com/api/v1/allowance-types"
payload = {
"name": "<string>",
"ignore_allowance_limit": False,
"translations": [
{
"language": "<string>",
"name": "<string>"
}
]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
ignore_allowance_limit: false,
translations: [{language: '<string>', name: '<string>'}]
})
};
fetch('https://api.absentify.com/api/v1/allowance-types', 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/allowance-types",
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([
'name' => '<string>',
'ignore_allowance_limit' => false,
'translations' => [
[
'language' => '<string>',
'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/allowance-types"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"ignore_allowance_limit\": false,\n \"translations\": [\n {\n \"language\": \"<string>\",\n \"name\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.absentify.com/api/v1/allowance-types")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"ignore_allowance_limit\": false,\n \"translations\": [\n {\n \"language\": \"<string>\",\n \"name\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.absentify.com/api/v1/allowance-types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"ignore_allowance_limit\": false,\n \"translations\": [\n {\n \"language\": \"<string>\",\n \"name\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"default_name": "<string>",
"allowance_unit": "days",
"ignore_allowance_limit": true,
"default_rule_id": "<string>",
"default_rule_manually_managed": true,
"workspace_id": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"translations": [
{
"language": "<string>",
"name": "<string>"
}
],
"leave_types": [
{
"id": "<string>",
"name": "<string>",
"color": "<string>",
"icon": "<string>",
"deleted": true
}
]
}{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}Create an allowance type
Creates an allowance type. It starts without a rule, so nothing accrues on it until you create one via POST /allowance-types//rules. How many types a workspace may have depends on its plan.
curl --request POST \
--url https://api.absentify.com/api/v1/allowance-types \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "<string>",
"ignore_allowance_limit": false,
"translations": [
{
"language": "<string>",
"name": "<string>"
}
]
}
'import requests
url = "https://api.absentify.com/api/v1/allowance-types"
payload = {
"name": "<string>",
"ignore_allowance_limit": False,
"translations": [
{
"language": "<string>",
"name": "<string>"
}
]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
ignore_allowance_limit: false,
translations: [{language: '<string>', name: '<string>'}]
})
};
fetch('https://api.absentify.com/api/v1/allowance-types', 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/allowance-types",
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([
'name' => '<string>',
'ignore_allowance_limit' => false,
'translations' => [
[
'language' => '<string>',
'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/allowance-types"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"ignore_allowance_limit\": false,\n \"translations\": [\n {\n \"language\": \"<string>\",\n \"name\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.absentify.com/api/v1/allowance-types")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"ignore_allowance_limit\": false,\n \"translations\": [\n {\n \"language\": \"<string>\",\n \"name\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.absentify.com/api/v1/allowance-types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"ignore_allowance_limit\": false,\n \"translations\": [\n {\n \"language\": \"<string>\",\n \"name\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"default_name": "<string>",
"allowance_unit": "days",
"ignore_allowance_limit": true,
"default_rule_id": "<string>",
"default_rule_manually_managed": true,
"workspace_id": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"translations": [
{
"language": "<string>",
"name": "<string>"
}
],
"leave_types": [
{
"id": "<string>",
"name": "<string>",
"color": "<string>",
"icon": "<string>",
"deleted": true
}
]
}{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}Autorisierungen
Body
1 - 255Whether this type is counted in days or in minutes. Cannot be changed afterwards.
days, hours When true, members may book more than their balance and go negative.
Optional per-language names, shown to members using that language.
Show child attributes
Show child attributes
Returns translatable names in this language, falling back to the stored name where no translation exists. Omit it to keep the response unchanged.
en, de, fr, hu, it, pl, pt, ru, es, tr, uk Antwort
Successful response
Translated into locale when one is given, otherwise into the API key owner's language, falling back to the stored name where no translation exists.
The stored name, without any translation applied.
Whether this type is counted in days or in minutes.
days, hours When true, members may book more than their balance and go negative.
The rule a new member of this workspace is put on. A department default rule takes precedence over it.
When true, new members are managed manually unless their department selects a rule.
Show child attributes
Show child attributes
The leave types that draw from this allowance type.
Show child attributes
Show child attributes
War diese Seite hilfreich?