/v1/recurring-line-items under the gateway base
URLs listed in the API reference introduction.
Key concepts
- Recurring line item — a repeating payment or deduction attached to one
employee via a pay element. It carries the amount per period, a start date
and optional end date, and a status:
Active,Suspended,Cancelled, orCompleted. - Mode — how the item decides when to stop.
DateRangeitems run between their start and end dates.Balanceitems deduct an amount per period against a balance target — the response tracks the opening balance, the amount settled to date, and the balance remaining. - Period — the record of the item’s application to a single pay period. A
period is addressed by tax year and sequence, and captures the original
value, the amount actually deducted, any shortfall, and a status:
Pending,Paid,PartiallyPaid, orSkipped. - Skip — a period that was not applied. Every skipped period records a reason code, whether you skipped it manually or the service skipped it — for example insufficient net pay, the protected earnings limit, or a paused schedule.
- Shortfall behaviour — what happens when the full amount cannot be taken
in a period:
Skipdrops the difference,CarryForwardadds it to later periods, capped by an optional carry cap multiplier. The item’s response reports the accumulated shortfall. - Protected earnings — an optional floor on the employee’s pay. When a
deduction would breach it, the period records a
ProtectedEarningsLimitskip reason.
API structure
All paths below are relative to the service base path.Recurring line items
Create an item withPOST /, supplying the employee, pay element, mode,
dates, and amounts. List an organisation’s items with GET /, filtering by
status and mode, or list one employee’s items with
GET /employees/{employeeId}. Fetch a single item with GET /{id}.
Item updates
PATCH /{id}/employees/{employeeId} updates an item in place — change
amounts, dates, or shortfall behaviour, or move the item between statuses to
suspend, resume, cancel, or complete it. DELETE /{id}/employees/{employeeId}
removes the item.
Periods
GET /{id}/employees/{employeeId}/tax-years lists the tax years an item has
periods in. GET /{id}/employees/{employeeId}/periods lists the periods,
optionally filtered by taxYear.
PATCH /{id}/employees/{employeeId}/periods/{taxYear}/{sequence} overrides
the amount for one period, and the matching DELETE skips that period.
Typical workflow
- Create a recurring line item with
POST /— pickDateRangefor a fixed run of dates, orBalancewith a balance target for a loan-style deduction. - Process payroll as normal — see Running a pay run. Each pay period the item covers is recorded with the amount taken and any shortfall.
- Review progress with
GET /{id}/employees/{employeeId}/periods, usingGET .../tax-yearsto find which tax years to query. - Adjust a single upcoming period with the period
PATCH(change its amount) or the periodDELETE(skip it) — the item itself is untouched. - Change the item’s amounts or dates, or suspend and later reactivate it,
with
PATCH /{id}/employees/{employeeId}. Balance items complete on their own once the balance remaining reaches zero.
Notes and best practices
- List endpoints paginate with
pageSizeandpaginationToken— pass the token from one response into the next request. - A period
PATCHaccepts only anamountand affects that period alone; to change every future period, updateamountPerPeriodon the item instead. - Skipped periods keep their skip reason code, so you can tell a manual skip apart from one caused by insufficient net pay or protected earnings.
- For
Balanceitems, watchbalanceRemainingandamountSettledToDateon the item rather than summing periods yourself.
Authentication
Every request needs anX-Auth-Token header, and credentials with access to
more than one organisation also send X-Org-Id — see
Authentication. Responses use the shared
envelope described in Response format.