List payroll templates

Operation ID: payrollTemplates

Group: Accounting › Payroll Templates

Open in the interactive reference

GET /accounting/payroll-templates

Read-only: Reads and returns; changes nothing.

Lists payroll templates, without their categories. To get the categories, use GET accounting/payroll-templates/:id or POST accounting/payroll-templates/search.

Parameters

Name In Type Required Description
Api-Version header string · 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.

Query surface

Response

200 Success

Under data, an array of payrollTemplatesRow:

Field Type Required Filter Sort Description
id string no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The unique identifier for the payroll template.
name string no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The name of the payroll template. Unique across payroll templates.
description string | null no no no A free-form description of the payroll template.
groupBy string no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The level at which payroll amounts are entered. Possible values: 'Employee', 'Department', 'Multi-level'.
journalEntryDate string no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The date the generated journal entry is posted on. Possible values: 'payrollDate', 'endDate'.
journalEntryGroupBy string no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The default consolidation level for generated journal lines. Possible values: 'account', 'accountAndPayrollCategory', 'payrollCategory', 'payrollCategoryByEmployee'.
deductionsType string no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes Whether deduction amounts in imported data arrive positive or negative. Possible values: 'positive', 'negative'.
source string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The payroll system this template imports from. Possible values: 'datev', 'datevEmployeePayroll', 'datevEmployeePayrollPersonLevel', 'rippling', 'lexware', 'briars', 'gusto', 'adpGLReport', 'adpPayrollHistory', 'sage', 'none'.
status string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The lifecycle status of the payroll template. Possible values: 'create', 'active', 'inactive'. It is computed from the template's categories, not set through the API.
lastModifiedDate date-time | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) yes The date and time the payroll template last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
{
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "<name>",
      "description": "<description>",
      "groupBy": "<groupBy>",
      "journalEntryDate": "<journalEntryDate>",
      "journalEntryGroupBy": "<journalEntryGroupBy>",
      "deductionsType": "<deductionsType>",
      "source": "<source>",
      "status": "<status>",
      "lastModifiedDate": "2026-01-15T09:30:00.000Z"
    }
  ],
  "pagination": {
    "hasMore": true,
    "nextCursor": "<nextCursor>"
  }
}

Statuses