Skip to content
GET /unified/hris/timeoff_policies

Query Parameters

Refer Specifying query parameters in Truto APIs

employee_idstring
3 supported3 notes
BambooHR
supported

The employee ID you want to get the time off policies for

Remote
supported

Flat alternative to employee.id.

Workday
supported

Flat alternative to employee.id.

namestring

Filter by policy name (Deel case-insensitive search).

1 supported
Deel
supported
include_inactiveboolean

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
HR WORKS
supported
include_unassignedboolean

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
HR WORKS
supported
country_codestring

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
HR WORKS
supported
statusstring

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.

Possible values:
activeinactive
1 supported
Justworks
supported
employeeobject
2 supported2 required2 notes
Remote
required

The employee (employees.id, a Remote employment id). Required: Remote only exposes this data per employment.

Workday
required

The employee (employees.id, a Workday worker WID, or a reference such as Employee_ID=21001). Required: Workday only exposes this data per worker.

idstring
required
Show Truto-specific parameters
integrated_account_idstring · uuid
required·

The ID of the integrated account to use for the request.

Example: 62f44730-dd91-461e-bd6a-aedd9e0ad79d
truto_response_formatstring

The format of the response.

  • unified returns the response with unified mappings applied.
  • raw returns the unprocessed, raw response from the remote API.
  • normalized applies the unified mappings and returns the data in a normalized format.
  • stream returns 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.
  • debug returns the final unified result alongside raw remote fetch information. The response is an envelope containing result (identical to unified mode output) and debug (with requestUrl, requestOptions, data, responseHeaders, and for list operations: nextCursor, isLooping, isEmptyResult, resultCount). When the upstream body exceeds 1 MiB, data is replaced by { truto_truncated: true, truto_max_bytes, truto_excerpt }. debug is null for static responses or when truto_skip_api_call=true.

Defaults to unified.

Example: unified
Possible values:
unifiedrawnormalizedstreamdebug
truto_key_bystring

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.

Example: id
truto_ignore_limitboolean

Ignores the limit query parameter.

truto_ignore_remote_databoolean

Excludes the remote_data attribute from the response.

truto_exclude_fieldsstring[]

Array of fields to exclude from the response.

Example: truto_exclude_fields[]=id&truto_exclude_fields[]=name
remote_queryRecord<string, any>

Query parameters to pass to the underlying API without any transformations. Refer this guide to see how to structure the query parameters.

Example: remote_query[foo]=bar

Response Body

debugobject

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.

data
isEmptyResultboolean
isLoopingboolean
nextCursorstring
requestOptionsRecord<string, any>
requestUrlstring
responseHeadersRecord<string, any>
resultCountnumber
next_cursorstring

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.

resultobject[]

List of Timeoff policies

idstring
required·

The unique identifier for TimeoffPolicy

13 supported
BambooHR
supported
Deel
supported
Factorial
supported
HiBob
supported
HR Partner
supported
HR WORKS
supported
Humaans
supported
Justworks
supported
PeopleForce
supported
Remote
supported
Sesame
supported
UKG Dimensions
supported
Workday
supported
descriptionstring

This represents the description of the time off policy

3 supported
Deel
supported
Factorial
supported
Remote
supported
namestring

This represents the name of the time off policy

13 supported
BambooHR
supported
Deel
supported
Factorial
supported
HiBob
supported
HR Partner
supported
HR WORKS
supported
Humaans
supported
Justworks
supported
PeopleForce
supported
Remote
supported
Sesame
supported
UKG Dimensions
supported
Workday
supported
remote_dataRecord<string, any>

Raw data returned from the remote API call.

unitstring

This represents the unit of the time off policy

Possible values:
hoursdaysweeksmonths
7 supported
BambooHR
supported
Deel
supported
HR WORKS
supported
Humaans
supported
Remote
supported
Sesame
supported
Workday
supported
truto unified hris timeoffpolicies \
  -a '<integrated_account_id>' \
  -o json
import 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())