Get one of the caller's own events (user)
A single event on the caller's own mailbox. There is no colleague
equivalent by design: /users/{user}/calendar exposes only the two
roster-level reads (agenda, next meeting), never a single-event lookup,
which would let a caller enumerate ids that are not theirs.
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>
event
path · string
*
Provider-native event id.
accept
header · string
example:
application/jsonResponses
Response schema
dataobject
A single calendar event, normalised away from whichever provider (Microsoft
or Google) produced it. This is the shape returned by `GET
/me/calendar/events/{event}`, `POST /me/calendar/events`, `PATCH
/me/calendar/events/{event}`, `GET /me/calendar/next` and `GET
/users/{user}/calendar/next`.
**Not the shape of `GET /me/calendar/agenda` or `GET
/users/{user}/calendar/agenda`.** Those two endpoints currently serialise
the underlying event data directly (camelCase field names, e.g.
`seriesMasterId` instead of `series_master_id`), while every other
endpoint on this page goes through this snake_case model. This is a known,
tracked inconsistency in the API today, not a documentation error; see the
`agenda` operations for the exact camelCase shape they return.
id*string
Provider-native event id. Opaque; do not parse it.
example:
AAMkAGI1AAAtOTU1AAA=deleted*boolean
True when the provider is reporting this event as removed. A deleted
event carries no other field but `id` (and `calendar_id`, if known) -
every other field is absent rather than stale.
example:
series_master_idstring | null
Id of the recurring series this event belongs to, or null for a non-recurring event.
subjectstring | null
Event title. Null when the provider did not say.
example:
Weekly Syncstartstring | null · date-time
Start time, always UTC regardless of the mailbox's own timezone.
example:
2026-09-08T09:00:00Zendstring | null · date-time
End time, always UTC regardless of the mailbox's own timezone.
example:
2026-09-08T09:30:00Zis_all_day*boolean
example:
is_cancelled*boolean
True when the organizer cancelled the event (distinct from `deleted`, a tombstone).
example:
show_asstring | null
How the event presents the owner's availability. Null when the provider did not say.
enum:
free tentative busy oof workingElsewhere nullexample:
busysensitivitystring | null
How private the owner marked the event. Null when the provider did not say.
enum:
normal personal private confidential nullexample:
normalresponsestring | null
The mailbox owner's own answer to the invitation.
enum:
none organizer tentativelyAccepted accepted declined notResponded nullexample:
acceptedcalendar_idstring | null
Which calendar the event came from. Null means the mailbox's primary calendar.
attendeesarray<object>
Invitees. Null when the provider did not say (never an empty array
standing in for "no attendees", which is itself a distinct fact).
emailstring · email
example:
jane.smith@example.comnamestring | null
example:
Jane Smithtypestring
enum:
required optionalexample:
requiredresponsestring | null
enum:
none organizer tentativelyAccepted accepted declined notResponded nullexample:
acceptedorganizer_emailstring | null · email
example:
jane.smith@example.comlocationstring | null
example:
Conference Room 2online_meetingstring | null
Provider-native online-meeting join URL. Null when the event has none.
example:
https://meet.example.com/abc-defg-hijUnauthenticated. The `Authorization: Bearer <token>` header was missing,
malformed, or names a token that has been revoked or deleted.
Response schema
messagestring
The calendar assistant is not enabled for this account. Returned when there
is no `user_provider_mappings` row for the caller carrying the assistant
capability, or the capability is present but switched off. There is
deliberately no fallback to "assume Microsoft" here, unlike other
capabilities on the same table.
Response schema
messagestring
The event id does not resolve on this mailbox.
Response schema
messagestring
get
https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}' \
-H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}', {
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/me/calendar/events/{event}',
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/me/calendar/events/{event}', false, $context);
$data = json_decode($response, true);
print_r($data);
No example for this status.
{ … }
"message": "Unauthenticated."
}
Content-Type
string
example:
application/json{ … }
"message": "The calendar assistant is not enabled for this account."
}
{ … }
"message": "This event no longer exists."
}