Push the PBX configuration (pbx)
Push the authenticated PBX's configuration so that pending changes take effect. This is the programmatic equivalent of the "Push configuration" button in Cockpit, typically called after a number's call flow has been changed.
The target PBX is derived from the API key; there is no request body.
The presented PBX API key must carry the push_configuration
ability/scope.
Rate limit: 1 request per minute per PBX. Exceeding the limit returns
429 with a Retry-After header.
HTTP:
PbxApiKey
PBX API key, used by the customer's PBX server (e.g. for roaming login/logout)
- HTTP Authorization Scheme
bearer- Bearer format
Bearer <pbx_api_key>
accept
header · string
example:
application/jsonResponses
Configuration push recorded.
Response schema
statusstring
example:
pushedpushed_atstring
When the push was recorded, in the PBX timezone.
example:
2026-06-15 09:12:04Authorization Token Missing. This error is returned when the authorization token is missing.
Response schema
errorstring
Error message
example:
Authorization Token is missingThe presented PBX API key does not carry the required
`push_configuration` ability/scope.
Response schema
No response body.
Configuration pushes are currently locked for this PBX.
Response schema
errorstring
example:
push_configuration_lockedmessagestring
example:
Configuration pushes are currently locked for this PBX.Rate limit exceeded (max 1 push per minute per PBX). Wait `Retry-After`
seconds before retrying.
Response schema
No response body.
The push could not be recorded; retry later.
Response schema
errorstring
example:
push_failedmessagestring
example:
Could not push the configuration. Please try again later.
post
https://cockpit.voxbi.com/api/v1/push-configuration
Base URL
Request sample
curl -X POST 'https://cockpit.voxbi.com/api/v1/push-configuration' \
-H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/push-configuration', {
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/push-configuration',
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/push-configuration', false, $context);
$data = json_decode($response, true);
print_r($data);
{ … }
"status": "pushed",
"pushed_at": "2026-06-15 09:12:04"
}
{ … }
"error": "Authorization Token is missing"
}
Cache-Control
string
example:
private, must-revalidate
Connection
string
example:
keep-alive
Content-Type
string
example:
application/json
Vary
string
example:
Origin
X-RateLimit-Limit
integer
Max requests allowed in the current rate-limit window.
example:
60
X-RateLimit-Remaining
integer
Requests remaining in the current rate-limit window.
example:
57No example for this status.
{ … }
"error": "push_configuration_locked",
"message": "Configuration pushes are currently locked for this PBX."
}
No example for this status.
Retry-After
integer
Seconds to wait before the next allowed request.
example:
46
X-RateLimit-Limit
integer
Maximum requests allowed in the window (1).
example:
1
X-RateLimit-Remaining
integer
Requests remaining in the window (0 while throttled).
example:
0
X-RateLimit-Reset
integer
Unix timestamp when the window resets.
example:
1781265182{ … }
"error": "push_failed",
"message": "Could not push the configuration. Please try again later."
}