List Timeoff policies
/unified/hris/timeoff_policies
Query Parameters
Refer Specifying query parameters in Truto APIs
3 supported3 notes
The employee ID you want to get the time off policies for
Flat alternative to employee.id.
Flat alternative to employee.id.
Filter by policy name (Deel case-insensitive search).
1 supported
Also return vacation types that are not active (onlyActive=false, the default here). Set false to get only active ones. Accepts true/false in any letter case, also as [eq]; any other value or form is refused with a 400. HR WORKS vacation types are annual-leave entitlement rule sets, counted in days ("The minimum number of vacation days of the vacation type"). Which vacation type a person is assigned to is not exposed by the HR WORKS API, so timeoff_balances cannot reference a policy.
1 supported
Also return vacation types that are not assigned to any person (onlyAssigned=false, the default here). Set false to get only assigned ones. Same accepted values and forms as include_inactive.
1 supported
Only vacation types of these countries, as ISO 3166-1 alpha-3 codes (e.g. DEU), sent as countryCodes. HR WORKS omits codes that do not match a country of the company. Several values are supported: repeat the parameter, separate them with commas, use the [] form, or the operator forms [eq] / [in]. Any other form (for example [ne] or a nested object) is refused with a 400 instead of being ignored, so a filter Truto cannot express never returns unfiltered data.
1 supported
Filter by Justworks policy status. One value is sent as its status parameter; active and inactive together are read without it and the requested set is kept from each page, which can come back with fewer records than the limit, or none, and still have a next_cursor. A policy is returned only when its Justworks status is one you asked for, so a policy with an undocumented status is left out while this filter is set. A value with no Justworks equivalent returns an empty list without calling Justworks. Accepts one value, a comma-separated list, a repeated status[]=… (or status=… twice) and status[eq]= / status[in]=. A form that cannot be read (another operator, a nested value) is refused with a 400 that names the filter: it is never treated as no filter, which would return everything.
activeinactive
1 supported
2 supported2 required2 notes
The employee (employees.id, a Remote employment id). Required: Remote only exposes this data per employment.
The employee (employees.id, a Workday worker WID, or a reference such as Employee_ID=21001). Required: Workday only exposes this data per worker.
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
By default the result attribute is an array of objects. This parameter allows you to specify a field in each result objects to use as key, which transforms the result array into an object with the array items keyed by the field. This is useful for when you want to use the result as a lookup table.
idIgnores the limit query parameter.
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
Present only when truto_response_format=debug. Contains raw fetch details: requestUrl, requestOptions, data, responseHeaders, nextCursor, isLooping, isEmptyResult, resultCount. data is the parsed upstream body; when its JSON form exceeds 1 MiB it is replaced by { truto_truncated: true, truto_max_bytes, truto_excerpt }, where truto_excerpt is the leading bytes of that body. The same applies to a string requestOptions.body. null for static responses or when truto_skip_api_call=true.
The cursor to use for the next page of results. Pass this value as next_cursor in the query parameter in the next request to get the next page of results.
List of Timeoff policies
The unique identifier for TimeoffPolicy
13 supported
This represents the description of the time off policy
3 supported
This represents the name of the time off policy
13 supported
Raw data returned from the remote API call.
This represents the unit of the time off policy
hoursdaysweeksmonths
7 supported
truto unified hris timeoffpolicies \
-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.list(
'hris',
'timeoffpolicies',
{ 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():
async for item in truto_api.unified_api.list(
"hris",
"timeoffpolicies",
{"integrated_account_id": "<integrated_account_id>"}
):
print(item)
asyncio.run(main())curl -X GET 'https://api.truto.one/unified/hris/timeoff_policies?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_policies?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_policies"
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())