---
title: "GET /deviceUpdate/{instanceId}/management/deviceClasses"
method: GET
path: "/deviceUpdate/{instanceId}/management/deviceClasses"
tags: ["Device and deployment management"]
---

# GET /deviceUpdate/{instanceId}/management/deviceClasses

`GET /deviceUpdate/{instanceId}/management/deviceClasses`

Gets a list of all device classes (unique combinations of device manufacturer and model) for all devices connected to Device Update for IoT Hub.

## Path parameters

- `instanceId` string, required

## Query parameters

- `api-version` string, required

## Response `200`

All device classes.

- DeviceClassesList — The list of device classes.
  - `value` DeviceClass[], required — The collection of pageable items.
    - `deviceClassId` string, required — The device class identifier.
    - `friendlyName` string — The device class friendly name. This can be updated by callers after the device class has been automatically created.
    - `deviceClassProperties` DeviceClassProperties, required — The device class properties that are used to calculate the device class Id
      - `contractModel` ContractModel — The Device Update agent contract model.
        - `id` string, required — The Device Update agent contract model Id of the device class. This is also used to calculate the device class Id.
        - `name` string, required — The Device Update agent contract model name of the device class. Intended to be a more readable form of the contract model Id.
      - `compatProperties` object, required — The compat properties of the device class. This object can be thought of as a set of key-value pairs where the key is the name of the compatibility property and the value is the value of the compatibility property. There will always be at least 1 compat property
    - `bestCompatibleUpdate` UpdateInfo — Update information.
      - `updateId` UpdateId, required — Update identifier.
        - `provider` string, required — Update provider.
        - `name` string, required — Update name.
        - `version` string, required — Update version.
      - `description` string — Update description.
      - `friendlyName` string — Friendly update name.
  - `nextLink` string — The link to the next page of items.

## Other responses

- `default` — Default response.

## Changes

- **2026-07-13** (2020-09-01) `5ba53cf1b884` — 1 info
  - endpoint added
- **2026-07-13** (2020-09-01) `6f894985f81d` — 1 info
  - added the new optional `query` request parameter `filter`
- **2021-03-02** (2020-09-01) `be0eed01a5b1` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/azure/apis/deviceupdate-microsoft-deviceupdate/changes/deviceUpdate/:instanceId/management/deviceClasses/get.md)

---

[API](https://skmtc.dev/azure/apis/deviceupdate-microsoft-deviceupdate.md) · [All operations](https://skmtc.dev/azure/apis/deviceupdate-microsoft-deviceupdate/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/azure/deviceupdate-microsoft-deviceupdate/revisions/5ba53cf1b884/schema)
