Organization structure

Get Companies

GET
/companies

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
X-API-KEY<token>

Your API key.

In: header

Query Parameters

api-version*string

API version

Default"3.0"
Value in"3.0"
page-number?integer

Page number (1-based). Defaults to 1 if not specified.

Formatint32
Range1 <= value <= 2147483647
page-size?integer

Number of items per page. Defaults to 100 if not specified. Maximum 500.

Formatint32
Range1 <= value <= 500
organization-ids?array<>

Optional. Return only companies that belong to these organizations. Maximum 100 IDs per request.

Itemsitems <= 100
company-ids?array<>

Optional. Return only companies with these IDs. Maximum 100 IDs per request.

Itemsitems <= 100

Response Body

curl -X GET "https://external-app-prod.netchexonline.net/companies?api-version=3.0"
{
  "pageNumber": 0,
  "pageSize": 0,
  "totalItemsCount": 0,
  "items": [
    {
      "id": 0,
      "name": "string",
      "code": "string",
      "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
      "organizationName": "string"
    }
  ]
}
{
  "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 Employee Department Assignments GET

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

Get Company GET

Returns a single company by ID. **Access control:** Returns 404 if the company does not exist or your integration does not have access to it. **Error Details:** - **404 Not Found** — company does not exist or your integration does not have access to it