Updated on 2026-01-29 GMT+08:00

Create a Device Group

Function

This API is used by an application to create a device group. Up to 1000 device groups, including parent device groups and child device groups, can be created in a Huawei Cloud account. The maximum number of group levels is five. It means that the relationship tree of groups can have up to five levels.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    iotda:group:create

    Write

    app *

    -

    -

    -

    -

    g:EnterpriseProjectId

URI

POST /v5/iot/{project_id}/device-group

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Parameter description: project ID. For details about how to obtain the project ID, see Obtaining a Project ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

Instance-Id

No

String

Parameter description: instance ID. Unique identifier of each instance in the physical multi-tenant scenario. Mandatory for professional editions and recommended in other cases. Log in to the IoTDA console and choose Overview in the navigation pane to view the instance ID. For details, see Viewing Instance Details.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

name

No

String

Parameter description: device group name, which must be unique in a single resource space.

Value: The value can contain a maximum of 64 characters. Only letters, digits, underscores (_), and question marks (?) are allowed. '#().,& %@!-.

description

No

String

Parameter description: device group description.

Value: The value can contain a maximum of 64 characters. Only letters, digits, underscores (_), and question marks (?) are allowed. '#().,& %@!-.

super_group_id

No

String

** Parameter description**: parent device group ID. If this parameter is carried, a child device group is created in the device group. Dynamic groups do not support this parameter.

Value: The value can contain a maximum of 36 characters, including hexadecimal strings and hyphens (-).

app_id

No

String

Parameter description: resource space ID. This parameter is optional. If you have multiple resource spaces, you can use this parameter to specify the resource space to which the device group to create will belong. If this parameter is not specified, the device group to create will belong to the default resource space.

Value: The value can contain a maximum of 36 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.

group_type

No

String

Parameter description: device group type. A static device group is used by default. When a dynamic device group is used, enter the dynamic device group rule.

Range:

  • DYNAMIC: dynamic group

  • STATIC: static group

dynamic_group_rule

No

String

Parameter description: The syntax of the dynamic device group rule must be the same as that of Query Device List Flexibly. You only need to enter the where clause.

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

group_id

String

Device group ID. The ID is unique and is allocated by the platform during device group creation.

name

String

Device group name, which must be unique in a single resource space.

description

String

Device group description.

super_group_id

String

ID of the parent device group.

group_type

String

Parameter description: device group type. A static device group is used by default. When a dynamic device group is used, enter the dynamic device group rule.

Range:

  • DYNAMIC: dynamic group

  • STATIC: static group

dynamic_group_rule

String

Dynamic device group rule.

Example Requests

  • Creates a static device group named GroupA.

    POST https://{endpoint}/v5/iot/{project_id}/device-group
    
    {
      "name" : "GroupA",
      "description" : "GroupA",
      "super_group_id" : "04ed32dc1b0025b52fe3c01a27c2b0a8",
      "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka",
      "group_type" : "STATIC"
    }
  • Creates a dynamic device group named GroupA.

    POST https://{endpoint}/v5/iot/{project_id}/device-group
    
    {
      "name" : "GroupA",
      "description" : "GroupA",
      "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka",
      "dynamic_group_rule" : "product_id = '63fef97897bacf7a56438cba'",
      "group_type" : "DYNAMIC"
    }

Example Responses

Status code: 201

Created

{
  "group_id" : "04ed32dc1b0025b52fe3c01a27c2babc",
  "name" : "GroupA",
  "description" : "GroupA",
  "super_group_id" : "04ed32dc1b0025b52fe3c01a27c2b0a8",
  "group_type" : "STATIC",
  "dynamic_group_rule" : null
}

Status Codes

Status Code

Description

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.