Create a Child Support Garnishment

1. Get Child Support Agency Data

Use the GET /v1/garnishments/child_support endpoint to get information about all state child support agencies. This data includes agency name, identifying FIPS codes, and which case identifying attributes are required when creating a garnishment for this agency. While most agencies only require a single identifier, some (e.g. OH) require multiple identifiers.

2. Create a Child Support Garnishment

Using details of the garnishment you want to add from Step 1, you can now create the employee garnishment using the POST /v1/employees/{employee_uuid}/garnishments endpoint. The employee_uuid is a required path param.

curl --request POST \
     --url https://api.gusto-demo.com/v1/employees/{{employee_uuid}}/garnishments \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'authorization: Bearer {{company_access_token}}' \
     --data '{
  "active": true,
  "court_ordered": true,
  "times": null,
  "recurring": true,
  "annual_maximum": null,
  "pay_period_maximum": 500,
  "deduct_as_percentage": true,
  "child_support": {
    "state": "CA",
    "fips_code": "06000"
    "payment_period": "Monthly",
    "case_number": "12345678"
  },
  "amount": 50,
  "garnishment_type": "child_support"
}'

Notes about Creating a Child Support Garnishment:

  • Child support garnishments must be court_ordered: true, garnishment_type: 'child_support', and deduct_as_percentage: true.
  • Child support garnishments require amount and pay_period_maximum.
    • amount is the maximum percentage deduction per paycheck
    • pay_period_maximum is the dollar amount to deduct. pay_period_maximum works in conjunction with the child support garnishment specific attribute child_support.payment_period. E.g. an order for $500 monthly maximum of 40% of pay would have amount: 40, pay_period_maximum: 500, child_support.payment_period: “Monthly”
  • Descriptions for child support garnishments will be auto-generated in the form of Child support - <case_number_identifier>
  • Most states use a state level FIPS code, while some require county level FIPS codes (e.g. FL, IL, NY) - the child support agency data API provides this information which can be used to populate UI selections.
  • Most states only require case_number, but there are exceptions. This data is provided by the required_attributes of the agency data API, e.g:
    • OH requires case_number and order_number
    • ND requires remittance_number instead

🚧

Child Support Remittance

For almost all states, Gusto will automatically remit garnished pay to the appropriate agency.

Currently, the only exception is South Carolina. This information is provided programmatically by the manual_payment_required: true property of an agency in the agency data API. This means that for South Carolina, Gusto cannot automatically pay garnishments so you should display the following warning in your UI when an agency with this property is selected:

Reminder: you are responsible for this payment
Unfortunately, this agency doesn't support electronic payments, so you are responsible for paying the agency yourself.

3. Update a Child Support Garnishment

You can update an employee garnishment using the PUT v1/garnishments/{garnishment_id} endpoint to make changes as needed. The object version is a required parameter for this request.

curl --request PUT  
     --url <https://api.gusto-demo.com/v1/garnishments/garnishment_id>  
     --header 'accept: application/json'  
     --header 'content-type: application/json'  
     --header 'authorization: Bearer {{company_access_token}}'  
     --data '{  
  "court_ordered": true,  
  "garnishment_type": "child_support",  
  "recurring": true,  
  "deduct_as_percentage": true,  
  "amount": 40,  
  "pay_period_maximum": 600,  
  "child_support": {  
    "state": "CA",
    "fips_code": "06000",
    "payment_period": "Monthly",  
    "case_number": "12345678"  
  },  
  "version": "52b7c567242cb7452e89ba2bc02cb476"  
}'

4. (Optional) Confirm Garnishment Creation

You can determine what garnishments are applicable to an employee using the GET employees/{employee_id}/garnishments endpoint. The employee_uuid is a required path param for this request.

cURLJavaScript  
curl --request GET  
     --url '<https://api.gusto-demo.com/v1/employees/{employee_uuid}/garnishments'>  
     --header 'accept: application/json'  
     --header 'authorization: Bearer {{company_access_token}}'