curl --request GET \
--url https://api.absentify.com/api/v1/requests_per_day \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.absentify.com/api/v1/requests_per_day"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.absentify.com/api/v1/requests_per_day', 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/requests_per_day",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.absentify.com/api/v1/requests_per_day"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.absentify.com/api/v1/requests_per_day")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.absentify.com/api/v1/requests_per_day")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"end": "<string>",
"start": "<string>",
"start_at": "morning",
"end_at": "lunchtime",
"leave_unit": "days",
"day": "<string>",
"month": "<string>",
"weekday": "<string>",
"fullday": "<string>",
"request_creator_member": {
"id": "<string>",
"custom_id": "<string>",
"name": "<string>",
"email": "<string>"
},
"leave_type": {
"name": "<string>",
"default_name": "<string>",
"id": "<string>",
"leave_unit": "days"
},
"approval_process": "Linear_all_have_to_agree",
"cancel_reason": "<string>",
"canceld_by_member": {
"id": "<string>",
"custom_id": "<string>",
"name": "<string>",
"email": "<string>"
},
"requester_member": {
"id": "<string>",
"custom_id": "<string>",
"name": "<string>",
"email": "<string>"
},
"reason": "<string>",
"take_from_allowance": true,
"allowance_type": {
"id": "<string>",
"name": "<string>",
"default_name": "<string>",
"ignore_allowance_limit": true,
"allowance_unit": "days"
},
"workday_absence_duration": 123,
"duration": 123,
"status": "<string>",
"canceld_date": "<string>",
"request_approvers": [
{
"reason": "<string>",
"status": "PENDING",
"status_changed_by_member": {
"id": "<string>",
"custom_id": "<string>",
"name": "<string>",
"email": "<string>"
},
"status_changed_date": "<string>",
"approver_member": {
"id": "<string>",
"custom_id": "<string>",
"name": "<string>",
"email": "<string>"
}
}
]
}
]{
"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": []
}Get all requests per day
Get all requests that overlap the start…end window, split into one entry per day.
The window between start and end may span at most 1826 days (5 years). Wider ranges are rejected with a 400 response, so page through longer periods in smaller windows.
curl --request GET \
--url https://api.absentify.com/api/v1/requests_per_day \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.absentify.com/api/v1/requests_per_day"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.absentify.com/api/v1/requests_per_day', 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/requests_per_day",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.absentify.com/api/v1/requests_per_day"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.absentify.com/api/v1/requests_per_day")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.absentify.com/api/v1/requests_per_day")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"end": "<string>",
"start": "<string>",
"start_at": "morning",
"end_at": "lunchtime",
"leave_unit": "days",
"day": "<string>",
"month": "<string>",
"weekday": "<string>",
"fullday": "<string>",
"request_creator_member": {
"id": "<string>",
"custom_id": "<string>",
"name": "<string>",
"email": "<string>"
},
"leave_type": {
"name": "<string>",
"default_name": "<string>",
"id": "<string>",
"leave_unit": "days"
},
"approval_process": "Linear_all_have_to_agree",
"cancel_reason": "<string>",
"canceld_by_member": {
"id": "<string>",
"custom_id": "<string>",
"name": "<string>",
"email": "<string>"
},
"requester_member": {
"id": "<string>",
"custom_id": "<string>",
"name": "<string>",
"email": "<string>"
},
"reason": "<string>",
"take_from_allowance": true,
"allowance_type": {
"id": "<string>",
"name": "<string>",
"default_name": "<string>",
"ignore_allowance_limit": true,
"allowance_unit": "days"
},
"workday_absence_duration": 123,
"duration": 123,
"status": "<string>",
"canceld_date": "<string>",
"request_approvers": [
{
"reason": "<string>",
"status": "PENDING",
"status_changed_by_member": {
"id": "<string>",
"custom_id": "<string>",
"name": "<string>",
"email": "<string>"
},
"status_changed_date": "<string>",
"approver_member": {
"id": "<string>",
"custom_id": "<string>",
"name": "<string>",
"email": "<string>"
}
}
]
}
]{
"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": []
}Autorisierungen
Abfrageparameter
Date/time in ISO 8601 format, e.g. 2026-06-01 (interpreted as UTC midnight) or 2026-06-01T09:00:00Z. Always include a time zone designator (Z for UTC) when sending a time of day. Localized formats such as 01.06.2026 or 06/01/2026 are misinterpreted and must not be used. The window between start and end may span at most 1826 days (5 years). Wider ranges are rejected with a 400 response, so page through longer periods in smaller windows.
Date/time in ISO 8601 format, e.g. 2026-06-01 (interpreted as UTC midnight) or 2026-06-01T09:00:00Z. Always include a time zone designator (Z for UTC) when sending a time of day. Localized formats such as 01.06.2026 or 06/01/2026 are misinterpreted and must not be used. The window between start and end may span at most 1826 days (5 years). Wider ranges are rejected with a 400 response, so page through longer periods in smaller windows.
PENDING, APPROVED, DECLINED, CANCELED en, de, fr, hu, it, pl, pt, ru, es, tr, uk Antwort
Successful response
For day-based leave types: whether the absence starts in the morning (the whole first day counts) or afternoon (only the second half of the first day). Ignored for hour-based leave types.
morning, afternoon For day-based leave types: whether the absence ends at lunchtime (only the first half of the last day) or end_of_day (the whole last day counts). Ignored for hour-based leave types.
lunchtime, end_of_day The unit stored on this request. It governs duration and workday_absence_duration: day and half-day units use days; hour and minute units use minutes. It may differ from leave_type.leave_unit after the leave type changes.
days, half_days, hours, minutes_30, minutes_15, minutes_10, minutes_5, minutes_1 Show child attributes
Show child attributes
Show child attributes
Show child attributes
Linear_all_have_to_agree, Linear_one_has_to_agree, Parallel_all_have_to_agree, Parallel_one_has_to_agree Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
War diese Seite hilfreich?