Update employee deduction

Update an existing deduction by ID; changes apply from the next pay cycle.

Beta. Updates an existing deduction by ID. Changes apply to the next pay
cycle. Same body shape as create — pass the full deduction (PUT replaces all
fields). If US Payroll rejects the update at downstream validation time, the
API returns HTTP 400 with the standard error body (not HTTP 200 with a
status: failed field).

Rate limit: 200 requests per minute per authenticated caller.

Path Params
string
required

Unique identifier of the employer.

string
required

Unique Bob employee identifier.

string
required

Unique identifier of the deduction to update.

Body Params

Bulk request body for create and update deduction operations. The items
array must contain exactly one deduction object.

string
required

Vendor name to record as the source of this deduction in US payroll
(e.g. "Fidelity", "Empower"). Required so the deduction can be
reconciled back to the integrator.

items
array of objects
required
length between 1 and 1

Deductions to create or update. Exactly one item is allowed per request.

items*
string
required

Deduction type code as a numeric string. See HiBob's deduction type
reference list for valid values (e.g. "1" for 401(k)).

string
required

Display name of the deduction.

employeeCost
object
required

Employee-paid portion of the deduction.

employerCost
object
required

Employer-paid portion of the deduction.

employeeAnnualMaximum

Annual maximum the employee can contribute, when applicable.

employerAnnualMaximum

Annual maximum the employer can contribute, when applicable.

string
required
^\d{4}-\d{2}-\d{2}$

Effective start date for the employee's deduction.

string | null
^\d{4}-\d{2}-\d{2}$

Effective end date for the employee's deduction. Omit for open-ended deductions.

string | null
^\d{4}-\d{2}-\d{2}$

Effective start date for the employer's contribution.

string | null
^\d{4}-\d{2}-\d{2}$

Effective end date for the employer's contribution. Omit for open-ended contributions.

coverageAmount

Coverage amount when applicable (e.g. life insurance face value).

string | null

Coverage type label (e.g. "Flat Amount", "Based on Salary").

Valid values come from the coverageTypes system list (GET /metadata/lists/coverageTypes).

string | null

Limit option label when applicable (e.g. "Family", "Individual").

Valid values come from the limitOptions system list (GET /metadata/lists/limitOptions).

boolean | null
Defaults to true

true to enable catch-up contributions. Defaults to true when omitted.

Responses

Language
Credentials
Bearer
OAuth 2.0
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json