List IVRs (user, pbx)
Returns a paginated list of the calling PBX's IVR menus.
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 PBX is resolved from the token, never from the request. Only the caller's own IVRs are ever returned and no query parameter can widen that.
Shape. Read-only projection: the legacy voip_ivr_id platform mapping is
not exposed. Results are sorted by name ascending unless sort says
otherwise. The menu's buttons are opt-in through ?include=steps; the
steps key is absent from the payload otherwise.
Searching. ?search= runs a case-insensitive partial match over name
and comment, and combines with filter[...], sort and pagination. The
whole disjunction stays inside the tenant fence, so search can never reach
another PBX's menus.
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
dataarray<object>
linksobject
http://localhost/api/v1/resources?page=1http://localhost/api/v1/resources?page=1metaobject
111linksarray<object>
http://localhost/api/v1/resources?page=1first1http://localhost/api/v1/resources1511Authorization Token is missingerrorsobject
https://cockpit.voxbi.com/api/v1/ivrs
curl -X GET 'https://cockpit.voxbi.com/api/v1/ivrs' \
-H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/ivrs', {
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',
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', false, $context);
$data = json_decode($response, true);
print_r($data);
{ … }
"data": [ … ],
{ … }
"steps": [ … ]
{ … }
"links": { … },
"meta": { … }
cockpit.voxbi.comMon, 16 Oct 2023 14:08:48 GMTcloseno-cache, privateapplication/json6059Origin{ … }
private, must-revalidatekeep-aliveapplication/jsonOrigin6057{ … }
application/json{ … }
"errors": { … }
"per_page": [ … ],
"sort": [ … ]
application/json