Object overview

The Payroll Object

A payroll represents a single payroll run for a company — covering a specific pay period, with a status that progresses from draft through processing to paid. The payroll object includes financial totals and, in its detail form, per-employee line items and contractor payments.

Payroll endpoints require a payroll or premium plan.


Variants

ShapeReturned byExtra fields
List itemGET /payrolls
DetailGET /payrolls/:payroll_iditems, contractor_payments

The detail shape is a superset of the list shape.


Field Reference

Core fields

FieldTypeDescription
idstringUnique payroll identifier (e.g. "pay_abc123def456").
period_startstringPay period start date (YYYY-MM-DD).
period_endstringPay period end date (YYYY-MM-DD).
paydaystringDate employees are paid (YYYY-MM-DD).
statusstringCurrent payroll status. See Statuses below.
typestringPayroll type: "regular" or "off_cycle".
pay_frequencystringPay frequency: "weekly", "biweekly", "semimonthly", or "monthly".

Scheduling and processing fields

FieldTypeDescription
approval_deadlinedate-timeDeadline to approve before auto-processing.
approved_atdate-time | nullWhen the payroll was approved. Null if not yet approved.
processing_periodstringNumber of business days for processing (e.g. "four_day").
managedbooleanWhether this payroll is managed by the platform.
autopaybooleanWhether this payroll is on autopay.
off_cycle_optionsobject | nullOptions for off-cycle payrolls. Null for regular payrolls.

Organizational fields

FieldTypeDescription
pay_schedule_group_idinteger | nullID of the pay schedule group this payroll belongs to.
pay_schedule_groupobject | nullPay schedule group summary with pay_schedule_group_id, name, and is_default. See Pay Schedule Group.

Financial fields

FieldTypeDescription
totalsPayroll Totals | nullAggregate financial totals for the payroll.

Detail-only fields

FieldTypeDescription
itemsarray(Detail only) Per-employee payroll items. See Payroll Item.
contractor_paymentsarray(Detail only) Per-contractor payments. See Contractor Payment.

Statuses

ValueDescription
"draft"Payroll created but not yet approved. Can be edited or deleted.
"pending"Approved and awaiting processing.
"processing"Currently being processed by the payroll provider.
"paid"Successfully processed and paid.
"failed"Processing failed.
"partially_paid"Some payments succeeded, others failed.
"skipped"Payroll was skipped (no employees or manually skipped).

Nested Objects

Payroll Totals

FieldTypeDescription
payrollstringPayroll ID this totals record belongs to.
employee_grossstringTotal employee gross pay.
employee_reimbursementsstringTotal employee reimbursements.
employee_taxesstringTotal employee tax withholdings.
employee_benefitsstringTotal employee benefit deductions.
post_tax_deductionsstringTotal post-tax deductions.
employee_netstringTotal employee net pay.
contractor_grossstringTotal contractor gross pay.
contractor_reimbursementsstringTotal contractor reimbursements.
contractor_netstringTotal contractor net pay.
company_taxesstringEmployer-side tax liability.
company_benefitsstringEmployer-side benefit costs.
liabilitystringTotal liability for this payroll.
cash_requirementstringTotal cash required to fund this payroll.

Payroll Item

FieldTypeDescription
idstringUnique payroll item identifier.
employeestringExternal employee identifier.
statusstringItem payment status.
payment_methodstring"direct_deposit" or "manual".
net_paystring | nullNet pay for this employee.
earningsarrayEarnings breakdown entries.
reimbursementsarrayReimbursement entries.
taxesarrayTax withholding entries.
benefitsarrayBenefit deduction entries.
post_tax_deductionsarrayPost-tax deduction entries (e.g. garnishments, Roth 401k).

Contractor Payment

FieldTypeDescription
idstringUnique contractor payment identifier.
contractorstringExternal contractor identifier.
statusstringPayment status.
payment_methodstring"direct_deposit" or "manual".
amountstringPayment amount.
reimbursement_amountstringReimbursement amount.
net_paystringContractor net pay.

Example: List Item

{
  "id": "pay_abc123def456",
  "period_start": "2026-02-17",
  "period_end": "2026-03-02",
  "approval_deadline": "2026-03-04T17:00:00.000Z",
  "approved_at": "2026-03-04T14:30:00.000Z",
  "payday": "2026-03-07",
  "status": "paid",
  "type": "regular",
  "pay_frequency": "biweekly",
  "processing_period": "four_day",
  "managed": true,
  "autopay": false,
  "off_cycle_options": null,
  "pay_schedule_group_id": 3,
  "totals": {
    "payroll": "pay_abc123def456",
    "employee_gross": "12500.00",
    "employee_reimbursements": "150.00",
    "employee_taxes": "2875.00",
    "employee_benefits": "600.00",
    "post_tax_deductions": "200.00",
    "employee_net": "8975.00",
    "contractor_gross": "3000.00",
    "contractor_reimbursements": "0.00",
    "contractor_net": "3000.00",
    "company_taxes": "1562.50",
    "company_benefits": "450.00",
    "liability": "14137.50",
    "cash_requirement": "14137.50"
  },
  "pay_schedule_group": {
    "pay_schedule_group_id": 3,
    "name": "Biweekly Salaried",
    "is_default": true
  }
}