Voxbi Cockpit APIs
All endpoints

List departments for the tenant (user)

Returns the full list of departments belonging to the PBX tenant, each serialized by the V1 DepartmentResource with clean field names (id, name, description). Departments are a per-tenant catalog of organizational units used across the Tempus time and attendance module. The authenticated user must belong to the PBX identified by the path parameter, otherwise the request is rejected with 403. The result is not paginated: the complete list is returned as a top-level array. This is the properly named replacement for the legacy groups endpoint, which returns the same records under legacy key names.

HTTP: bearerAuth

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>
pbx_id path · string · uuid *
UUID of the PBX tenant.
accept header · string
example: application/json

Responses

List of departments.
Response schema
Each item — Tempus department as serialized by the V1 `DepartmentResource`. Departments are a per-tenant (Pbx) catalog of organizational units used by the Tempus time and attendance module. An employee's company context comes from their contract; a department is referenced by contracts and may be adopted by one or more companies within the tenant. This is the properly named representation returned by the `departments` endpoint. It exposes only the meaningful fields (id, name, description). The legacy `groups` endpoint (schema `TempusDepartment`) returns the same records under legacy key names and is kept for backward compatibility only.
id*string · uuid
Unique department identifier.
read-only
example: 550e8400-e29b-41d4-a716-446655440000
name*string
Display name of the department.
example: Customer Support
description*string | null
Optional free-text description of the department.
example: Handles inbound customer requests
Authorization Token Missing. This error is returned when the authorization token is missing.
Response schema
errorstring
Error message
example: Authorization Token is missing
The authenticated user does not belong to the requested PBX tenant.
Response schema
No response body.
Data Not Found. This error is returned when the requested data is not found.
Response schema
messagearray<string>
[]string
get https://cockpit.voxbi.com/api/v1/{pbx_id}/departments
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/{pbx_id}/departments' \
  -H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/{pbx_id}/departments', {
  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/{pbx_id}/departments',
    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/{pbx_id}/departments', false, $context);
$data = json_decode($response, true);
print_r($data);
No example for this status.
{}
"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
No example for this status.
{}
"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