Partially update a schedule
Partially updates the schedule identified by the path parameter. Requires the
schedules scope on an Integrations API key (a user bearer token also
passes).
Unlike PUT, every field is optional and anything absent from the body is
left exactly as it was: send only description to re-note a schedule without
touching its name. A field that IS present is still validated, so name
cannot be blanked. Send description: null to clear the note.
Same tenant rules as PUT: pbx_id is forced from the authenticated
principal, and another PBX's schedule responds 404 and is left untouched.
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>
API key created on the Cockpit Integrations page (an "API key" integration).
It is a bearer token owned by the customer's PBX and limited to the scopes
selected when the key was created (e.g. phone-numbers, push-configuration).
Send it in the Authorization header:
Authorization: Bearer <api_key>
Manage keys (create / reveal / revoke) from Integrations → New integration → API key.
- HTTP Authorization Scheme
bearer
application/jsonRequest body · required
Responses
550e8400-e29b-41d4-a716-446655440000550e8400-e29b-41d4-a716-446655440001Business hoursMonday to Friday, 09:00 to 18:002024-03-01T08:29:07Z2024-03-01T08:29:07Zerrorsobject
namearray<string>
descriptionarray<string>
https://cockpit.voxbi.com/api/v1/schedules/{id}
curl -X PATCH 'https://cockpit.voxbi.com/api/v1/schedules/{id}' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
--data '{"description":"Monday to Friday, 09:00 to 17:00"}'
const response = await fetch('https://cockpit.voxbi.com/api/v1/schedules/{id}', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${YOUR_TOKEN}`,
},
body: JSON.stringify({
"description": "Monday to Friday, 09:00 to 17:00"
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.patch('https://cockpit.voxbi.com/api/v1/schedules/{id}',
headers={'Authorization': f'Bearer {YOUR_TOKEN}'},
json={
"description": "Monday to Friday, 09:00 to 17:00"
}
)
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' => '{
\"description\": \"Monday to Friday, 09:00 to 17:00\"
}',
],
]);
$response = file_get_contents('https://cockpit.voxbi.com/api/v1/schedules/{id}', false, $context);
$data = json_decode($response, true);
print_r($data);
{ … }
{ … }
cockpit.voxbi.comMon, 16 Oct 2023 14:08:48 GMTcloseno-cache, privateapplication/json6059Origin{ … }
application/json{ … }
application/json{ … }
application/json{ … }
"errors": { … }
"name": [ … ]
application/json{ … }
60application/json