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/jsonResponses
Response schema
integration_idstring · uuid
pbx_idstring · uuid
typestring
example:
odoois_activeboolean
job_statusstring
enum:
pending processing success failedodoo_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 missingNo 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"
}