curl --request PUT \
--url https://api.absentify.com/api/v1/members/{id}/approvers \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"approvers": [
{
"member_id": "<string>",
"predecessor_manager_id": "<string>"
}
]
}
'import requests
url = "https://api.absentify.com/api/v1/members/{id}/approvers"
payload = { "approvers": [
{
"member_id": "<string>",
"predecessor_manager_id": "<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({approvers: [{member_id: '<string>', predecessor_manager_id: '<string>'}]})
};
fetch('https://api.absentify.com/api/v1/members/{id}/approvers', 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/members/{id}/approvers",
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([
'approvers' => [
[
'member_id' => '<string>',
'predecessor_manager_id' => '<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/members/{id}/approvers"
payload := strings.NewReader("{\n \"approvers\": [\n {\n \"member_id\": \"<string>\",\n \"predecessor_manager_id\": \"<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/members/{id}/approvers")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"approvers\": [\n {\n \"member_id\": \"<string>\",\n \"predecessor_manager_id\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.absentify.com/api/v1/members/{id}/approvers")
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 \"approvers\": [\n {\n \"member_id\": \"<string>\",\n \"predecessor_manager_id\": \"<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": []
}Update approvers for a member
This endpoint allows updating the approvers for a specific member based on the chosen approval process. Depending on the provided configuration:
- If Microsoft profile managers are used, department and custom approvers are ignored.
- If department settings are used, Microsoft profile managers and custom approvers are ignored.
- If custom approvers are provided, Microsoft profile managers and department settings are ignored.
No Approver (Self-Approval):
To set “no approver” for a member, provide an empty array: approvers: [].
The system will automatically configure the member as their own approver (self-approval),
which is internally recognized as “no approver” throughout the application.
The ‘id’ and ‘approval_process’ fields are always required.
When Microsoft profile managers are used, this call returns 503 while the Microsoft directory is unavailable. That condition is temporary, so the request may be retried.
curl --request PUT \
--url https://api.absentify.com/api/v1/members/{id}/approvers \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"approvers": [
{
"member_id": "<string>",
"predecessor_manager_id": "<string>"
}
]
}
'import requests
url = "https://api.absentify.com/api/v1/members/{id}/approvers"
payload = { "approvers": [
{
"member_id": "<string>",
"predecessor_manager_id": "<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({approvers: [{member_id: '<string>', predecessor_manager_id: '<string>'}]})
};
fetch('https://api.absentify.com/api/v1/members/{id}/approvers', 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/members/{id}/approvers",
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([
'approvers' => [
[
'member_id' => '<string>',
'predecessor_manager_id' => '<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/members/{id}/approvers"
payload := strings.NewReader("{\n \"approvers\": [\n {\n \"member_id\": \"<string>\",\n \"predecessor_manager_id\": \"<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/members/{id}/approvers")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"approvers\": [\n {\n \"member_id\": \"<string>\",\n \"predecessor_manager_id\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.absentify.com/api/v1/members/{id}/approvers")
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 \"approvers\": [\n {\n \"member_id\": \"<string>\",\n \"predecessor_manager_id\": \"<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": []
}Autorisierungen
Pfadparameter
^([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
Linear_all_have_to_agree, Linear_one_has_to_agree, Parallel_all_have_to_agree, Parallel_one_has_to_agree, Parallel_first_response_decides Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Antwort
Successful response
The response is of type string<uuid>.
^([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})$War diese Seite hilfreich?