Update approvers for a member
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": []
}Members
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.
PUT
/
members
/
{id}
/
approvers
Update approvers for a member
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
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
Antwort
Successful response
The response is of type string<uuid>.
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})$War diese Seite hilfreich?