Withdraw a change of a request
curl --request POST \
--url https://api.absentify.com/api/v1/requests/{id}/changes/{changeId}/withdraw \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"reason": "<string>",
"revision": 123
}
'import requests
url = "https://api.absentify.com/api/v1/requests/{id}/changes/{changeId}/withdraw"
payload = {
"reason": "<string>",
"revision": 123
}
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({reason: '<string>', revision: 123})
};
fetch('https://api.absentify.com/api/v1/requests/{id}/changes/{changeId}/withdraw', 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/{id}/changes/{changeId}/withdraw",
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([
'reason' => '<string>',
'revision' => 123
]),
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/requests/{id}/changes/{changeId}/withdraw"
payload := strings.NewReader("{\n \"reason\": \"<string>\",\n \"revision\": 123\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/requests/{id}/changes/{changeId}/withdraw")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"<string>\",\n \"revision\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.absentify.com/api/v1/requests/{id}/changes/{changeId}/withdraw")
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 \"reason\": \"<string>\",\n \"revision\": 123\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"change": {
"id": 0,
"revision": 0,
"kind": "reason",
"status": "pending",
"previous": {
"start": "<string>",
"end": "<string>",
"start_at": "morning",
"end_at": "lunchtime",
"leave_type": {
"id": "<string>",
"name": "<string>"
},
"duration": 123,
"workday_absence_duration": 123,
"reason": "<string>"
},
"proposed": {
"start": "<string>",
"end": "<string>",
"start_at": "morning",
"end_at": "lunchtime",
"leave_type": {
"id": "<string>",
"name": "<string>"
},
"duration": 123,
"workday_absence_duration": 123,
"reason": "<string>"
},
"changed_by": {
"id": "<string>",
"name": "<string>"
},
"decided_by": {
"id": "<string>",
"name": "<string>"
},
"created_at": "<string>",
"decided_at": "<string>",
"decision_reason": "<string>"
}
}{
"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": []
}Requests
Withdraw a change of a request
Withdraw the pending change of an approved request on behalf of the user who created the API token. The requester, a manager of the requester or an admin can do this. The request stays as it was. Fails with 409 when the change is no longer pending or when revision does not match the request.
POST
/
requests
/
{id}
/
changes
/
{changeId}
/
withdraw
Withdraw a change of a request
curl --request POST \
--url https://api.absentify.com/api/v1/requests/{id}/changes/{changeId}/withdraw \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"reason": "<string>",
"revision": 123
}
'import requests
url = "https://api.absentify.com/api/v1/requests/{id}/changes/{changeId}/withdraw"
payload = {
"reason": "<string>",
"revision": 123
}
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({reason: '<string>', revision: 123})
};
fetch('https://api.absentify.com/api/v1/requests/{id}/changes/{changeId}/withdraw', 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/{id}/changes/{changeId}/withdraw",
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([
'reason' => '<string>',
'revision' => 123
]),
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/requests/{id}/changes/{changeId}/withdraw"
payload := strings.NewReader("{\n \"reason\": \"<string>\",\n \"revision\": 123\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/requests/{id}/changes/{changeId}/withdraw")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"<string>\",\n \"revision\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.absentify.com/api/v1/requests/{id}/changes/{changeId}/withdraw")
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 \"reason\": \"<string>\",\n \"revision\": 123\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"change": {
"id": 0,
"revision": 0,
"kind": "reason",
"status": "pending",
"previous": {
"start": "<string>",
"end": "<string>",
"start_at": "morning",
"end_at": "lunchtime",
"leave_type": {
"id": "<string>",
"name": "<string>"
},
"duration": 123,
"workday_absence_duration": 123,
"reason": "<string>"
},
"proposed": {
"start": "<string>",
"end": "<string>",
"start_at": "morning",
"end_at": "lunchtime",
"leave_type": {
"id": "<string>",
"name": "<string>"
},
"duration": 123,
"workday_absence_duration": 123,
"reason": "<string>"
},
"changed_by": {
"id": "<string>",
"name": "<string>"
},
"decided_by": {
"id": "<string>",
"name": "<string>"
},
"created_at": "<string>",
"decided_at": "<string>",
"decision_reason": "<string>"
}
}{
"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": []
}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})$Required range:
x <= 9007199254740991Body
application/json
Was this page helpful?