List home office calendars across employees (user)
Returns virtual home office calendar entries aggregated from home_office
transactions across the tenant. Each entry groups the pending, approved, and
removed home-office days for one employee, company, and calendar year.
When the caller has permission to view other employees' home office
(resolved from the validator scope), entries for the caller's company are
returned; without a group filter the result is scoped to the caller's
company. Otherwise only the caller's own entries are returned. The response
is a plain list under data and is not paginated, even though page and
per_page are accepted as filters.
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>
user application/jsonResponses
data*array<object>
550e8400-e29b-41d4-a716-446655440000550e8400-e29b-41d4-a716-446655440001201550e8400-e29b-41d4-a716-446655440002550e8400-e29b-41d4-a716-446655440003550e8400-e29b-41d4-a716-4466554400042026mon,tue,wed,thu,frirequested_days*array<string>
2026-06-15approved_days*array<string>
2026-06-16removed_days*array<string>
2026-06-17Working from home on project deadline week2026-06-01T08:29:07+00:002026-06-10T14:12:33+00:00111userobject
550e8400-e29b-41d4-a716-446655440005201JaneSmithAuthorization Token is missingThis action is unauthorized.The given data was invalid.errorsobject
filterarray<string>
sortarray<string>
pagearray<string>
per_pagearray<string>
https://cockpit.voxbi.com/api/v1/{pbx_id}/home-office-calendars
curl -X GET 'https://cockpit.voxbi.com/api/v1/{pbx_id}/home-office-calendars' \
-H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/{pbx_id}/home-office-calendars', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${YOUR_TOKEN}`,
},
});
const data = await response.json();
console.log(data);
import requests
response = requests.get('https://cockpit.voxbi.com/api/v1/{pbx_id}/home-office-calendars',
headers={'Authorization': f'Bearer {YOUR_TOKEN}'}
)
response.raise_for_status()
data = response.json()
print(data)
<?php
$context = stream_context_create([
'http' => [
'method' => 'GET',
'header' => "Content-Type: application/json\r\nAuthorization: Bearer YOUR_TOKEN",
],
]);
$response = file_get_contents('https://cockpit.voxbi.com/api/v1/{pbx_id}/home-office-calendars', false, $context);
$data = json_decode($response, true);
print_r($data);
{ … }
private, must-revalidatekeep-aliveapplication/jsonOrigin6057{ … }
"errors": { … }
"filter": [ … ],
"sort": [ … ],
"page": [ … ],
"per_page": [ … ]
private, must-revalidatekeep-aliveapplication/jsonOrigin6057