Skip to content

List the caller's own calendars (user)

Every calendar the caller could pick as a read source or a write destination. The Cockpit sync mirror calendar is always excluded from this list, so it can never be chosen as a preference even though it physically exists on the mailbox.

writable decides whether a calendar may be set as write_calendar_id in PUT /me/calendar/preferences; a calendar with writable: false may still be added to read_calendar_ids.

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>
accept header · string
example: application/json

Responses

Response schema
dataarray<object>
idstring
namestring
primaryboolean
writableboolean
Unauthenticated. 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
get https://cockpit.voxbi.com/api/v1/me/calendar/calendars
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/me/calendar/calendars' \
  -H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/me/calendar/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/me/calendar/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/me/calendar/calendars', false, $context);
$data = json_decode($response, true);
print_r($data);
{ … }
"data": [ … ]
{ … },
"id": "primary",
"name": "Calendar",
"primary": true,
"writable": true
},
{ … }
"id": "team@example.com",
"name": "Team Calendar",
"primary": false,
"writable": false
}
]
}
{ … }
"message": "Unauthenticated."
}
Content-Type string
example: application/json
{ … }
"message": "The calendar assistant is not enabled for this account."
}