Poll extensions with DND, status and in-call flags (user)
Live board for every extension in the authenticated user's PBX whose extension is linked to a user: current Tempus status, sub-statuses, DND, the in-call flag and, for employees currently on leave, when they are next available.
The response is NOT a list and is NOT paginated: it is a single object keyed by
Cockpit user id, so a client can look a user up directly. Responses are cached per
PBX for a few seconds, so a change made through another endpoint (for example
POST /in-call) surfaces here within that window rather than instantly.
in_call is owned by Cockpit and comes from what the user's own client last reported
to POST /in-call. It is independent of whether the user has a running Tempus
timepoint, and a true decays to false after an hour if the hang-up is never
reported. updated_at is the status/timepoint change time, which is a different
thing from in_call_updated_at.
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>
application/jsonResponses
Authorization Token is missinghttps://cockpit.voxbi.com/api/v1/poll
curl -X GET 'https://cockpit.voxbi.com/api/v1/poll' \
-H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/poll', {
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/poll',
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/poll', false, $context);
$data = json_decode($response, true);
print_r($data);
{ … }
"550e8400-e29b-41d4-a716-446655440000": { … }
"sub_statuses": [ … ],
{ … }
cockpit.voxbi.comMon, 16 Oct 2023 14:08:48 GMTcloseno-cache, privateapplication/json6059Origin{ … }
private, must-revalidatekeep-aliveapplication/jsonOrigin6057