Skip to content
GET /unified/hris/employee_payroll_runs

Partial response — use the "get" endpoint for the full object.

Query Parameters

Refer Specifying query parameters in Truto APIs

companyobject

The Paychex company to use, referencing companies.id (Paychex companyId). A company pinned on the connection (company_id in the integrated account context) always wins and this parameter is then ignored. Otherwise, when omitted, the credential's companies are looked up and the single company with API permission is used. The request fails with a 400 when no company can be resolved (the credential sees more than one company with API permission, none, or 100 or more companies). When employee is given, the checks are read per worker and the company is only used to fill start_date/end_date from the pay period (the call succeeds without it).

1 supported
Paychex
supported
idstring
required
company_idstring

Flat alternative to company.id.

1 supported
Paychex
supported
payroll_runobject

This represents the payroll run

References: PayrollRuns → id
2 supported2 required2 notes
Paychex
required

The pay period (payroll_runs.id) whose processed checks to list. Required: Paychex only returns checks per pay period.

Remote
required

The payroll run (payroll_runs.id). Required: Remote lists employee results per run.

idstring
required
payroll_run_idstring

Flat alternative to payroll_run.id.

2 supported
Paychex
supported
Remote
supported
employeeobject

This represents employee

References: Employees → id
3 supported2 required3 notes
PayFit
required

The employee (employees.id). Required: PayFit only lists payslips per collaborator.

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. Workday pay slips do not name the worker, so each record's employee is this value when it is the worker WID (employees.id) and is left empty for a reference id such as Employee_ID=21001 or me.

Paychex
supported

The employee (employees.id, Paychex workerId) to return checks for. When given, only that worker's checks are fetched.

idstring
required
employee_idstring

Flat alternative to employee.id.

3 supported
Paychex
supported
PayFit
supported
Workday
supported
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 Employee payroll runs

idstring
required·

The unique identifier for Employee Payroll Runs

4 supported
Paychex
supported
PayFit
supported
Remote
supported
Workday
supported
check_datestring · date-time

This represents the check date

3 supported
Paychex
supported
Remote
supported
Workday
supported
created_atstring · date-time

This represents the date when the Employee Payroll Runs was created

deductionsobject[]

This represents the deductions

earningsobject[]

This represents the earnings

employeestring

This represents employee

References: Employees → id
4 supported
Paychex
supported
PayFit
supported
Remote
supported
Workday
supported
end_datestring · date-time

This represents the end date

3 supported
Paychex
supported
PayFit
supported
Remote
supported
gross_paynumber

This represents the gross pay

3 supported
Paychex
supported
Remote
supported
Workday
supported
net_paynumber

This represents the net pay

3 supported
Paychex
supported
Remote
supported
Workday
supported
payroll_runstring

This represents the payroll run

References: PayrollRuns → id
2 supported
Paychex
supported
Remote
supported
remote_dataRecord<string, any>

Raw data returned from the remote API call.

start_datestring · date-time

This represents the start date

3 supported
Paychex
supported
PayFit
supported
Remote
supported
taxesobject[]

This represents the taxes

updated_atstring · date-time

This represents the date when the Employee Payroll Runs was updated

truto unified hris employeepayrollruns \
  -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',
  'employeepayrollruns',
  { 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",
        "employeepayrollruns",
        {"integrated_account_id": "<integrated_account_id>"}
    ):
        print(item)

asyncio.run(main())
curl -X GET 'https://api.truto.one/unified/hris/employee_payroll_runs?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/employee_payroll_runs?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/employee_payroll_runs"
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())