Child Support
Child Support Deduction
Creates a child support income-withholding deduction for an employee, based on a court or agency order. Use this when you've received an income withholding order (IWO) for an employee and need to start deducting support payments from their pay.
Endpoint
POST https://api.worklio.com/wep/companies/{CLIENT_ID}/employees/{EMPLOYEE_ID}/deductions/childsupport
CLIENT_ID is the company identifier returned as id when you create the company. EMPLOYEE_ID is the employee identifier returned as id when you create the employee.
Auth
Requires a bearer access token (see How to Get API Access).
Request fields
| Field | Type | Required | Description |
|---|---|---|---|
description | string | null | Yes | Free-text label for the deduction, e.g. "Child support." |
startDate | string (ISO 8601 date-time) | Yes | Date withholding begins. |
receivedDate | string (ISO 8601 date-time) | Yes | Date the income withholding order was received. |
caseNumber | string | null | Yes | The child support case/order number assigned by the issuing agency, e.g. "AZ-2023-123456". |
fipsCode | string | null | Yes | FIPS code of the issuing state or county child support agency. |
state | string | null | Yes | Two-letter USPS code for the state that issued the order, e.g. "NY". |
amount | double | Yes | Amount deducted from the employee's pay each pay period. Must be ≥ 0. |
percentageLimit | double | Yes | Maximum percentage of the employee's disposable earnings that can be withheld for this order. Must be ≥ 0. |
endDate | string (ISO 8601 date-time) | null | No | Date withholding stops. |
note | string | null | No | Free-text internal note. |
issuingAuthority | string | null | No | Name of the agency or court that issued the order. |
goal | double | No | Must be ≥ 0. Default 0. |
exemptAmount | double | null | No | Must be ≥ 0. |
inArrears | boolean | No | Whether this order is currently in arrears. |
anotherChild | boolean | No | Whether the employee has a support obligation for another child. |
childPastDueSupport | double | null | No | Must be ≥ 0. |
stateDispRed | double | null | No | Must be ≥ 0. |
medicalChildSupport | boolean | No | Whether this order includes a medical support obligation. |
custodialParent | string | null | No | Name of the custodial parent named on the order. |
Example request
require("dotenv").config();
const TOKEN = process.env.API_KEY;
const CLIENT_ID = process.env.CLIENT_ID;
const EMPLOYEE_ID = process.env.EMPLOYEE_ID;
const url = `https://api.worklio.com/wep/companies/${CLIENT_ID}/employees/${EMPLOYEE_ID}/deductions/childsupport`;
const payload = {
fipsCode: "06001",
amount: 350,
percentageLimit: 50,
state: "NY",
caseNumber: "AZ-2023-123456",
receivedDate: "2026-09-14T00:00:00Z",
startDate: "2026-09-14T00:00:00Z",
description: "Child support."
};
async function addChildSupportDeduction() {
const response = await fetch(url, {
method: "POST",
headers: {
accept: "application/json",
"api-version": "2.0",
authorization: `Bearer ${TOKEN}`,
"content-type": "application/json",
"x-api-version": "2.0"
},
body: JSON.stringify(payload)
});
console.log(response.status);
const raw = await response.text();
console.log(JSON.stringify(JSON.parse(raw), null, 2));
}
addChildSupportDeduction();curl -s -X POST "https://api.worklio.com/wep/companies/$CLIENT_ID/employees/$EMPLOYEE_ID/deductions/childsupport" \
-H "accept: application/json" \
-H "api-version: 2.0" \
-H "authorization: Bearer $API_KEY" \
-H "content-type: application/json" \
-H "x-api-version: 2.0" \
-d '{
"fipsCode": "06001",
"amount": 350,
"percentageLimit": 50,
"state": "NY",
"caseNumber": "AZ-2023-123456",
"receivedDate": "2026-09-14T00:00:00Z",
"startDate": "2026-09-14T00:00:00Z",
"description": "Child support."
}' | jq .Example response
{
"id": 576,
"issuingAuthority": "",
"receivedDate": "2026-09-14",
"caseNumber": "AZ-2023-123456",
"fipsCode": "06001",
"state": "NY",
"goal": 0,
"amount": 350,
"percentageLimit": 50,
"inArrears": false,
"anotherChild": false,
"medicalChildSupport": false,
"custodialParent": "",
"description": "Child support.",
"startDate": "2026-09-14",
"note": ""
}id is assigned by Worklio and isn't set in the request.
Note that startDate and receivedDate are sent as full ISO 8601 date-time strings but come back as date-only strings (YYYY-MM-DD) — the time-of-day portion isn't preserved in the response.
<!-- Paste a captured error response here (e.g. invalid fipsCode format, or a missing required field) -->Updated 37 minutes ago
Did this page help you?
