Returns the payroll run with the given identifier.

GET /accounting/payroll-details/{id}

Group: Accounting › Payroll Details · Operation ID: getPayrollDetail

A payroll run is a set of payroll lines, one per employee or department, posted for one legal entity. It shares its read with POST accounting/payroll-details/search, which returns the same record. The list at GET accounting/payroll-details is header-only, so the lines come back here and on search.

Open in the interactive reference

Parameters

Name In Type Required Description
Api-Version header "v1" yes The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1.
id path string yes The unique identifier for the payroll run to return.

Response

200 Success

Under data (getPayrollDetailOutput):

Field Type Required Description
id string yes The unique identifier for the payroll run.
payrollDetailNumber string no The payroll run number. Absent until a number has been assigned.
description string no A description of the payroll run.
periodName string no The name of the payroll period this run covers, for example '2026-08'.
payrollDate string (date) yes The date the payroll is dated. Format YYYY-MM-DD.
startDate string (date) no The first day of the period the run covers. Format YYYY-MM-DD.
endDate string (date) no The last day of the period the run covers. Format YYYY-MM-DD.
currency string yes The currency the run is denominated in. Format ISO 4217, for example 'USD'. Governs openAmount and every line amount.
grouping string no How the payroll run is grouped. Values include 'Employee', 'Department' and 'Multi-level'.
paymentStatus string no The payment status of the run. Values include 'unpaid', 'partiallyPaid', 'fullyPaid', 'pending', 'notApplicable' and 'voided'.
openAmount string (decimal) no The amount still unpaid on this run, in currency.
isImported boolean no Whether the run was imported from a payroll provider rather than entered by hand.
entityId string no The legal entity the run belongs to. See id on GET base/entities.
entityName string no The name of the legal entity the run belongs to.
templateId string no The payroll template this run was created from. See id on GET accounting/payroll-templates/:id.
lastModifiedDate string (date-time) yes The date and time the payroll run last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
origin string no The source system this record came from, as free-form text. Absent when none was supplied.
lines array of object no The payroll lines, one per employee or department depending on grouping. An empty array when the run has none.
lines[].id string yes The unique identifier for the line.
lines[].lineNumber string no The line number.
lines[].lineLevel string no The level this line sits at.
lines[].employeeName string no The name of the employee this line pays.
lines[].unmatchedEmployeeName string no The employee name as it arrived from the payroll provider when it matched no employee on file.
lines[].departmentName string no The name of the department this line is charged to.
lines[].departmentCode string no The code of that department.
lines[].departmentNumber string no The number of that department.
lines[].totalAmount string (decimal) no The total amount on the line, in the run currency.
lines[].totalGrossAmount string (decimal) no The gross pay on the line, in the run currency.
lines[].totalNetAmount string (decimal) no The net pay on the line, in the run currency.
lines[].totalEmployerAmount string (decimal) no The employer-side contributions on the line, in the run currency.
lines[].errorMessage string no Why this line could not be processed, when it failed.

Errors

Code Status
NOT_FOUND 400

Statuses