Voxbi Cockpit APIs
All endpoints

Get the Odoo integration (pbx)

Returns the Odoo integration record for the authenticated PBX. The service account API key is never returned. Requires an API key carrying the odoo-installer ability.

HTTP: IntegrationApiKey

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
accept header · string
example: application/json

Responses

Response schema
integration_idstring · uuid
pbx_idstring · uuid
typestring
example: odoo
is_activeboolean
job_statusstring
enum: pending processing success failed
odoo_urlstring | null
odoo_dbstring | null
service_userstring | null
odoo_versionstring | null
sync_sip_configurationsboolean
updated_atstring | null · date-time
Authorization Token Missing. This error is returned when the authorization token is missing.
Response schema
errorstring
Error message
example: Authorization Token is missing
No Odoo integration exists for the authenticated PBX.
Response schema
errorstring
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/odoo-installer/get-integration
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/odoo-installer/get-integration' \
  -H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/odoo-installer/get-integration', {
  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/odoo-installer/get-integration',
    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/odoo-installer/get-integration', false, $context);
$data = json_decode($response, true);
print_r($data);
{}
"integration_id": "550e8400-e29b-41d4-a716-446655440000",
"pbx_id": "550e8400-e29b-41d4-a716-446655440001",
"type": "odoo",
"is_active": true,
"job_status": "success",
"odoo_url": "https://erp.example.com",
"odoo_db": "example_prod",
"service_user": "svc_voxbi",
"odoo_version": "17.0",
"sync_sip_configurations": true,
"updated_at": "2026-06-01T08:29:07+00:00"
}
{}
"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
{}
"error": "not_found"
}
{}
"message": "Server Error"
}