Get Employee Department Assignments
Returns a paginated list of employees with the departments they are assigned to work in. Each result includes the employee's company and the list of department IDs they can record time against.
Filters:
company-ids— return assignments for all employees in these companiesemployee-ids— return assignments for these specific employees- Exactly one of
company-idsoremployee-idsis required; providing both or neither returns 400. include-hidden— when true (default), inactive departments are included in the resultsinclude-departments— when true, the response includes anincluded.departmentsobject with deduplicated department details for all department IDs referenced on the current page
Access control: Results are limited to companies your integration has access to.
When company-ids is supplied, only employees from accessible companies are included.
Inaccessible IDs in filter parameters are silently excluded.
Error Details:
- 400 Bad Request — neither
company-idsnoremployee-idsis provided, both are provided, any ID is not a positive integer, orpage-sizeoutside 1–500 - 404 Not Found — no employee department assignments were found for the specified filter
Authorization
XApiKey Your API key.
In: header
Query Parameters
API version
"3.0""3.0"Return department assignments for all employees in these companies. Provide either company-ids or employee-ids, not both.
Return department assignments for these specific employees. Provide either company-ids or employee-ids, not both.
Page number (default: 1, must be ≥ 1).
int32Items per page (1–500, default: 50).
int32Include inactive departments in the results (default: true).
When true, the response includes full department details in the included.departments property for all department IDs referenced on the current page.
Response Body
curl -X GET "https://external-app-prod.netchexonline.net/employee-department-assignments?api-version=3.0"{
"pageNumber": 0,
"pageSize": 0,
"totalItemsCount": 0,
"items": [
{
"employeeId": 0,
"employeeCode": "string",
"firstName": "string",
"lastName": "string",
"companyId": 0,
"companyCode": "string",
"isRestrictedByAllDepartments": true,
"departmentIds": [
0
]
}
],
"included": {
"departments": [
{
"departmentId": 0,
"departmentCode": "string",
"departmentName": "string",
"divisionId": "string",
"divisionCode": "string",
"businessUnitId": "string",
"businessUnitCode": "string",
"companyCode": "string",
"companyId": 0,
"isRestrictedByAllDepartments": true
}
]
}
}{
"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
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Get Direct Entry Earnings GET
Returns a paginated list of direct entry earnings. A direct entry earning is a manually entered earning record for an employee — such as a bonus, reimbursement, or supplemental pay — entered directly rather than calculated from time clock punches. **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 earnings 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 direct entry earnings were found for the specified filters
Get Companies GET
Returns a paginated list of companies. Each company belongs to an organization. **Optional Filters:** - `organization-ids` — limit to companies belonging to these organizations (max 100) - `company-ids` — limit to these companies (max 100) 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-ids` is supplied, only companies 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** — more than 100 IDs supplied to `organization-ids` or `company-ids`, or `page-size` outside 1–500