Reschedule one of the caller's own events (user)
A patch, not a replacement: every field is sometimes, and an omitted
field is left untouched by the provider (null means "do not send", not
"clear").
attendees and online_meeting are deliberately NOT accepted here: a
reschedule must never re-notify or silently drop the invite list, or
create/remove an online-meeting link as a side effect of moving the
time.
Rate limited to 15 requests/minute (throttle:calendar-write).
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/jsonRequest body · application/json
Responses
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-hijerrorsobject
https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}
curl -X PATCH 'https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
--data '{"start":"2026-09-08T10:00:00Z","end":"2026-09-08T10:30:00Z"}'
const response = await fetch('https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${YOUR_TOKEN}`,
},
body: JSON.stringify({
"start": "2026-09-08T10:00:00Z",
"end": "2026-09-08T10:30:00Z"
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.patch('https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}',
headers={'Authorization': f'Bearer {YOUR_TOKEN}'},
json={
"start": "2026-09-08T10:00:00Z",
"end": "2026-09-08T10:30:00Z"
}
)
response.raise_for_status()
data = response.json()
print(data)
<?php
$context = stream_context_create([
'http' => [
'method' => 'PATCH',
'header' => "Content-Type: application/json\r\nAuthorization: Bearer YOUR_TOKEN",
'content' => '{
\"start\": \"2026-09-08T10:00:00Z\",
\"end\": \"2026-09-08T10:30:00Z\"
}',
],
]);
$response = file_get_contents('https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}', false, $context);
$data = json_decode($response, true);
print_r($data);
{ … }
{ … }
application/json{ … }
{ … }
{ … }
"errors": { … }
"end": [ … ]
{ … }
60application/json