Get an IVR (user, pbx)
Returns the single IVR menu identified by the path parameter.
Auth. Either a user bearer token (abilities ['*']) or an Integrations
API key carrying the ivrs scope. That same ivrs scope also covers
/ivr-steps: there is deliberately no separate ivr-steps scope. A key
without ivrs responds 403.
Tenancy. The lookup is scoped to the PBX resolved from the token, so an id belonging to ANOTHER PBX responds 404 exactly like an id that does not exist at all. The two cases are deliberately indistinguishable: the API never confirms the existence of another tenant's resource.
Shape. Read-only projection: the legacy voip_ivr_id platform mapping is
not exposed. The menu's buttons are opt-in through ?include=steps; the
steps key is absent from the payload otherwise.
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
steps application/jsonResponses
550e8400-e29b-41d4-a716-446655440000550e8400-e29b-41d4-a716-446655440001Customer Support MenuAfter-hours routing for the support line550e8400-e29b-41d4-a716-446655440002en de fr lb es it pt nl pl ru tr sv da no fi cs sk el hu ro bg hr uk ar he hi ja ko zh id ms th vi nullfrhangup repeat default_step nullrepeat2024-03-01T08:29:07.000000Z2024-03-01T08:29:07.000000Zstepsarray<object>
550e8400-e29b-41d4-a716-446655440000550e8400-e29b-41d4-a716-446655440001550e8400-e29b-41d4-a716-446655440002App\Models\CallFlow App\Models\IvrApp\Models\CallFlow550e8400-e29b-41d4-a716-446655440003Sales departmentdefault 0 1 2 3 4 5 6 7 8 9 * # null1en de fr lb es it pt nl pl ru tr sv da no fi cs sk el hu ro bg hr uk ar he hi ja ko zh id ms th vi nullfr2024-03-01T08:29:07.000000Z2024-03-01T08:29:07.000000ZAuthorization Token is missingerrorsobject
https://cockpit.voxbi.com/api/v1/ivrs/{id}
curl -X GET 'https://cockpit.voxbi.com/api/v1/ivrs/{id}' \
-H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/ivrs/{id}', {
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/ivrs/{id}',
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/ivrs/{id}', false, $context);
$data = json_decode($response, true);
print_r($data);
{ … }
"steps": [ … ]
{ … }
cockpit.voxbi.comMon, 16 Oct 2023 14:08:48 GMTcloseno-cache, privateapplication/json6059Origin{ … }
private, must-revalidatekeep-aliveapplication/jsonOrigin6057{ … }
application/json{ … }
application/json{ … }
"errors": { … }
"per_page": [ … ],
"sort": [ … ]
application/json