Skip to content

Preview your overtime-to-holidays conversion (user)

Whether the caller can convert overtime (compensatory) balance into holiday days right now, and how many whole days the balance funds.

The balance is the closing balance the last locked overtime period carried forward, less anything already converted in the current period. A conversion is possible while an overtime period is ongoing for the employee's current contract company and the remaining balance covers at least one whole working day, and may be repeated until that balance is used up.

When can_convert is false, reason explains why and max_days is 0.

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 path · string · uuid *
UUID of the PBX tenant. Must be the tenant the token belongs to; anything else is refused with 403 rather than answered from another tenant.
employee_id path · string · uuid *
UUID of the Tempus employee whose queue this is. Must be the caller's own employee record: a queue is built from the approval rows addressed to one person, so another employee's id is refused rather than quietly answered with your own.
accept header · string
example: application/json

Responses

OK. The conversion preview.
Response schema
can_convertboolean
Whether a conversion is currently possible.
reasonstring | null
Why a conversion is not possible, or null when it is.
current_balance_secondsinteger
Convertible overtime balance, in seconds.
example: 144000
seconds_per_dayinteger
The employee's working day length, in seconds.
example: 28800
max_daysinteger
How many whole days the balance can fund (0 when none).
example: 5
periodobject | null
The ongoing overtime period the conversion applies to.
startstring · date
example: 2026-08-01
endstring · date
example: 2026-08-31
Authorization Token Missing. This error is returned when the authorization token is missing.
Response schema
errorstring
Error message
example: Authorization Token is missing
Forbidden. The caller is outside this PBX, or asked for an employee record that is not their own.
Response schema
messagestring
example: You do not have access to this PBX.
Not found. No such employee in this PBX.
Response schema
messagestring
example: User not found.
get https://cockpit.voxbi.com/api/v1/v2/{pbx}/employee/{employee}/overtime/conversion
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/v2/{pbx}/employee/{employee}/overtime/conversion' \
  -H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/v2/{pbx}/employee/{employee}/overtime/conversion', {
  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/v2/{pbx}/employee/{employee}/overtime/conversion',
    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/v2/{pbx}/employee/{employee}/overtime/conversion', false, $context);
$data = json_decode($response, true);
print_r($data);
{}
"can_convert": true,
"reason": null,
"current_balance_seconds": 144000,
"seconds_per_day": 28800,
"max_days": 5,
"period": {}
"start": "2026-08-01",
"end": "2026-08-31"
}
}
{}
"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.
No example for this status.