Get a colleague's next meeting (user)
GET only, and this route group registers no other verb, ever - see
GET /users/{user}/calendar/agenda for the full protocol note.
Requires the ListUsers permission. A cross-tenant or nonexistent
{user} both 404 identically. Sensitivity and colleague_visibility
reduction apply exactly as on the agenda read. Unlike the agenda read,
this endpoint returns the snake_case CalendarEvent model, matching
the caller's own GET /me/calendar/next.
If the colleague has not enabled the assistant, or has no upcoming
meeting, this answers 200 with the data key omitted entirely.
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
dataobject
AAMkAGI1AAAtOTU1AAA=Weekly Sync2026-09-08T09:00:00Z2026-09-08T09:30:00Zfree tentative busy oof workingElsewhere nullbusynormal personal private confidential nullnormalnone organizer tentativelyAccepted accepted declined notResponded nullacceptedattendeesarray<object>
jane.smith@example.comJane Smithrequired optionalrequirednone organizer tentativelyAccepted accepted declined notResponded nullacceptedjane.smith@example.comConference Room 2https://meet.example.com/abc-defg-hijhttps://cockpit.voxbi.com/api/v1/users/{user}/calendar/next
curl -X GET 'https://cockpit.voxbi.com/api/v1/users/{user}/calendar/next' \
-H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/users/{user}/calendar/next', {
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/users/{user}/calendar/next',
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/users/{user}/calendar/next', false, $context);
$data = json_decode($response, true);
print_r($data);
{ … }
"data": { … }
{ … }
application/json