Update Employee Scheduled Deductions
Creates or updates employee scheduled deductions in a batch. A scheduled deduction is a recurring or one-time amount withheld from an employee's paycheck for a specific deduction type. If an employee already has a deduction for the specified type, it is updated; otherwise, a new one is created.
Currently supports Voluntary deductions only.
All changes within a single request succeed or fail together (transactional). Maximum of 500 deductions per request.
Error Details:
- 400 Bad Request — request body is empty, batch exceeds 500 items, or validation errors in individual items
Authorization
XApiKey Your API key.
In: header
Query Parameters
API version
"3.0""3.0"Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X PUT "https://external-app-prod.netchexonline.net/employee-scheduled-deductions?api-version=3.0" \ -H "Content-Type: application/json" \ -d '{}'{
"items": [
{
"employeeDeductionId": 0,
"employeeId": 0,
"companyDeductionId": 0,
"status": "created"
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Get Pending Paycheck Earnings GET
Returns a paginated list of pending paycheck earnings. A pending paycheck earning is a one-time amount to be included in an employee's current or upcoming payroll run for a specific earning type (e.g., a bonus or additional hours). **Optional Filters:** - `organization-id` — limit to earnings for companies belonging to these organizations - `company-ids` — limit to earnings for these companies - `employee-ids` — limit to earnings for these employees. Employees belonging to companies that your integration cannot access are automatically excluded by the company-level access check; no error is returned for inaccessible employee IDs. - `company-earning-id` — limit to a specific earning type - `pending-paycheck-earning-ids` — look up specific records by ID; when supplied, date filters are ignored - `external-unique-id` + `data-source` — look up a record by the ID assigned by the originating system (both must be provided together) - `effective-date-from` / `effective-date-to` — inclusive date bounds. **Required** unless filtering by `pending-paycheck-earning-ids`. Both dates must be supplied together. Date range cannot exceed 365 days. Multiple filters combine with AND logic; values within one parameter combine with OR. **Access control:** Results are limited to companies your integration has access to. When `organization-id` is supplied, only results from organizations containing at least one accessible company are included. Inaccessible IDs in filter parameters are silently excluded; if none match, an empty list is returned. **Error Details:** - **400 Bad Request** — `effective-date-from` is after `effective-date-to`, or the date range exceeds 365 days
Get Time Punches GET
Returns a paginated list of time punches. A time punch is a clock-in or clock-out event recorded by an employee, capturing the timestamp and optionally which department or project the time was recorded against. **Filters:** - `start-date` **Required.** Start of the date range (inclusive, YYYY-MM-DD). - `end-date` **Required.** End of the date range (inclusive, YYYY-MM-DD). - Exactly one of `organization-ids`, `company-ids`, or `employee-ids` is required; providing more than one or none returns 400. - `data-source` — optional, limit to punches from a specific data source - `project-ids` — optional, further filter by project IDs - `client-ids` — optional, further filter by client IDs Multiple filters combine with AND logic; values within one parameter combine with OR. **Access control:** Results are limited to companies your integration has access to. Inaccessible IDs in filter parameters are silently excluded. **Error Details:** - **400 Bad Request** — `start-date` or `end-date` is missing or not in YYYY-MM-DD format, `end-date` is before `start-date`, more than one scope filter is provided, or no scope filter is provided - **404 Not Found** — no time punches were found for the specified filters