Submit a validation decision for an absence request (user)
Records the authenticated validator's decision (accepted or rejected) on an absence request. The user must have an employee record and be allowed to create an approval for the request. If the validator already submitted a final decision, the request is rejected with a conflict.
HTTP:
bearerAuth
User bearer token. Default authentication for customer-facing endpoints.
Obtain a token by calling POST /login with your credentials, then send it
on every subsequent request as Authorization: Bearer <token>. The token
inherits the permissions and PBX scope of the authenticated user.
- HTTP Authorization Scheme
bearer- Bearer format
Bearer <token>
pbx_id
path · string · uuid
*
UUID of the PBX tenant.
absence_request_id
path · string · uuid
*
UUID of the absence request (Tempus transaction).
Request body · required
Request schema
status*string
The validation decision for the absence request.
enum:
accepted rejectedexample:
acceptedcommentstring | null
Optional free-form note explaining the decision.
length: 0–1000
example:
Approved, please coordinate handover with the team.Responses
The validation decision was recorded.
Response schema
message*string
example:
Absence request validation created.The absence request is no longer in a pending state and cannot be validated.
Response schema
messagestring
example:
The absence request is not pending.Authorization Token Missing. This error is returned when the authorization token is missing.
Response schema
errorstring
Error message
example:
Authorization Token is missingThe authenticated user has no employee record or is not allowed to create
an approval for this absence request.
Response schema
messagestring
example:
An employee record is required to perform this action.Data Not Found. This error is returned when the requested data is not found.
Response schema
messagearray<string>
[]string
A final validation decision has already been submitted by this validator.
Response schema
messagestring
example:
This absence request has already been validated.Unprocessable Parameters. This error is returned when a parameter is not valid.
Response schema
messagestring
example:
The given data was invalid.errorsobject
filterarray<string>
[]string
sortarray<string>
[]string
pagearray<string>
[]string
per_pagearray<string>
[]string
post
https://cockpit.voxbi.com/api/v1/{pbx_id}/absence-requests/{absence_request_id}/validations
Base URL
Request sample
curl -X POST 'https://cockpit.voxbi.com/api/v1/{pbx_id}/absence-requests/{absence_request_id}/validations' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
--data '{"status":"accepted","comment":"Approved, please coordinate handover with the team."}'
const response = await fetch('https://cockpit.voxbi.com/api/v1/{pbx_id}/absence-requests/{absence_request_id}/validations', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${YOUR_TOKEN}`,
},
body: JSON.stringify({
"status": "accepted",
"comment": "Approved, please coordinate handover with the team."
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post('https://cockpit.voxbi.com/api/v1/{pbx_id}/absence-requests/{absence_request_id}/validations',
headers={'Authorization': f'Bearer {YOUR_TOKEN}'},
json={
"status": "accepted",
"comment": "Approved, please coordinate handover with the team."
}
)
response.raise_for_status()
data = response.json()
print(data)
<?php
$context = stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/json\r\nAuthorization: Bearer YOUR_TOKEN",
'content' => '{
\"status\": \"accepted\",
\"comment\": \"Approved, please coordinate handover with the team.\"
}',
],
]);
$response = file_get_contents('https://cockpit.voxbi.com/api/v1/{pbx_id}/absence-requests/{absence_request_id}/validations', false, $context);
$data = json_decode($response, true);
print_r($data);
Sample request
{ … }
"status": "accepted",
"comment": "Approved, please coordinate handover with the team."
}
No example for this status.
No example for this status.
{ … }
"error": "Authorization Token is missing"
}
Cache-Control
string
example:
private, must-revalidate
Connection
string
example:
keep-alive
Content-Type
string
example:
application/json
Vary
string
example:
Origin
X-RateLimit-Limit
integer
Max requests allowed in the current rate-limit window.
example:
60
X-RateLimit-Remaining
integer
Requests remaining in the current rate-limit window.
example:
57No example for this status.
{ … }
"message": [ … ]
"Data not found"
]
}
Cache-Control
string
example:
private, must-revalidate
Connection
string
example:
keep-alive
Content-Type
string
example:
application/json
Vary
string
example:
Origin
X-RateLimit-Limit
integer
Max requests allowed in the current rate-limit window.
example:
60
X-RateLimit-Remaining
integer
Requests remaining in the current rate-limit window.
example:
57No example for this status.
{ … }
"errors": { … }
"filter": [ … ],
"The filter field must be an array."
],
"sort": [ … ],
"The sort field must be a string."
],
"page": [ … ],
"The page field must be an integer."
],
"per_page": [ … ]
"The per page field must be an integer."
]
}
}
Cache-Control
string
example:
private, must-revalidate
Connection
string
example:
keep-alive
Content-Type
string
example:
application/json
Vary
string
example:
Origin
X-RateLimit-Limit
integer
Max requests allowed in the current rate-limit window.
example:
60
X-RateLimit-Remaining
integer
Requests remaining in the current rate-limit window.
example:
57