Notifies a gateway to add a topology.

Usage notes

If a successful response is returned, it indicates that the command to add a topology is sent to a gateway. However, it does not indicate that the topology is added to the gateway.

When you implement a gateway, you must subscribe to a topic that publishes messages when new topologies are added. For more information about the related topic and message format, see Manage topologies.


Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).

Note Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.


OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes NotifyAddThingTopo

The operation that you want to perform. Set the value to NotifyAddThingTopo.

IotInstanceId String No iot_instc_pu****_c*-v64********

The instance ID. This parameter is not required for public instances. However, the parameter is required for the instances that you have purchased.

DeviceListStr String No [{"productKey":"a1BwAGV****","deviceName":"device1"},{"IotId":"Q7uOhVRdZRRlDnTLv****00100"}]

The sub-devices that you want to attach to the gateway. This parameter is a JSON string that includes the identities of sub-devices. You can specify a combination of the ProductKey and DeviceName parameters or the IotId parameter to identify a sub-device, for example, [{"productKey":"a1BwAGV1234","deviceName":"device1"},{"IotId":"Q7uOhVRdZRRlDnTLv123400100"}].

GwIotId String No vWxNur6BUApsqjv****4000100

The ID of the gateway. The ID is the unique identifier that is issued by IoT Platform to the device.

Note If you specify this parameter, you do not need to specify the ProductKey or DeviceName parameter. The IotId parameter specifies a unique identifier for the device, and corresponds to a combination of the ProductKey and DeviceName parameters. If you specify the IotId parameter and a combination of the ProductKey and DeviceName parameters at the same time, the IotId parameter takes precedence.
GwProductKey String No a1T27vz****

The key of the product to which the gateway belongs.

Note If you specify this parameter, you must also specify the DeviceName parameter.
GwDeviceName String No gateway

The name of the gateway.

Note If you specify this parameter, you must also specify the ProductKey parameter.

In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information, see Common request parameters.

Response parameters

Parameter Type Example Description
Code String iot.system.SystemException

The error code returned if the call fails. For more information, see Error codes.

Data Struct

The data returned if the call succeeds.

MessageId String 5443123

The ID of the message that IoT Platform sends to the gateway. The message is used to notify the gateway to add a topology.

ErrorMessage String A system exception occurred.

The error message returned if the call fails.

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

The ID of the request.

Success Boolean true

Indicates whether the call succeeds.

  • true: The call succeeded.
  • false: The call failed.


Sample requests
&<Common request parameters>

Sample success responses

XML format


JSON format

  "Success": true,
  "Data": {
     "MessageId": "2345123"

Error codes

For a list of error codes, visit the API Error Center.