Employee department assignments

Get Employee Department Assignments

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 companies
  • employee-ids — return assignments for these specific employees
  • Exactly one of company-ids or employee-ids is required; providing both or neither returns 400.
  • include-hidden — when true (default), inactive departments are included in the results
  • include-departments — when true, the response includes an included.departments object 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-ids nor employee-ids is provided, both are provided, any ID is not a positive integer, or page-size outside 1–500
  • 404 Not Found — no employee department assignments were found for the specified filter
X-API-KEY<token>

Your API key.

In: header

Query Parameters

api-version*string

API version

Default"3.0"
Value in"3.0"
company-ids?array<>

Return department assignments for all employees in these companies. Provide either company-ids or employee-ids, not both.

employee-ids?array<>

Return department assignments for these specific employees. Provide either company-ids or employee-ids, not both.

page-number?integer

Page number (default: 1, must be ≥ 1).

Formatint32
page-size?integer

Items per page (1–500, default: 50).

Formatint32
include-hidden?boolean

Include inactive departments in the results (default: true).

include-departments?boolean

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