Initialize payroll data

Generate the initial payroll data for employees and contractors in a selected pay period. This is the first step of the payroll process.

Flow: GET /payrolls/period-optionsPOST /payrolls/initialize → edit payrollDataPOST /payrolls (create draft) → review → approve.

Each employee/contractor entry contains payment_method and note at the root, plus either:

  • payrollData (with time_totals and jobCostingData) — for employees with no mid-period rate changes, OR
  • splits — an array of sub-periods, each with its own payrollData, time_totals, and jobCostingData, for employees who had a pay rate change during this period.

payrollData and splits are mutually exclusive — an entry will never contain both. When splits is present, each split's payrollData is the source of truth.

The response also includes actions.create_draft — a pre-built request body for POST /payrolls that the client can modify (adjust hours, amounts, notes) and submit directly to create a draft.

Supports regular payroll initialization via pay schedule group and off-cycle initialization via explicit dates. Requires the payroll plan or higher.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
enum
required
Allowed:
string | null

Existing draft payroll ID to initialize from

string | null

Pay period start date (YYYY-MM-DD)

string | null

Pay period end date (YYYY-MM-DD)

string | null

Payday (YYYY-MM-DD)

string | null
enum
Allowed:
integer | null

Required for type=regular

employee_ids
array of integers | null
employee_ids
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json