Subscribe to a read-only calendar feed
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>
Request body · required · application/json
Request schema
url*string · uri
example:
https://example.com/private.icsname*string
length: 0–120
example:
Holidayscolor*string
example:
blueResponses
Subscription created
Response schema
id*string · uuid
name*string
color*string
enum:
teal cyan blue indigo magenta pink rose red orange amber brown olive green slateisVisible*boolean
maskedUrl*string
example:
example.com…lastSuccessfulRefreshAt*string | null · date-time
lastAttemptAt*string | null · date-time
status*string
enum:
ok stale failingerrorCode*string | null
enum:
invalid_url unreachable needs_sign_in not_a_calendar too_large nullThe feed cannot be used, the 20 subscription limit is reached, or the feed is already subscribed. Field validation failures use the Laravel shape {message, errors} instead.
Response schema
errorCode*string
enum:
invalid_url unreachable needs_sign_in not_a_calendar too_large limit_reached duplicateToo many feed requests, retry later
Response schema
No response body.
post
https://cockpit.voxbi.com/api/v1/calendar-subscriptions
Base URL
Request sample
curl -X POST 'https://cockpit.voxbi.com/api/v1/calendar-subscriptions' \
-H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/calendar-subscriptions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${YOUR_TOKEN}`,
},
});
const data = await response.json();
console.log(data);
import requests
response = requests.post('https://cockpit.voxbi.com/api/v1/calendar-subscriptions',
headers={'Authorization': f'Bearer {YOUR_TOKEN}'}
)
response.raise_for_status()
data = response.json()
print(data)
<?php
$context = stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/json\r\nAuthorization: Bearer YOUR_TOKEN",
],
]);
$response = file_get_contents('https://cockpit.voxbi.com/api/v1/calendar-subscriptions', false, $context);
$data = json_decode($response, true);
print_r($data);
Sample request
No request example provided.
No example for this status.
{ … }
"errorCode": "limit_reached"
}
No example for this status.