Record employee opt-out
Records an employee’s decision to opt out of the pension scheme. The membership status is updated to OPTED_OUT and the opt-out date is stored. Contribution refunds (if within the statutory one-month opt-out window) are applied separately in the next payroll run and are not handled here. Returns 409 if the employee is not currently actively enrolled.
Authorizations
Get token from Auth0 and paste it here
Body
Request to record an employee's opt-out from the pension scheme.
Date on which the opt-out takes effect
Response
Successful Response
Current pension membership state for an employee.
Reflects the latest (highest version) membership history record. Per-employee rate override fields (employee_rate, employer_rate, etc.) are null when the scheme defaults apply; non-null values take precedence over the scheme.
Date from which this version of the membership record is effective
Current membership status: ACTIVE (enrolled, contributions calculated), OPTED_OUT (left the scheme; contributions refunded if within 1-month opt-out window), NOT_ENROLLED (no active membership)
ACTIVE, OPTED_OUT, NOT_ENROLLED Sequential version number of this membership record; starts at 0, incremented on each change (status change, rate update, etc.)
AE worker category at enrolment time: ELIGIBLE_JOBHOLDER (age 22–SPA, earnings ≥ trigger — employer must enrol), NON_ELIGIBLE_JOBHOLDER (outside age/earnings band — can opt in), ENTITLED_WORKER (earnings below lower limit — can join, employer need not contribute), EXCLUDED (not subject to AE). Null if not yet enrolled
ELIGIBLE_JOBHOLDER, NON_ELIGIBLE_JOBHOLDER, ENTITLED_WORKER, EXCLUDED How the employee entered the scheme: AUTO_ENROLLED (system enrolled automatically at payroll approval), OPTED_IN (employee requested enrolment), JOINED (entitled worker chose to join). Null if not enrolled
AUTO_ENROLLED, OPTED_IN, JOINED Date on which the membership became ACTIVE; null if not yet enrolled
Date the employee opted out; null if not opted out
Date the statutory enrolment letter was issued to the employee; used to validate the 1-month opt-out window
UUID of the pension scheme the employee is enrolled in; null for legacy memberships created before multi-scheme support (engine falls back to the org's default scheme)
Timestamp when this version of the membership record was created
User identifier who created this version; null if created by the system (e.g. auto-enrolment)
Date on which this version expires (exclusive); null = current version. Set automatically when a new version is created
Per-employee employee contribution rate override; null = use scheme default
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Per-employee employer contribution rate override; null = use scheme default
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Per-employee maximum employee contribution per period; null = use scheme default
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Per-employee maximum employer contribution per period; null = use scheme default
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Per-employee tax treatment override (e.g. RELIEF_AT_SOURCE for an employee whose scheme is SALARY_SACRIFICE); null = use scheme default
NET_PAY, RELIEF_AT_SOURCE, SALARY_SACRIFICE Per-employee wage type code override for the payslip deduction line; null = use scheme default. Required when tax_treatment override is set