Voxbi Cockpit APIs
All endpoints

List an employee's travel time credits

Returns the travel time credits recorded for the employee in the given date range, newest first, plus the current allowance in meta. Defaults to the current month when from and to are omitted. The caller may only read their own credits: the request is rejected with 403 when the authenticated user has no access to the tenant or the employee record is not their own, and with 404 when the employee cannot be found. When travel time is not configured for the PBX the list is empty and meta.enabled reflects the employee's own flag.

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.
employee_id path · string · uuid *
UUID of the employee whose credits are requested.
from query · string · date
Start of the range, `Y-m-d`. Defaults to the first day of the current month.
to query · string · date
End of the range, `Y-m-d`. Must not be earlier than `from`. Defaults to today.
accept header · string
example: application/json

Responses

The employee's travel time credits and current allowance.
Response schema
data*array<object>
Each item — One travel time credit: a payable block of minutes added to a day because the employee requested it. Each credit is stored as an accepted time point correction (the "create a new time point" shape) plus the time point it produced, so it appears in the employee's correction history and can be corrected or removed like any other time point.
idstring · uuid
UUID of the correction row that recorded the request.
example: 550e8400-e29b-41d4-a716-446655440010
datestring · date
The date the credit was applied to.
example: 2026-05-11
start_timestring
Start of the credited block, `Y-m-d H:i:s`.
example: 2026-05-11 07:30:00
end_timestring | null
End of the credited block, `Y-m-d H:i:s`. Null only if the produced time point has since been left open by a later correction.
example: 2026-05-11 08:00:00
minutesinteger | null · int32
Length of the credited block in whole minutes. Normally the configured allowance, but smaller when the block had to be clamped to the start of the day. Null when `end_time` is null.
example: 30
status_idstring · uuid
UUID of the PBX travel time status the credit was recorded on.
example: 550e8400-e29b-41d4-a716-446655440011
timepoint_idstring | null · uuid
UUID of the time point the credit produced.
example: 550e8400-e29b-41d4-a716-446655440012
commentstring | null
The comment stored with the credit.
example: Travel time requested
created_atstring | null
When the credit was recorded, `Y-m-d H:i:s`.
example: 2026-05-11 12:00:00
meta*object
enabled*boolean
Whether travel time is enabled for this employee.
example: 1
minutes_per_request*integer · int32
Payable minutes credited per request.
example: 30
max_per_day*integer · int32
How many credits are allowed per date.
example: 1
used_today*integer · int32
Credits already taken today.
example: 1
remaining_today*integer · int32
Credits still available today.
example: 0
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 has no access to the requested tenant, or the requested employee record does not belong to the authenticated user.
Response schema
No response body.
Data Not Found. This error is returned when the requested data is not found.
Response schema
messagearray<string>
[]string
The `from` or `to` query parameter is malformed, or `to` precedes `from`.
Response schema
message*string
example: The given data was invalid.
errors*object
Free-form object
get https://cockpit.voxbi.com/api/v1/{pbx_id}/user/{employee_id}/travel-time
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/{pbx_id}/user/{employee_id}/travel-time' \
  -H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/{pbx_id}/user/{employee_id}/travel-time', {
  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}/user/{employee_id}/travel-time',
    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}/user/{employee_id}/travel-time', 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
No example for this status.