Get the partner's dashboard figures (partner-api)
Returns the figures of the Home dashboard in the partner portal, computed by the same code: the stat cards, the doughnut charts and the needs-attention counts. kyc is always counted for a key (a key has no per-user permissions). new_leads is 0 while the signup funnel is switched off.
By default the figures cover everything. from and/or to (YYYY-MM-DD, inclusive days) limit customers, PBXs, signups and leads to those created in the range, exactly as the date range on Home does; the applied range is echoed in data.range. needs_attention is the state right now and is never limited. The range cannot be longer than 5 years (a missing to counts as today).
Required scopes: partner-api and partner-overview.
Partner API key. A bearer token that a Reseller Admin generates in the partner
portal under Settings, API keys. It belongs to the reseller partner, not to a
person, and carries the scopes ticked at creation time. Send it on every request as
Authorization: Bearer <partner_api_key>.
Every response is confined to the partner the key belongs to. Keep the key secret and call the API from your server only, never from a browser app.
- HTTP Authorization Scheme
bearer- Bearer format
Bearer <partner_api_key>
application/jsonResponses
dataobject
rangeobject
2025-03-012025-03-31statsobject
121734doughnutsobject
customers_by_planobject
signupsobject
2035leads_by_statusobject
42163needs_attentionobject
12349.9EUR30This API key is missing a required scope.required_scopesarray<string>
errorsobject
https://cockpit.voxbi.com/api/v1/api/v1/overview
curl -X GET 'https://cockpit.voxbi.com/api/v1/api/v1/overview' \
-H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/api/v1/overview', {
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/api/v1/overview',
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/api/v1/overview', false, $context);
$data = json_decode($response, true);
print_r($data);
{ … }
"data": { … }
"range": { … },
"stats": { … },
"doughnuts": { … },
"customers_by_plan": { … },
"signups": { … },
"leads_by_status": { … }
"needs_attention": { … }
{ … }
application/json{ … }
application/json{ … }
"errors": { … }
"to": [ … ]
{ … }
30application/json