Void and replace pay history over the API.
A Correction represents a bundle of retroactive changes to a company's pay history. Corrections allow you to void previously processed payrolls and/or add payrolls with a backdated payday, and process the results as a single transaction.
Every Correction is composed of a list of operations, which can include:
- Void payroll — Creating a payroll that exactly zero out an existing payroll item or contractor payment. Created via the Void a payroll endpoint.
- Add payroll — Adding a payroll with a payday in the past, which may either represent pay history that was previously missing, or which replaces (i.e., is the correct version of) pay history that was voided. Created via either Create a payroll or Create an external payroll with the
correctionparameter. - Balancing quarter — Payrolls generated automatically by Check when a correction impacts a closed quarter, containing the tax effects of rebalancing that quarter.
For an end-to-end walkthrough, see the Correcting Pay History guide.
Webhooks
Check sends webhooks for correction lifecycle events with the correction topic. The payload's data is the correction object.
| Event | Description |
|---|---|
| created | A correction was created |
| updated | A correction was updated |
| deleted | A correction was deleted |
An updated webhook is sent when:
- A preview starts, and again when it succeeds or fails.
- An approval starts, and again when it succeeds or fails (including failures with
approval.error_codefulfillment_changed). - The correction is updated, such as a change to its
settlement_date. - A payroll is added to or deleted from the correction, including void payrolls and backdated payrolls.
- The correction is reopened.
- The correction's
statusmoves toprocessing,settled, orfailed.
A deleted webhook is sent when a correction is deleted. Its payload reflects the correction as it was immediately before deletion, including its attached payrolls.

