Create a child support garnishment
Retrieve agency information and create, update, and confirm child support garnishments
Child support garnishments are court-ordered deductions from an employee’s wages to help cover child support obligations.
Employers are legally required to process these deductions and remit the payments to the appropriate state agency. Gusto’s API allows you to programmatically manage these garnishments, ensuring compliance and timely payments.
1. Get child support agency data
Retrieve the list of supported child support agencies using the GET /v1/garnishments/child_support endpoint.
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.
This request returns details for all state child support agencies, including the agency name, FIPS code, and required identifying attributes such as case number or remittance number. Most agencies require only one identifier, but some (for example, Ohio) require multiple.
Sample request
curl --request GET \
--url https://api.gusto-demo.com/v1/garnishments/child_support \
--header 'X-Gusto-API-Version: {version}' \
--header 'accept: application/json' \
--header 'authorization: Bearer {access_token}'Sample response
{
"agencies": [
{
"state": "AK",
"name": "Alaska Child Support Services Division",
"manual_payment_required": false,
"fips_codes": [
{
"county": null,
"code": "0200000"
}
],
"required_attributes": [
{
"key": "case_number",
"label": "CSE Case Number"
}
]
},
{
"state": "OH",
"name": "Ohio Office of Child Support Enforcement",
"manual_payment_required": false,
"fips_codes": [
{
"county": null,
"code": "39000"
}
],
"required_attributes": [
{
"key": "case_number",
"label": "CSE Case Number"
},
{
"key": "order_number",
"label": "Order Identifier"
}
]
}
]
}2. Create a child support garnishment
Once you have the required agency information, you can create a garnishment for an employee using the POST /v1/employees/{employee_uuid}/garnishments
Sample request
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"
}'Sample response
{
"uuid": "4c7841a2-1363-497e-bc0f-664703c7484f",
"version": "52b7c567242cb7452e89ba2bc02cb476",
"employee_uuid": "a6b53294-f871-4db2-bbd4-8c3d1fe56440",
"active": true,
"amount": "8.00",
"description": "Company loan to employee",
"court_ordered": false,
"times": 5,
"recurring": false,
"annual_maximum": null,
"total_amount": null,
"pay_period_maximum": "100.00",
"deduct_as_percentage": true,
"garnishment_type": null,
"child_support": null
}Important considerations
- Child support garnishments must be
court_ordered: true,garnishment_type: 'child_support', anddeduct_as_percentage: true. - Child support garnishments require
amountandpay_period_maximum.amountis the maximum percentage deduction per paycheckpay_period_maximumis the dollar amount to deduct.pay_period_maximumworks in conjunction with the child support garnishment specific attributechild_support.payment_period. E.g. an order for $500 monthly maximum of 40% of pay would haveamount: 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 therequired_attributesof the agency data API, e.g:- OH requires
case_numberandorder_number - ND requires
remittance_numberinstead
- OH requires
Automatic vs manual remittanceGusto cannot automatically pay garnishments if the garnishment was collected on an off-cycle payroll
or if the garnishment came from the state of South Carolina.For almost all states, Gusto automatically remits garnished wages to the appropriate agency for regular payrolls.
Currently, the only exception is South Carolina. This information is provided by the
manual_payment_required: trueproperty 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
To change an existing garnishment, use the PUT /v1/garnishments/{garnishment_id}. The object version is a required parameter for this request.
Sample 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.00,
"pay_period_maximum": 600.00,
"child_support": {
"state": "CA",
"fips_code": "06000",
"payment_period": "Monthly",
"case_number": "12345678"
},
"version": "52b7c567242cb7452e89ba2bc02cb476"
}'Sample response
{
"uuid": "4c7841a2-1363-497e-bc0f-664703c7484f",
"version": "52b7c567242cb7452e89ba2bc02cb476",
"employee_uuid": "a6b53294-f871-4db2-bbd4-8c3d1fe56440",
"active": true,
"amount": "40.00",
"description": "Company loan to employee",
"court_ordered": false,
"times": 5,
"recurring": false,
"annual_maximum": null,
"total_amount": null,
"pay_period_maximum": "600.00",
"deduct_as_percentage": true,
"garnishment_type": null,
"child_support": null
}
4. (Optional) Confirm garnishment creation
View the garnishments applicable for an employee using the GET employees/{employee_id}/garnishments.
Sample 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}}'Sample response
[
{
"uuid": "4c7841a2-1363-497e-bc0f-664703c7484f",
"version": "52b7c567242cb7452e89ba2bc02cb476",
"employee_uuid": "a6b53294-f871-4db2-bbd4-8c3d1fe56440",
"active": true,
"amount": "8.00",
"description": "Company loan to employee",
"court_ordered": false,
"times": 5,
"recurring": false,
"annual_maximum": null,
"total_amount": null,
"pay_period_maximum": "100.00",
"deduct_as_percentage": true,
"garnishment_type": null,
"child_support": null
},
{
"uuid": "4c7841a2-1363-497e-bc0f-664703c7481a",
"version": "52b7c567242cb7452e89ba2bc02cb383",
"employee_uuid": "a6b53294-f871-4db2-bbd4-8c3d1fe56440",
"active": true,
"amount": "40.00",
"description": "Child support - AZ28319",
"court_ordered": true,
"times": null,
"recurring": true,
"annual_maximum": null,
"total_amount": null,
"pay_period_maximum": "400.00",
"deduct_as_percentage": true,
"garnishment_type": "child_support",
"child_support": {
"state": "AZ",
"payment_period": "Monthly",
"case_number": "AZ28319",
"order_number": null,
"remittance_number": null,
"fips_code": "04000"
}
}
]Updated 1 day ago