Device Groups

Download the specification.

Device Groups provide a way to organize and manage devices within a project. Each group represents a subset of the project’s registered devices, and a device may belong to multiple groups in the same project. Beyond simple grouping, a Device Group also defines the project’s “processing plan” for incoming device data—known as a flow in the Things Manager. A flow brings together four elements: the devices it applies to, the decoders used to interpret their uplinks, encoders used to encode downlinks, and the destinations where decoded messages are forwarded.

At present, the Device Groups API focuses on device membership, allowing you to add or remove devices from a group. Configuration of flows themselves—such as managing decoders, encoders, or destinations—remains available through the Things Manager web interface.

Retrieve device groups filtered and sorted by specified search and sort criteria

get

Retrieve all device groups that match the query parameters given. If a search parameter is provided, device groups whose name or description (partially) match are returned.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
cursorstring · cursorOptional

String that encodes all necessary information to retrieve a page.

limitintegerOptional

Limit the number of results (per page).

Default: 50
sortstringOptional

Sorting fields separated by comma. Default order is Ascending (ASC), minus(-) should be used in front of field name for Descending (DESC) order.

Example: createdAt,-name
qstringOptional

Include only device groups whose names or descriptions contain the search term. Matching is done case-insensitively.

clientIdstring · uuidOptional

Include only device groups owned by the client with the provided clientId. If clientId is omitted, all device groups are included that are accessible to the caller.

projectIdstring · uuidOptional

Include only device groups associated with the project with the provided projectId. If projectId is omitted, all device groups are included that are accessible to the caller.

createdBeforestring · date-timeOptional

Include only device groups created before the provided date and time. The date-time must be in ISO 8601 format.

createdSincestring · date-timeOptional

Include only device groups created at or after the provided date and time. The date-time must be in ISO 8601 format.

modifiedBeforestring · date-timeOptional

Include only device groups modified before the provided date and time. The date-time must be in ISO 8601 format.

modifiedSincestring · date-timeOptional

Include only device groups modified at or after the provided date and time. The date-time must be in ISO 8601 format.

Responses
200

A list of device groups matching the search criteria.

application/json
Responseall of

A paginated list of device groups

and
get
/device-groups
200

A list of device groups matching the search criteria.

No content

Create a new device group

post
Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body

A group of devices.

idstring · uuidRead-onlyOptional

The unique identifier of the device group.

Example: 36e75427-4c6e-438c-89b5-0cbdb0d4068c
namestring · min: 1 · max: 255Required

The name of the device group.

Example: Parking sensors device group
descriptionstring · max: 255Optional

A description of the device group.

Example: This is a group of devices containing parking sensor devices.
projectIdstring · uuidRequired

The project identifier to which this device group belongs.

Example: 12345678-1234-1234-1234-123456789012
createdAtstring · date-timeRead-onlyOptional

The timestamp when the device group is created in the system.

Example: 2025-07-01T23:00:00.000Z
createdBystringRead-onlyOptional

The user who created the device group.

Example: principal/9ebbb3b1-1b6b-46e7-8d58-bb8fe7ae24d4
modifiedAtstring · date-timeRead-onlyOptional

The timestamp when the device group is last modified in the system.

Example: 2025-07-01T23:00:00.000Z
modifiedBystringRead-onlyOptional

The user who last modified the device group.

Example: principal/9ebbb3b1-1b6b-46e7-8d58-bb8fe7ae24d4
Responses
post
/device-groups
201

Device group has been created successfully.

No content

Retrieve a device group by its ID

get

Retrieve a device group by its ID. The device group must be accessible to the caller.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
deviceGroupIdstring · uuidRequired

The ID of the device group to retrieve.

Responses
200

The requested device group.

application/json
get
/device-groups/{deviceGroupId}
200

The requested device group.

No content

Update an existing device group

put
Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
deviceGroupIdstring · uuidRequired

The ID of the device group to update.

Body

A group of devices.

idstring · uuidRead-onlyOptional

The unique identifier of the device group.

Example: 36e75427-4c6e-438c-89b5-0cbdb0d4068c
namestring · min: 1 · max: 255Required

The name of the device group.

Example: Parking sensors device group
descriptionstring · max: 255Optional

A description of the device group.

Example: This is a group of devices containing parking sensor devices.
projectIdstring · uuidRequired

The project identifier to which this device group belongs.

Example: 12345678-1234-1234-1234-123456789012
createdAtstring · date-timeRead-onlyOptional

The timestamp when the device group is created in the system.

Example: 2025-07-01T23:00:00.000Z
createdBystringRead-onlyOptional

The user who created the device group.

Example: principal/9ebbb3b1-1b6b-46e7-8d58-bb8fe7ae24d4
modifiedAtstring · date-timeRead-onlyOptional

The timestamp when the device group is last modified in the system.

Example: 2025-07-01T23:00:00.000Z
modifiedBystringRead-onlyOptional

The user who last modified the device group.

Example: principal/9ebbb3b1-1b6b-46e7-8d58-bb8fe7ae24d4
Responses
200

Device group has been updated successfully.

application/json
put
/device-groups/{deviceGroupId}
200

Device group has been updated successfully.

No content

Delete a device group by its ID

delete
Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
deviceGroupIdstring · uuidRequired

The ID of the device group to delete.

Responses
delete
/device-groups/{deviceGroupId}
204

Device group has been deleted successfully.

No content

Retrieve the devices linked to a device group

get

Retrieve all devices linked to a device group. The device group must be accessible to the caller.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
deviceGroupIdstring · uuidRequired

The ID of the device group for which to retrieve linked devices.

Query parameters
createdBeforestring · date-timeOptional

Include only links created before the provided date and time. The date-time must be in ISO 8601 format.

createdSincestring · date-timeOptional

Include only links created at or after the provided date and time. The date-time must be in ISO 8601 format.

cursorstring · cursorOptional

String that encodes all necessary information to retrieve a page.

limitintegerOptional

Limit the number of results (per page).

Default: 50
sortstringOptional

Sorting fields separated by comma. Default order is Ascending (ASC), minus(-) should be used in front of field name for Descending (DESC) order.

Example: createdAt,-name
Responses
200

Page of devices linked to the specified device group.

application/json
Responseall of

A paginated list of device group to device links

and
get
/device-groups/{deviceGroupId}/devices
200

Page of devices linked to the specified device group.

No content

Link a device to a device group

post
Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
deviceGroupIdstring · uuidRequired

The ID of the device group for which to retrieve linked devices.

Body

A link between a device group and a device.

deviceGroupIdstring · uuidRead-onlyOptional

The identifier of the device group.

Example: aacaf415-a800-4adb-9258-3e3b671d6492
deviceIdstring · uuidOptional

The identifier of the device.

Example: 11122598-fa9e-4262-a6c9-a0a34c885c86
createdAtstring · date-timeRead-onlyOptional

The timestamp when the device link was created in the system.

Example: 2025-07-01T23:00:00.000Z
createdBystringRead-onlyOptional

The user who created the device link.

Example: principal/fe288bc5-8652-4ecc-806b-7cf0c7db085e
_embeddedall ofOptional
and
Responses
200

Device has been linked to the device group successfully.

application/json
post
/device-groups/{deviceGroupId}/devices
200

Device has been linked to the device group successfully.

No content

Unlink a device from a device group

delete
Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
deviceGroupIdstring · uuidRequired

The ID of the device group to unlink the device from.

deviceIdstring · uuidRequired

The ID of the device to unlink from the device group.

Responses
delete
/device-groups/{deviceGroupId}/devices/{deviceId}
204

Device has been unlinked from the device group successfully.

No content

Last updated

Was this helpful?