List Payroll Runs
The company's payroll runs — one per wage period — newest period first (CompanyMember read; the money is aggregate, no per-employee PII).
A run walks draft → calculated → approved → posted → paid → locked (plus reversed); run_kind separates a regular run from a correction/reversal, which are always separate runs, never in-place edits, and are linked by original_run_id / reversed_by_run_id. journal_entry_id is the wage entry it posted (null before posted), and the lifecycle stamps (calculated_at, approved_at, posted_at, paid_at, locked_at) say when each step happened.
Each row also carries employee_count, gross_total/net_total and the validation error_count/warning_count — a run with errors must not be approved. staleness is computed at read time: non-null means master data changed after the run was calculated (a retroactive correction), so the frozen figures no longer match; it is advisory, and its action says what to do.
Filters: status_filter narrows to one lifecycle state, year to runs whose period starts in that calendar year. No paging. Use GET …/payroll/runs/due for wage months that have no run yet.
Request
- Base URL: https://app.zeno-works.ch (the document declares no server; this is the origin it was published from)
- URL: https://app.zeno-works.ch/companies/{company_id}/payroll/runs
- Auth: none declared
Path parameters
Query parameters
Run lifecycle (payroll SP0; enforced from SP6 via invoiage_core.payroll.states).
Headers
Cookies
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.