Get Timeoff balances
/unified/hris/timeoff_balances/{id}
Path Parameters
The ID of the resource.
23423523Query Parameters
Refer Specifying query parameters in Truto APIs
HR WORKS-specific: the reference date of the leave account (referenceDate, YYYY-MM-DD), as on the list. Accepts a date (YYYY-MM-DD), a date-time (only the date part is sent) or the operator forms [eq]/[gte]/[gt] and [eq]/[lte]/[lt]; gt and lt are treated as inclusive, because HR WORKS's window is inclusive. Several values, [ne] or a nested object are refused with a 400. HR WORKS keeps one annual-leave account per person: balance is its unplanned value ("The number of unplanned/still available vacation days"), counted in days. The entitlement, requested, approved, planned and expiring counters and the next expiration date have nowhere to land in the unified model and stay in remote_data. There is no link to a timeoff_policy: HR WORKS does not expose which vacation type a person is assigned to. The id is the identifier HR WORKS itself keys its leave-account list by (timeoff_balances.list publishes exactly that), and an employees.id (person uuid) is accepted too: Truto resolves either against the company's person list and sends the personnel number HR WORKS wants in the path. An identifier that two different persons match — one person's HR WORKS username can be another's personnel number — is refused with a 400 rather than read for the wrong person, and an identifier nobody matches is a 404. This resolution needs read permission for /persons: without it the call is refused with HR WORKS's own status and a message naming the endpoint, because GET /v2/persons/{personnelNumber}/leave-account takes nothing but a personnel number.
1 supported
Show Truto-specific parameters
The ID of the integrated account to use for the request.
62f44730-dd91-461e-bd6a-aedd9e0ad79dThe format of the response.
unifiedreturns the response with unified mappings applied.rawreturns the unprocessed, raw response from the remote API.normalizedapplies the unified mappings and returns the data in a normalized format.streamreturns the response as a stream, which is ideal for transmitting large datasets, files, or binary data. Using streaming mode helps to efficiently handle large payloads or real-time data flows without requiring the entire data to be buffered in memory.debugreturns the final unified result alongside raw remote fetch information. The response is an envelope containingresult(identical to unified mode output) anddebug(withrequestUrl,requestOptions,data,responseHeaders, and for list operations:nextCursor,isLooping,isEmptyResult,resultCount). When the upstream body exceeds 1 MiB,datais replaced by{ truto_truncated: true, truto_max_bytes, truto_excerpt }.debugisnullfor static responses or whentruto_skip_api_call=true.
Defaults to unified.
unifiedunifiedrawnormalizedstreamdebug
Excludes the remote_data attribute from the response.
Array of fields to exclude from the response.
truto_exclude_fields[]=id&truto_exclude_fields[]=nameQuery parameters to pass to the underlying API without any transformations. Refer this guide to see how to structure the query parameters.
remote_query[foo]=barResponse Body
The unique identifier for time off balances
1 supported
This represents the balance of the time off request.
1 supported
This represents the date when the timeoffbalances was created
This represents the employee the balance belongs to..
1 supported
The unique identifier for employees
This represents the name of the employee.
Raw data returned from the remote API call.
This represents the time off policy of the time off request.
This represents the date when the timeoffbalances was updated
truto unified hris timeoffbalances '<resource_id>' \
-m get \
-a '<integrated_account_id>' \
-o jsonimport Truto from '@truto/truto-ts-sdk';
const truto = new Truto({
token: '<your_api_token>',
});
const result = await truto.unifiedApi.get(
'hris',
'timeoffbalances',
'<resource_id>',
{ integrated_account_id: '<integrated_account_id>' }
);
console.log(result);import asyncio
from truto_python_sdk import TrutoApi
truto_api = TrutoApi(token="<your_api_token>")
async def main():
result = await truto_api.unified_api.get(
"hris",
"timeoffbalances",
"<resource_id>",
{"integrated_account_id": "<integrated_account_id>"}
)
print(result)
asyncio.run(main())curl -X GET 'https://api.truto.one/unified/hris/timeoff_balances/{id}?integrated_account_id=<integrated_account_id>' \
-H 'Authorization: Bearer <your_api_token>' \
-H 'Content-Type: application/json'const integratedAccountId = '<integrated_account_id>';
const response = await fetch(`https://api.truto.one/unified/hris/timeoff_balances/{id}?integrated_account_id=${integratedAccountId}`, {
method: 'GET',
headers: {
'Authorization': 'Bearer <your_api_token>',
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(data);import requests
url = "https://api.truto.one/unified/hris/timeoff_balances/{id}"
headers = {
"Authorization": "Bearer <your_api_token>",
"Content-Type": "application/json",
}
params = {
"integrated_account_id": "<integrated_account_id>"
}
response = requests.get(url, headers=headers, params=params)
print(response.json())