Voxbi Cockpit APIs
All endpoints

Get a Pbx

Returns the pbx identified by the path parameter. Multi-tenant scoping is enforced: the caller can only fetch resources within their own PBX.

No authentication required
id path · string · uuid *
accept header · string
example: application/json

Responses

Response schema
id*string · uuid
Unique identifier of the Pbx tenant.
read-only
example: 550e8400-e29b-41d4-a716-446655440000
partner_idstring | null · uuid
Identifier of the partner (reseller) that manages this Pbx, or null if managed directly.
example: 550e8400-e29b-41d4-a716-446655440001
customer_idstring | null · uuid
Identifier of the customer record linked to this Pbx, or null if none is linked.
example: 550e8400-e29b-41d4-a716-446655440002
default_carrier_idstring | null · uuid
Identifier of the default outbound SIP carrier used for external calls.
example: 550e8400-e29b-41d4-a716-446655440003
fallback_carrier_idstring | null · uuid
Identifier of the fallback SIP carrier used when the default carrier is unreachable.
example: 550e8400-e29b-41d4-a716-446655440004
default_internal_call_flow_idstring | null · uuid
Call flow applied to internal calls that have no more specific routing.
example: 550e8400-e29b-41d4-a716-446655440005
default_external_call_flow_idstring | null · uuid
Call flow applied to external calls that have no more specific routing.
example: 550e8400-e29b-41d4-a716-446655440006
no_ext_match_callflow_idstring | null · uuid
Call flow used when an inbound call matches no extension on the Pbx.
example: 550e8400-e29b-41d4-a716-446655440007
profile_idinteger | null · int64
Legacy numeric profile identifier carried over from the previous platform.
example: 42
name*string
Human-readable display name of the Pbx tenant.
length: 0–64
example: Acme Corp
instance_name*string
Internal instance slug, unique across the platform and used to build deployment hostnames.
length: 0–50
example: pbx16dev
trunk_usernamestring | null
SIP trunk authentication username.
length: 0–64
example: trunk_acme
commentstring | null
Free-form internal comment about the Pbx.
length: 0–255
example: Migrated from legacy platform in March
reserved_extensionsstring
Comma-separated list of extension numbers reserved from automatic assignment. Stored internally as JSON but always returned as a comma-and-space joined string (empty string when none are reserved).
example: 112, 113, 911
emergencyboolean
Whether emergency-call handling is enabled for this Pbx.
example:
automatic_firmwareboolean
Whether managed device firmware updates are applied automatically.
example: 1
default_call_pickups_for_new_extensionsboolean
Whether newly created extensions get call-pickup enabled by default.
example: 1
allow_roamingboolean
Whether users may hot-desk (roam) between SIP devices.
example: 1
phones_default_vlan_pcinteger | null · int32
Default VLAN id assigned to the PC pass-through port on managed phones.
example: 200
phones_default_vlan_phoneinteger | null · int32
Default VLAN id assigned to the voice interface on managed phones.
example: 100
phones_web_admin_passwordstring
Administrative password for the web interface of managed phones. Accepted in write requests but never returned (listed in the model `$hidden`).
write-only
lldpboolean
Whether Link Layer Discovery Protocol is enabled on managed phones.
example: 1
show_users_first_name_firstboolean
Whether user display names are formatted with the first name before the last name.
example: 1
capitalize_users_last_nameboolean
Whether user last names are rendered in uppercase.
example:
allow_call_recordingboolean
Whether call recording is enabled tenant-wide.
example:
allow_changing_record_callsboolean
Whether users may override the per-call recording behaviour.
example:
recordings_destinationstring
Where call recordings are stored.
enum: mixvoip customer
example: mixvoip
recording_start_atstring
At which point recording begins within a call.
enum: on_start on_bridge
example: on_start
user_provisioning_keystring
Secret key used to authenticate the user-provisioning API. Accepted in write requests but never returned (listed in the model `$hidden`).
write-only
user_provisioning_ip_addressesarray<string>
Allow-list of IP addresses permitted to call the user-provisioning API. Accepted in write requests but never returned (listed in the model `$hidden`).
write-only
[]string
it_admin_notification_emailstring | null · email
Email address that receives IT administrator notifications for this Pbx.
length: 0–255
example: it@example.com
impersonation_tokenstring
Token used by support staff to impersonate the tenant. Accepted in write requests but never returned (listed in the model `$hidden`).
write-only
force_provisioning_syncstring | null · date-time
Timestamp marking when a full provisioning re-sync was last forced. Returned as a string.
example: 2024-03-01T08:29:07Z
push_configurationstring | null · date-time
Timestamp of the last configuration push request. Returned as a string.
example: 2024-03-01T08:29:07Z
push_contactstring | null · date-time
Timestamp of the last contact-data push request. Returned as a string.
example: 2024-03-01T08:29:07Z
push_requiredboolean
Whether the Pbx has pending configuration changes that still need to be pushed to the server.
example:
push_check_pendingboolean
Whether a configuration-push status check is currently in progress.
example:
push_check_requested_atstring | null · date-time
Timestamp when the most recent push status check was requested.
example: 2024-03-01T08:29:07Z
push_required_countinteger · int32
Number of configuration changes that require a push to the server.
example: 0
push_other_countinteger · int32
Number of non-critical pending changes tracked alongside required pushes.
example: 0
server_push_datestring | null · date-time
Timestamp of the last successful configuration push applied on the server. Returned as a string.
example: 2024-03-01T08:29:07Z
contact_push_datestring | null · date-time
Timestamp of the last successful contact-data push applied on the server. Returned as a string.
example: 2024-03-01T08:29:07Z
last_config_updatestring | null · date-time
Timestamp of the last configuration change made to the Pbx.
example: 2024-03-01T08:29:07Z
tenant_idstring | null
External tenant identifier (for example the Microsoft Entra tenant id).
example: 550e8400-e29b-41d4-a716-446655440099
sso_enabledboolean
Whether single sign-on is enabled for this Pbx.
example:
sso_typestring | null
Single sign-on scheme in use, or null when SSO is disabled.
enum: openid_connect microsoft
example: openid_connect
allow_sign_up_with_ssoboolean
Whether new users may self-register through SSO.
example:
force_sign_in_with_ssoboolean
Whether password sign-in is blocked and SSO is mandatory.
example:
max_incoming_channelsinteger | null · int32
Maximum number of simultaneous inbound channels permitted on this Pbx.
example: 50
max_incoming_channels_sound_file_idstring | null · uuid
Identifier of the SoundFile played to callers when the inbound channel limit is reached.
example: 550e8400-e29b-41d4-a716-446655440008
music_on_hold_idstring | null · uuid
Identifier of the SoundFile used as the default music on hold.
example: 550e8400-e29b-41d4-a716-446655440009
api_keystring
Secret API key for the Pbx, used for provisioning authentication. Accepted in write requests but never returned (listed in the model `$hidden`).
write-only
sso_identity_fields_mappingobject | null
Mapping from internal user fields to the SSO claim names that supply their values. Returns null when SSO field mapping is not configured.
example: {"first_name":"given_name","last_name":"family_name","email":"email"}
default_call_ring_durationinteger · int32
Default ring duration in seconds applied across the Pbx.
example: 30
enable_soop_statusboolean
Whether the SOOP (status) presence feature is enabled for this Pbx.
example: 1
ai_profilestring | null
Selected AI capability profile that determines which AI features are available and how they behave. Null when no AI profile is assigned.
enum: basic premium unlimited
example: premium
ai_engine_statusboolean
Whether the AI engine (transcription and summaries) is enabled for this Pbx.
example:
transcript_retention_daysinteger | null · int32
Number of days AI call transcripts are retained before deletion.
example: 30
last_ai_engine_status_activity_checkstring | null · date-time
Timestamp of the last AI engine activity status check.
example: 2024-03-01T08:29:07Z
ring_tonestring
Country code selecting the ringtone profile used by managed phones.
enum: lu de fr be nl us uk pt ch at it es bg za
example: lu
show_all_users_in_voxbiboolean
Whether all tenant users are visible in the Voxbi softphone directory.
example: 1
split_internal_external_callsboolean
Whether internal and external calls are presented and routed separately.
example:
call_block_logged_out_sip_devicesboolean
Whether outbound calls are blocked on SIP devices whose user is logged out.
example: 1
show_via_in_missed_callboolean
Whether the "via" routing information is shown on missed-call notifications.
example:
enable_tempus_menuboolean
Whether the Tempus time and attendance module menu is visible to this tenant.
example: 1
languagestring
Default UI language for the Pbx.
enum: en de fr
example: en
estimated_usersinteger · int32
Estimated number of billable users on this Pbx.
example: 25
estimated_sip_devicesinteger · int32
Estimated number of billable SIP devices on this Pbx.
example: 30
multicast_sites_ip_addressesarray<string>
IP addresses of the Mikrotik routers used for multicast paging, or null when none are configured.
[]string
flagsobject | null
Free-form feature-flag bag for tenant-specific opt-ins. Null when no flags are set.
example: {"beta_dashboard":true}
created_atstring | null · date-time
Timestamp when the Pbx was created.
read-only
example: 2024-03-01T08:29:07Z
updated_atstring | null · date-time
Timestamp when the Pbx was last updated.
read-only
example: 2024-03-01T08:29:07Z
deleted_atstring | null · date-time
Timestamp when the Pbx was soft-deleted, or null if active.
read-only
Authorization Token Missing. This error is returned when the authorization token is missing.
Response schema
errorstring
Error message
example: Authorization Token is missing
Data Not Found. This error is returned when the requested data is not found.
Response schema
messagearray<string>
[]string
Server error. An unexpected condition was encountered on the server and the request could not be completed. The body is a generic JSON envelope with a `message` field. The response is logged on the server side; quote the request URL + timestamp when reporting an issue.
Response schema
messagestring
exceptionstring
Only present in non-production environments.
filestring
Only present in non-production environments.
lineinteger
Only present in non-production environments.
get https://cockpit.voxbi.com/api/v1/pbxes/{id}
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/pbxes/{id}'
const response = await fetch('https://cockpit.voxbi.com/api/v1/pbxes/{id}', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
import requests

response = requests.get('https://cockpit.voxbi.com/api/v1/pbxes/{id}')
response.raise_for_status()
data = response.json()
print(data)
<?php
$context = stream_context_create([
    'http' => [
        'method'  => 'GET',
        'header'  => "Content-Type: application/json",
    ],
]);

$response = file_get_contents('https://cockpit.voxbi.com/api/v1/pbxes/{id}', false, $context);
$data = json_decode($response, true);
print_r($data);
{}
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Acme Corp",
"instance_name": "pbx16dev",
"partner_id": "550e8400-e29b-41d4-a716-446655440001",
"customer_id": "550e8400-e29b-41d4-a716-446655440002",
"profile_id": 42,
"default_carrier_id": "550e8400-e29b-41d4-a716-446655440003",
"fallback_carrier_id": "550e8400-e29b-41d4-a716-446655440004",
"default_internal_call_flow_id": "550e8400-e29b-41d4-a716-446655440005",
"default_external_call_flow_id": "550e8400-e29b-41d4-a716-446655440006",
"no_ext_match_callflow_id": "550e8400-e29b-41d4-a716-446655440007",
"default_call_flow_id": "550e8400-e29b-41d4-a716-446655440008",
"default_caller_id": "+12125550100",
"music_on_hold_id": "550e8400-e29b-41d4-a716-446655440009",
"max_incoming_channels": 50,
"max_incoming_channels_sound_file_id": "550e8400-e29b-41d4-a716-446655440000",
"trunk_username": "trunk_acme",
"reserved_extensions": "00, 11",
"emergency": true,
"automatic_firmware": true,
"default_call_pickups_for_new_extensions": true,
"allow_roaming": true,
"phones_default_vlan_pc": 200,
"phones_default_vlan_phone": 100,
"lldp": true,
"show_users_first_name_first": true,
"capitalize_users_last_name": false,
"default_call_ring_duration": 30,
"ring_tone": "lu",
"language": "en",
"allow_call_recording": true,
"allow_changing_record_calls": true,
"recordings_destination": "mixvoip",
"recording_start_at": "on_bridge",
"transcript_retention_days": 30,
"sso_enabled": false,
"sso_type": "openid_connect",
"allow_sign_up_with_sso": false,
"force_sign_in_with_sso": false,
"sso_identity_fields_mapping": {},
"first_name": "given_name",
"last_name": "family_name",
"email": "email"
},
"server_push_date": "2024-03-01T08:29:07Z",
"contact_push_date": "2024-03-01T08:29:07Z",
"push_required": false,
"push_check_pending": false,
"push_check_requested_at": "2024-03-01T08:29:07Z",
"push_required_count": 0,
"push_other_count": 0,
"last_config_update": "2024-03-01T08:29:07Z",
"it_admin_notification_email": "it@example.com",
"ai_engine_status": false,
"last_ai_engine_status_activity_check": "2024-03-01T08:29:07Z",
"microsoft365_integration_enabled": false,
"microsoft365_admin_consent_status": false,
"enable_soop_status": false,
"enable_tempus_menu": true,
"show_all_users_in_voxbi": true,
"show_via_in_missed_call": false,
"split_internal_external_calls": false,
"call_block_logged_out_sip_devices": false,
"estimated_users": 25,
"estimated_sip_devices": 30,
"multicast_sites_ip_addresses": [],
"10.10.0.1",
"10.10.0.2"
],
"created_at": "2024-03-01T08:29:07Z",
"updated_at": "2024-03-01T08:29:07Z",
"deleted_at": "2024-03-01T08:29:07Z"
}
Host string
example: cockpit.voxbi.com
Date string
example: Mon, 16 Oct 2023 14:08:48 GMT
Connection string
example: close
Cache-Control string
example: no-cache, private
Content-Type string
example: application/json
X-RateLimit-Limit integer
example: 60
X-RateLimit-Remaining integer
example: 59
Vary string
example: Origin
{}
"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: 57
{}
"message": []
"Data not found"
]
}
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: 57
{}
"message": "Server Error"
}