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

Bind a Device Policy

Function

This API is used by an application to bind a policy to devices in batches on the IoT platform. Currently, the target type can be device or product. When the target type is product, the policy takes effect on all devices under the product.

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:devicepolicy:bind

    Permission_management

    app *

    -

    -

    -

    -

    g:EnterpriseProjectId

URI

POST /v5/iot/{project_id}/device-policies/{policy_id}/bind

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Parameter description: project ID. For details, see Obtaining a Project ID.

policy_id

Yes

String

Policy 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

target_type

Yes

String

Parameter description: type of the target bound to the policy.

Value: device, product, and app (the entire resource space).

target_ids

Yes

Array of strings

List of target IDs to which the policy is bound. A maximum of 20 IDs can be bound at a time.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

policy_id

String

Policy ID.

target_type

String

Parameter description: target type of a policy.

Value: device, product, and app (the entire resource space).

success_targets

Array of strings

ID list of successful targets.

failure_targets

Array of DevicePolicyBindOrUnbindFailureDetail objects

ID list of failed targets.

Table 5 DevicePolicyBindOrUnbindFailureDetail

Parameter

Type

Description

target_id

String

ID of the failed target.

error_code

String

Error code.

error_msg

String

Error details.

Example Requests

  • Binds a policy to a device.

    POST https://{endpoint}/v5/iot/{project_id}/device-policies/{policy_id}/bind
    
    {
      "target_type" : "device",
      "target_ids" : [ "64a7ba7ef9cb063d27e16b97_123456", "64a7ba7ef9cb063d27e16b97_123457" ]
    }
  • Binds a policy to a product.

    POST https://{endpoint}/v5/iot/{project_id}/device-policies/{policy_id}/bind
    
    {
      "target_type" : "product",
      "target_ids" : [ "64a7ba7ef9cb063d27e16b97" ]
    }

Example Responses

Status code: 200

OK

{
  "policy_id" : "5c90fa7d3c4e4405e8525079",
  "target_type" : "device",
  "success_targets" : [ "64a7ba7ef9cb063d27e16b97_123456", "64a7ba7ef9cb063d27e16b97_123457" ],
  "failure_targets" : [ {
    "target_id" : "64a7ba7ef9cb063d27e16b97_123458",
    "error_code" : "IOTDA.015204",
    "error_msg" : "Operation not allowed. The number of policies bound to the target reaches the upper limit (5)."
  } ]
}

Status Codes

Status Code

Description

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.