Voxbi Cockpit APIs
All endpoints

Validator-scoped employee profile

Full profile of one employee as a validator sees it: identity, active contract, active workshift, work hours (worked vs required, overtime on business vs off days), legal-holiday balance, and leave / home-office / correction history for the range. Returns 403 unless the target employee is within the caller's validator scope. Matricule is never returned. Transaction/correction status values are the raw ledger values.

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 *
employee_id path · string · uuid *
filter[from] query · string · date
Y-m-d. Defaults to the start of the current month. Range max 100 days.
filter[to] query · string · date
Y-m-d. Defaults to today.

Responses

The employee's validator-facing profile.
Response schema
employeeobject
idstring · uuid
user_idstring | null · uuid
first_namestring | null
last_namestring | null
emailstring | null
is_activeboolean
contractobject | null
The employee's active contract, or null when none is active.
start_datestring | null · date
end_datestring | null · date
weekly_expected_working_time_secondsinteger
weekly_expected_working_timestring
HH:MM.
participationnumber | null
FTE fraction, e.g. 100 or 80.
job_titlestring | null
contract_typestring | null
company_idstring | null · uuid
companystring | null
department_idstring | null · uuid
departmentstring | null
compensatory_balance_secondsinteger
ho_balance_secondsinteger
workshiftobject | null
idstring · uuid
titlestring | null
detailstring | null
weekly_secondsinteger
weeklystring
HH:MM.
working_hoursobject
Seconds per weekday (mon..sun).
Free-form object
assignmentobject
start_datestring | null · date
end_datestring | null · date
is_defaultboolean
rangeobject
fromstring · date
tostring · date
work_hoursobject
Keyed by week-start date (Monday) plus a `summary` key. Each bucket: totalWorkedTime, requiredWorkedTime, businessDaysWorkedTime, nonWorkingDaysWorkedTime (HH:MM:SS), each mirrored by a signed `<field>Seconds` integer, plus hasOvertime and minWorkTimeReached. The overtime figures are balances and go negative for a week under the required time, so the weekly buckets sum to `summary`. Days after today are excluded.
Free-form object
holiday_balanceobject
yearinteger
rights_secondsinteger
taken_secondsinteger
remaining_secondsinteger
compensatory_secondsinteger
available_secondsinteger
leavearray<object>
Each item — A leave or home-office request overlapping the range.
idstring · uuid
typestring | null
legal | absence | illness | special | home_office.
sub_typestring | null
statusstring | null
Raw ledger status.
enum: pending approved rejected cancelled pending_removal removed null
startstring | null · date-time
endstring | null · date-time
requested_secondsinteger
commentstring | null
createdstring | null · date-time
home_officearray<object>
Each item — A leave or home-office request overlapping the range.
idstring · uuid
typestring | null
legal | absence | illness | special | home_office.
sub_typestring | null
statusstring | null
Raw ledger status.
enum: pending approved rejected cancelled pending_removal removed null
startstring | null · date-time
endstring | null · date-time
requested_secondsinteger
commentstring | null
createdstring | null · date-time
correctionsarray<object>
idstring · uuid
statusstring | null
timepoint_idstring | null · uuid
old_status_idstring | null · uuid
new_status_idstring | null · uuid
old_timestring | null · date-time
new_timestring | null · date-time
correction_commentstring | null
new_commentstring | null
createdstring | null · date-time
modulesobject
Which validator modules the caller may act on for this employee.
holiday_requestsboolean
home_office_requestsboolean
time_point_corrections_requestsboolean
schedules_managementboolean
Unauthenticated.
Response schema
No response body.
Caller has no employee record, or the employee is not in the caller's scope.
Response schema
No response body.
Bad date format or range exceeds 100 days.
Response schema
No response body.
get https://cockpit.voxbi.com/api/v1/{pbx_id}/validator/{employee_id}
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/{pbx_id}/validator/{employee_id}' \
  -H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/{pbx_id}/validator/{employee_id}', {
  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}/validator/{employee_id}',
    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}/validator/{employee_id}', false, $context);
$data = json_decode($response, true);
print_r($data);
No example for this status.
No example for this status.
No example for this status.
No example for this status.