This article describes the error codes that are returned by IoT Platform API operations. For more information about how to fix errors that are related to request parameters, see operation-specific request parameters in the API documentation. These errors include the invalid data format, invalid data length, and invalid value.

System error codes

An error code that starts with iot.system indicates a system error.

Error code Description
iot.system.SystemException A system error occurred.

Try again later.

Common error codes

An error code that starts with iot.common indicates a common error.

Error code Description
iot.common.InvalidPageParams The specified page size or page number is invalid.

For more information, see the pagination-related parameters in the API documentation, for example, PageSize.

iot.common.InvalidTenant The specified tenant is invalid.

You must specify a valid Alibaba Cloud account and grant the required permissions to the account.

iot.common.QueryDeviceActionError Failed to query the device.

Check whether the request parameters are valid. Try again later.

iot.common.QueryDevicePropertyActionError Failed to query device properties.

Check whether the request parameters are valid. Try again later.

iot.common.QueryProductActionError Failed to query the product.

Check whether the request parameters are valid. Try again later.

iot.common.QueryProductCountActionError Failed to query the total number of products.

Check whether the request parameters are valid. Try again later.

iot.common.RamActionPermissionDeny The specified Resource Access Management (RAM) user does not have the required permissions.

For more information, see Grant permissions to a RAM user.

iot.common.AuthActionPermissionDeny Authentication failed.

This error may occur when the specified device information does not match the account. You must specify a valid AccessKey pair and device information.

Product-related error codes

An error code that start with iot.prod indicates a product-related error.

Error code Description
iot.prod.AlreadyExistedProductName The product name already exists. Each product name must be unique in an Alibaba Cloud account.
iot.prod.CreateProductFailed Failed to create the product.

Check whether the request parameters are valid. Try again later.

iot.prod.CreateProductTopicFailed Failed to create the topic category.

Check whether the request parameters are valid. Try again later.

iot.prod.InvalidAliyunCommodityCode The value of the AliyunCommodityCode parameter is invalid.

Valid values for the AliyunCommodityCode parameter are iothub_senior and iothub.

iot.prod.InvalidFormattedCatId The CategoryId parameter is invalid.
iot.prod.InvalidFormattedProductkey The format of the ProductKey parameter is invalid.

Check the value of the ProductKey parameter.

iot.prod.InvalidFormattedProductName The format of the product name is invalid.

For more information about the format of product names, see CreateProduct.

iot.prod.LongProductDesc The length of the product description exceeds the limit.

The description must be 1 to 100 characters in length.

iot.prod.InvalidNodeType The node type of the product is invalid.

For more information about supported node types, see CreateProduct.

iot.prod.NotExistedProduct The product does not exist.

The value of the ProductKey parameter does not exist in the account.

iot.prod.NotSeniorProduct The product does not support Thing Specification Language (TSL) models. The TSL model feature is not enabled for the product when the product is created.
iot.prod.NullProductKey You must specify a valid product key.
iot.prod.NullProductName You must specify a valid product name.
iot.prod.ProductCountExceedMax The total number of products exceeds the limit.

Each Alibaba Cloud account can have a maximum of 1,000 products.

iot.prod.QueryDeviceCountActionError Failed to query the number of devices that belong to the product.

You must specify valid parameters. Try again later.

iot.prod.QueryProductAbilitiesFailed Failed to query product features.

You must specify valid parameters, for example, check value of the Identifier parameter.

iot.prod.QueryProductAbilityFailed Failed to query product features.

You must check whether request parameters are validrequest parameter, for example, check value of the Identifier parameter.

iot.prod.QueryProductListActionError Failed to query products.

Check whether the request parameters are valid. Try again later.

iot.prod.UpdateProductFailed Failed to query the product information.

Check whether the request parameters are valid. Try again later.

Device-related error codes

An error code that starts with iot.device or iot.devicesearch indicates a device-related error.

Error code Description
iot.device.AddTopoRelationFailed Failed to add the topological relationship.

Check whether the request parameters are valid. Try again later.

iot.device.AlreadyExistedDeviceName The device name already exists.

Each device name must be unique in the product.

iot.device.ApplyManyDevicesFailed Failed to create devices in batches.

Check whether the request parameters are valid. Try again later.

iot.device.CreateDeviceFailed Failed to create the device.

Check whether the request parameters are valid. Try again later.

iot.device.CreateDeviceTaskIsRunning The device creation task is running.
iot.device.DeviceApplyIsNotFound The application form does not exist.

You must specify a valid value for the ApplyId parameter. The value must be the same as the value of the ApplyId parameter that is returned after you call the BatchCheckDeviceNames API operation.

iot.device.DeviceCountExceeded The number of devices that you want to create at a time exceeds the limit.

You can create a maximum of 1,000 devices each time you call the API operation.

iot.device.DeleteDeviceFailed Failed to delete the device.

Check whether the request parameters are valid. Try again later.

iot.device.DeleteDevicePropertyFailed Failed to delete the device attribute.

Check whether the request parameters are valid. Try again later.

iot.device.DisableDeviceFailed Failed to disable the device.

Check whether the request parameters are valid. Try again later.

iot.device.EnableDeviceFailed Failed to enable the device.

Check whether the request parameters are valid. Try again later.

iot.device.InactiveDevice The device is in the inactive state. This indicates that the device has never been connected to IoT Platform.
iot.device.InvalidFormattedApplyId The ApplyId parameter is invalid.

The value must be the same as the value of the ApplyId parameter that is returned after you call the BatchCheckDeviceNames API operation.

iot.device.IncorrentDeviceApplyInfo The device application information is invalid.

You must specify valid parameters, such as the ApplyId parameter.

iot.device.InvalidFormattedDeviceName The format of the device name is invalid.

For more information about supported formats, see RegisterDevice.

iot.device.InvalidDeviceNickNameExisted An invalid device alias exists in the list of device names.

For more information, see the list of returned invalid device aliases.

iot.device.InvalidFormattedDevicePropertyKey The format of the device property identifier is invalid.

For more information about the support formats for devices properties, see the API documentation.

iot.device.InvalidFormattedDevicePropertiesString The format of the device property is invalid.

Check whether the request parameters are valid. Try again later.

iot.device.InvalidIoTId The device ID is invalid.

You must call the QueryDeviceDetail or QueryDevice API operation to view the valid value of the IotId parameter. You can use a combination of the product key and device name to replace the value of the IotId parameter.

iot.device.InvalidTimeBucket The specified time range is invalid.

You must specify valid parameters based on the API documentation.

  • If you set the Asc parameter to 0 to perform a backward search, the value of the StartTime parameter must be later than the value of the EndTime parameter.
  • If you set the Asc parameter to 1 to perform a forward search, the value of the StartTime value must be earlier than the value of the EndTime parameter.
iot.device.InvokeThingServiceFailed Failed to invoke the service of the device.

You must check whether request parameters are invalid, for example, check the format and value of the Args parameter.

iot.device.LongDevicePropertiesString The length of the device property exceeds the limit.

For more information about limits, see the API documentation.

iot.device.NoneDeviceNameElement The device name list is empty.
iot.device.NoneDeviceProperties You must specify a valid device property.

Check whether the identifier of the property is same as the identifier that is defined in the TSL model.

iot.device.NotExistedDevice The specified sub-device does not exist.

The value of the specified IotId, ProductKey, or DeviceName parameter is invalid. You must call the QueryDeviceDetail or QueryDevice API operation to view the valid value.

iot.device.NullApplyId You must specify a valid application ID.
iot.device.NullDeviceName The name of the business unit. This parameter cannot be empty.
iot.device.NullDevicePropertyKey You must specify a valid property name for the device.
iot.device.NullDevicePropertiesString You must specify a valid property for the device.
iot.device.QueryDeviceApplyActionError Failed to query the information of the application form.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceAttrDataHistoryFailed Failed to query the historical records of the device property.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceAttrStatusFailed Failed to query the status of the device property.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceEventHistoryFailed Failed to query invocation records of the device event.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceListActionError Failed to query devices.

You must specify valid parameters. Try again later.

iot.device.QueryDeviceServiceHistoryFailed Failed to query the invocation records of the device service.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceStatisticsFailed Failed to query the statistics of the device.

Check whether the request parameters are valid. Try again later.

iot.device.QueryDeviceStatusFailed Failed to query the status of the device.

Check whether the request parameters are valid. Try again later.

iot.device.QueryTopoRelationFailed Failed to query topological relationships.

Check whether the request parameters are valid. For example, if the value of the PageSize parameter exceeds a limit of 50, the error occurs.

iot.device.RemoveTopoRelationFailed Failed to remove the topological relationship.

Check whether the request parameters are valid. Try again later.

iot.device.SaveOrUpdateDevicePropertiesFailed Failed to create or modify the device property.

Check whether the request parameters are valid. Try again later.

iot.device.SetDevicePropertyFailed Failed to set the device property.

You must check whether the value and format of the Items parameter are valid and the specified property is read/write.

iot.device.TooManyDevicePropertiesPerTime The number of the specified properties exceeds the limit.

For more information about limits, see the API documentation.

iot.device.TopoRelationCountExceeded The number of the specified topological relationships exceeds the limit.

For more information about the limits on the numbers of gateways and sub-devices, see Limits.

iot.device.VerifyDeviceFailed Failed to authenticate the device.

You must specify valid parameters. Try again later.

iot.devicesearch.InvalidSQLError The SQL statement is invalid.
iot.devicesearch.InvalidSQLOffsetError The SQL offset is invalid.
iot.devicesearch.InvalidSQLFieldError The SQL statement includes an invalid field name.
iot.devicesearch.InvalidSQLConditionError The number of SQL conjunctions exceeds the limit.
iot.devicesearch.InvalidSQLOrderError The SQL collation is invalid.
iot.devicesearch.InvalidSQLOperatorTypeError The SQL operator does not match the data type.
iot.devicesearch.InvalidSQLParamError The SQL syntax is invalid.

Device group-related error codes

An error code starts with iot.group indicates a device group-related error.

Error code Description
iot.group.NullGroupId You must specify a valid group ID.
iot.group.DeleteGroupFailed Failed to delete the group.

You must specify a valid deployment task. Try again later.

iot.group.SubGroupNotNull A subgroup exists in the group.

You cannot delete a group that has a subgroup. To delete the group, you must first remove all subgroups from the group.

iot.group.InvalidGroupName The group name is invalid.

The name can contain letters, digits, and underscores (_). The name must be 4 to 30 characters in length.

iot.group.GroupNameExisted The group name already exists.
iot.group.QueryGroupInfoFailed Failed to query the details of the group.

Check whether the request parameters are valid. Try again later.

iot.group.NotExistedGroup The specified group does not exist.

Check the value of the GroupId parameter.

iot.group.QueryGroupCountFailed Failed to query the number of groups.

Check whether the request parameters are valid. Try again later.

iot.group.QueryGroupListFailed Failed to query groups.

Check whether request parameters are valid. Try again later.

iot.group.BindGroupRelationFailed Failed to establish a relationship between the groups.

Check whether the request parameters are valid. Try again later.

iot.group.UpdateGroupFailed Failed to modify the information of a device group.

Check whether the request parameters are valid. Try again later.

iot.group.QueryGroupTreeFailed Failed to query the structure of group relationships.

Check whether the request parameters are valid. Try again later.

iot.group.CreateGroupFailed Failed to create the group.

Check whether the request parameters are valid. Try again later.

iot.group.InvalidFormattedTagString The tag format is invalid.

Tags are in the JSON format. A tag consists of a tagKey and tagValue. You must specify a valid tagKey and tagValue for a tag. Separate multiple tags with commas (,), for example, [{"tagKey":"h1","tagValue":"rr"},{"tagKey":"7h","tagValue":"rr"}].

iot.group.TagCountExceedMax The number of tags exceeds the limit.

You can add a maximum of 100 tags to a group.

iot.group.GroupCountExceedMax The number of groups exceeds the limit.
  • A group can include a maximum of 100 subgroups.
  • You can add a device to a maximum of 10 groups.
iot.group.SetGroupTagFailed Failed to specify a group tag.

Check whether the request parameters are valid. Try again later.

iot.group.QueryGroupTagFailed Failed to query the information of the group tag.

Check whether the request parameters are valid. Try again later.

iot.group.LongGroupDescError The length of the group description exceeds the limit.

The description must be 1 to 100 characters in length.

iot.group.QueryGroupRelationFailed Failed to query the relationships of groups.

Check whether the request parameters are valid. Try again later.

iot.group.GroupLevelExceedingLimitError The number of group levels exceeds the limit.

Groups can be nested in only three layers. These layers include groups, subgroups, and child-subgroups.

Message-related error codes

In most cases, error codes that start with iot.messagebroker indicate message-related errors. These error codes are returned after you fail to call messaging-related, device shadow-related, and rules engine-related API operations. For more information about error codes that are returned from rules engine-related API operations, see the following section.

Error code Description
iot.messagebroker.CreateTopicRouteFailed Failed to create message routes between topics.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.CreateTopicTemplateException An exception occurred while creating the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.CreateTopicTemplateFailed Failed to create the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.DeleteTopicTemplateException An exception occurred while deleting the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.DeleteTopicTemplateFailed Failed to delete the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.DestTopicNameArraySizeIsLarge The number of destination topics that you specify for the source topic exceeds the limit.

You can specify a maximum of 100 destination topics for a source topic.

iot.messagebroker.DeleteTopicRouteFailed Failed to delete the message route between the topics.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.DesireInfoInShadowMessageIsNotJson The value of the desire parameter in the device shadow is not in the JSON format.
iot.messagebroker.DesireValueIsNullInShadowMessage The value of the desire parameter in the device shadow is empty.
iot.messagebroker.ElementKeyOrValueIsNullInDesire The desire parameter includes an empty property identifier or property value.
iot.messagebroker.ElementKeyOrValueIsNullInReport The report parameter includes an empty property identifier or property value.
iot.messagebroker.HALFCONN The connection fails because the device is in the half-open state.
iot.messagebroker.InvalidFormattedSrcTopicName The format of the source topic name is invalid.

You can view the topics of the device on the Topic List tab of the Device Details page in the IoT Platform console.

iot.messagebroker.InvalidFormattedTopicName The format of the topic is invalid.

You can view the topics of the device on the Topic List tab of the Device Details page in the IoT Platform console.

iot.messagebroker.InvalidFormattedTopicTemplateId The format of the topic category ID is invalid.

You can call the QueryProductTopic API operation to view the value of the TopicId parameter.

iot.messagebroker.InvalidTimeoutValue The specified timeout period is invalid.

For more information, see the API documentation.

iot.messagebroker.InvalidTopicTemplateOperationValue The allowed operation that you specified for the topic category is invalid. Valid values:

SUB: subscribe.

PUB: publish.

ALL: publish and subscribe.

iot.messagebroker.InvalidVersionValueInShadowMessage The value of the version parameter in the device shadow is invalid.
iot.messagebroker.MethodValueIsNotUpdate You must set the method parameter to update in the device shadow.
iot.messagebroker.MessageContentIsNotBase64Encode The message content must be encoded by using Base64.
iot.messagebroker.NoneElementInDesire No property exists in the desire parameter.
iot.messagebroker.NoneElementInReport No property exists in the report parameter.
iot.messagebroker.NoneElementDestTopicNameInArray No element exists in the destination topic list.
iot.messagebroker.NotFoundDesireInShadowMessage The desire parameter does not exist in the state parameter of the device shadow.
iot.messagebroker.NotFoundMethodInShadowMessage The method parameter does not exist in the device shadow.
iot.messagebroker.NotFoundReportInShadowMessage The report parameter does not exist in the device shadow.
iot.messagebroker.NotFoundStateInShadowMessage The state parameter does not exist in the device shadow.
iot.messagebroker.NotFoundVersionOrNullVersionValue The version parameter does not exist or the value of the version parameter is empty.
iot.messagebroker.NotMatchedProductKeyWithSrcTopicOwner The product key of the source topic does not belong to the current user.
iot.messagebroker.NullMessageContent The message content cannot be empty.
iot.messagebroker.NullShadowMessage The content of the device shadow cannot be empty.
iot.messagebroker.NullSrcTopicName You must specify a valid name for the source topic.
iot.messagebroker.NullTopicName You must specify a valid topic.
iot.messagebroker.NullTopicTemplateId You must specify an ID for the topic category.
iot.messagebroker.NullTopicTemplateOperation You must specify an allowed operation for the topic category.
iot.messagebroker.OFFLINE The connection fails because the device is in the offline state.
iot.messagebroker.PublishMessageException An exception occurred while sending the message.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.PublishMessageFailed Failed to send the message.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.QueryDeviceShadowActionError Failed to query the device shadow.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.QueryProductTopicListActionError Failed to query topic categories.

Check whether the request parameters are valid. Try again later.

iot.messageborker.QueryTopicReverseRouteTableListActionError Failed to query the source topics.

Check whether the request parameters are valid. Try again later.

iot.messageborker.QueryTopicRouteTableListActionError Failed to query message routes.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.QueryTopicTemplateActionError Failed to query the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.QueryTopicTemplateException An exception occurred while querying the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.RateLimit The connection fails due to throttling.

For more information, see Limits.

iot.messagebroker.ReportInShadowMessageIsNotJson The value of the report parameter in the report parameter of the device shadow is not in the JSON format.
iot.messagebroker.RrpcException An exception occurred while sending the message by using Revert Remote Procedure Call (RRPC).

Check whether the request parameters are valid. Try again later.

iot.messagebroker.RrpcFailed Failed to send the message by using RRPC.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.ShadowMessageIsNotJson The device shadow is not in the JSON format.
iot.messagebroker.ShadowMessageLengthIsLarge The size of the device shadow exceeds the limit.

The maximum size of a device shadow is 16 KB.

iot.messagebroker.TIMEOUT The connection fails due to a timeout issue.
iot.messagebroker.TooManyElementInDesire The total number of properties that are included in the desire parameter exceeds the limit.

A device shadow in the JSON format can include a maximum of 128 properties.

iot.messagebroker.TooManyElementInReport The total number of properties that are included in the report parameter exceeds the limit.

A device shadow in the JSON format can include a maximum of 128 properties.

iot.messagebroker.TopicAlreadyFound The name of the topic category already exists in the product.
iot.messagebroker.TopicTemplateCountExceedMax The number of topic categories in the product exceeds the limit.

You can define a maximum of 50 topic categories for a product.

iot.messagebroker.TopicTemplateIsNotFound The topic category does not exist.

You can call the QueryProductTopic API operation to view the topic categories of a product.

iot.messagebroker.UpdateDeviceShadowMessageFailed Failed to modify the device shadow.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.UpdateTopicTemplateException An exception occurred while updating the topic category.

Check whether the request parameters are valid. Try again later.

iot.messagebroker.UpdateTopicTemplateFailed Failed to update the topic category.

Check whether the request parameters are valid. Try again later.

Rules engine-related error codes

Error codes that start with iot.rule or iot.ruleng, and a minority of error codes that start iot.messagebroker indicate rules engine-related errors.

If an exception or error occurs, check whether the request parameters are valid and try again later.

Error code Description
iot.rule.CreateRuleException An exception occurred while creating the rule.

Check whether the request parameters are valid. Try again later.

iot.rule.DeleteRuleFailed Failed to delete the rule.

Check whether the request parameters are valid. Try again later.

iot.rule.IncorrentRuleActionId The ID of the rule action is invalid.

You can call the ListRuleActions API operation to view the ID of the rule action.

iot.rule.IncorrentRuleActionType The type of the rule action is invalid.
Valid values for the Type parameter include:
  • MNS: Message Service
  • FC: Function Compute
  • OTS: Tablestore
    Note If you set the DataType parameter to BINARY, rules are created in the binary format. These rules cannot be used to forward data to Tablestore.
  • REPUBLISH: another topic.
iot.rule.IncorrentRuleId The rule ID is invalid.
iot.rule.NullForwardDestForRule You must specify a valid data forwarding destination.

For more information about how to set the Configuration parameter, see CreateRuleAction.

iot.rule.NullSqlForRule You must specify an SQL statement for the rule.
iot.rule.NotFoundRule The rule does not exist.

You must specify a valid rule ID. You can call the ListRule API operation to view the IDs of all rules that belong to the account.

iot.rule.NotFoundRuleAction The rule action does not exist.

You must specify a valid ID for the rule action. You can call the ListRuleActions API operation to view all the action IDs of a rule.

iot.rule.ParseRuleActionConfigError Failed to parse the settings of the rule action.

Check whether the request parameters are valid. Try again later.

iot.rule.QueryRuleActionListError Failed to query rule actions.

Check whether the request parameters are valid. Try again later.

iot.rule.QueryRulePageActionError Failed to query rules by page.

Check whether the request parameters are valid. Try again later.

iot.rule.RuleActionIsAlreadyCreated The specified rule action already exists.
iot.rule.RuleCountExceedMax The total number of rules exceeds the limit.

You can use an Alibaba Cloud account to create a maximum of 1,000 rules.

iot.rule.RuleNameIsAlreadyExisted The specified rule name already exists.
iot.rule.StartRuleFailed Failed to enable the rule.

Check whether the request parameters are valid. Try again later.

iot.rule.StopRuleFailed Failed to disable the rule.

Check whether the request parameters are valid. Try again later.

iot.rule.TooManyRuleAction The number of rule actions exceeds the limit.

You can specify a maximum of 10 data forwarding actions in a rule.

iot.rule.UpdateRuleFailed Failed to update the rule.

Check whether the request parameters are valid. Try again later.

iot.ruleng.CreateRuleActionFailed Failed to create the rule action.

Check whether the request parameters are valid. Try again later.

iot.ruleng.DeleteRuleActionFailed Failed to delete the rule.

Check whether the request parameters are valid. Try again later.

iot.ruleng.IncorrectActionTypeForError The data forwarding rule is unavailable for the cloud service.
iot.ruleng.IncorrectRegionName Data of a mainland China region can be forwarded to other mainland China regions. Data of an overseas region can be forwarded only in the same region.
iot.ruleng.IncorrectSysTopic The basic communication topic or TSL communication topic is invalid.

For more information about how to specify a valid topic, see CreateRule.

iot.ruleng.IncorrectType The topic type of the rule is invalid.

Valid values for the TopicType parameter include:

  • 0: indicates a basic communication topic or TSL communication topic.
  • 1: indicates a custom topic.
  • 2: indicates a device status topic.
iot.ruleng.InvalidEndpoint The endpoint is invalid.
iot.ruleng.InvalidFormattedTagInConfiguration The length of the tag in the Configuration parameter exceeds the limit.
iot.ruleng.InvalidRamRole The RAM role is invalid.

Log on to the RAM console and view the details of the RAM role.

iot.ruleng.ListInstancesError Failed to query instances.
iot.ruleng.OnlyAllowOneErrorAction You can specify only one destination to receive error messages for a rule.
iot.ruleng.QueryInstanceError Failed to query the details of the instance.
iot.ruleng.QueryRuleActionFailed Failed to query the rule action.

You must specify a valid parameter. Try again later.

iot.ruleng.RegionNotSupportRuleForwardCloudProduct The region does not support data forwarding rules for this cloud service.

For more information about cloud services that are supported by each region, see Regions and zones.

iot.ruleng.RuleActionConfigurationIsNotJson The configurations of the rule action are not in the JSON format.

The value of the Configuration parameter must be in the JSON format. For more information, see CreateRuleAction.

iot.ruleng.RuleAlreadyIsStarted The rule is in the Running state.
iot.ruleng.NullRamRoleArn You must specify the roleArn parameter.
iot.ruleng.NullRamRoleName You must specify the roleName parameter.
iot.ruleng.NullRuleActionConfig You must specify the Configuration parameter for the rule action.
iot.ruleng.NullRuleActionType You must specify the Type parameter for the rule action.
iot.ruleng.UpdateRuleActionFailed Failed to update the rule action.
iot.messagebroker.IncorrectRuleSql The SQL statement of the rule is invalid.

For more information about how to write a valid SQL statement, see CreateRule.

iot.messagebroker.QueryRuleConfigActionException An exception occurred while querying the configurations of the rule.

Check whether the request parameters are valid. Try again later.

The following table describes the error codes that are returned after you fail to set a data forwarding destination.

Table 1. Error codes for the REPUBLISH type
Error code Description
iot.messagebroker.InvalidFormattedTopicName The format of the topic is invalid.

You can view the valid format of topics on the Topic List tab of the Device Details page in the IoT Platform console.

iot.prod.NotExistedProduct The specified product does not exist.

You must specify a valid product key. Make sure that the product belongs to the Alibaba Cloud account.

iot.common.QueryProductActionError Failed to query the product.

Check whether the request parameters are valid. Try again later.

iot.ruleng.IncorrectSysTopic The basic communication topic or TSL communication topic is invalid.

For more information about how to specify a valid topic, see CreateRule.

iot.messagebroker.NullTopicName You must specify a valid topic name.
Table 2. Error codes for the OTS type
Error code Description
iot.ruleng.NullOtsInstanceName You must specify a valid name for the Tablestore (OTS) instance.
iot.ruleng.NullTableNameInOtsInstance You must specify a valid name for the table of the OTS instance.
iot.ruleng.NullPrimaryKeyInOtsTable You can specify a valid primary key for the OTS table.
iot.ruleng.NullPrimaryKeyNameInOts You must specify a valid name for the primary key.
iot.ruleng.NullPrimaryKeyTypeInOts You must specify a valid type for the primary key.
iot.ruleng.NullPrimaryKeyValueInOts You must specify a valid value for the primary key.
iot.ruleng.IncorrectPrimaryKeyValueInOtsTable The value of the primary key for the OTS table is invalid.

You can view the primary key that you specified when you created the table in the OTS console.

Table 3. Error codes for the MNS type
Error code Description
iot.ruleng.NullTopicNameInMns You must specify a valid Message Service (MNS) topic.
iot.ruleng.NotFoundTopicInMns The MNS topic does not exist.

Check the name of the MNS topic.

iot.ruleng.QueryMnsTopicListActionError Failed to query MNS topics.

Check whether the request parameters are valid. Try again later.

Table 4. Error codes for the FC type
Error code Description
iot.ruleng.NullServiceNameInFc You must specify a valid name for the Function Compute (FC) service.
iot.ruleng.NullFunctionNameInFc You must specify a valid name for the FC function.
iot.ruleng.NotFoundServiceInFc The FC service does not exist.

Check the name of the FC service.

Table 5. Error codes for the ONS type
Error code Description
iot.messagebroker.NullTopicName You must specify a valid Message Queue topic to receive messages.
iot.ruleng.InstanceNotFound The instance does not exist.
iot.ruleng.ListMqTopicsError Failed to query the Message Queue topic.
iot.ruleng.TopicIsNotUnique The specified topic already exists.
iot.ruleng.TopicNotFound The specified topic does not exist.
Table 6. Error codes for the TSDB type
Error code Description
iot.ruleng.InvalidFormattedTagNameInHitsdb The format of the ApsaraDB for Lindorm (TSDB) tag is invalid.
iot.ruleng.InvalidFormattedTimestampInHitsdb The format of the timestamp is invalid.
iot.ruleng.NotBindCustomerVpc No VPC is attached to the instance.
iot.ruleng.NullInstanceNameInHitsdb You must specify a valid name for the TSDB instance.
iot.ruleng.NullTagNameInHitsdb You must specify a valid name for the TSDB tag.
iot.ruleng.NullTagValueInHitsdb You must specify a valid value for the TSDB tag.
iot.ruleng.NullTimestampInHitsdb You must specify a valid tag for the timestamp.
iot.ruleng.OnlySameRegionHitsdbSupport Data can be forwarded to TSDB instances that reside only in the same region.
Table 7. Error codes for the RDS type
Error code Description
iot.ruleng.GrantVpcInstanceFailed Failed to authorized the VPC.
iot.ruleng.InvalidFormattedConnectionIp The format of the endpoint is invalid.
iot.ruleng.InvalidFormattedConnectionPort The format of the port is invalid.
iot.ruleng.InvalidFormattedRdsDatabaseName The name of the ApsaraDB RDS database is invalid.
iot.ruleng.InvalidFormattedRdsTableName The name of the ApsaraDB RDS table is invalid.
iot.ruleng.ListRdsAccountError Failed to query the account of the ApsaraDB RDS database.
iot.ruleng.NotFoundTable The ApsaraDB RDS table does not exist.
iot.ruleng.NotFoundVpcInstance The VPC does not exist.
iot.ruleng.NotFoundVpcInstanceConnection The VPC endpoint of ApsaraDB RDS instance does not exist.

Make sure that you specify a valid VPC and VSwitch for the ApsaraDB RDS instance.

iot.ruleng.NotMatchedField The specified field does not match the table of the ApsaraDB RDS database.
iot.ruleng.NullConnectionIp You must specify a valid endpoint.
iot.ruleng.NullConnectionPort You must specify a valid port.
iot.ruleng.NullRdsInstanceName You must specify a valid name for the ApsaraDB RDS instance.
iot.ruleng.NullRdsDatabaseName You must specify a valid name for the ApsaraDB RDS database.
iot.ruleng.NullRdsAccountName You must specify a valid name for the account.
iot.ruleng.NullRdsPassword You must specify a valid password for the account.
iot.ruleng.NullRdsTableName You must specify a valid name for the table.
iot.ruleng.NullRdsFieldName You must specify a valid name for the field.
iot.ruleng.NullRdsFieldValue You must specify a valid value for the field.
iot.ruleng.NullVpcInstance You must specify a valid VPC.
iot.ruleng.OnlySupportSameRegionRds Data can be forwarded to ApsaraDB RDS instances that reside only in the same region.
iot.ruleng.QueryServerMappingInfoError Failed to query the mapping information of the VPC.

Server-side subscription-related error codes

An error code that starts with iot.consumer indicates an server-side subscription-related error.

Error code Description
iot.consumer.group.CallbackTypeEmpty You cannot set the CallbackType parameter of all consumer groups to false.
iot.consumer.group.ChangeDefaultConsumerGroupNotAllowed You cannot change the default consumer group.
iot.consumer.group.ConsumerGroupExceedsLimit The number of subscribed consumer groups exceeds the limit.
iot.consumer.group.ConsumerGroupExceedLimit The number of consumer groups exceeds the limit.
iot.consumer.group.ConsumerGroupNameExisted The name of the consumer group already exists.
iot.consumer.group.ConsumerGroupNotExist The consumer group does not exist.
iot.consumer.group.CreateConsumerGroupFailed Failed to add the consumer group.
iot.consumer.group.DeleteConsumerGroupFailed Failed to delete the consumer group.
iot.consumer.group.InvalidConsumerGroupName The name of the consumer group is invalid.
iot.consumer.group.InvalidConsumerGroupId The ID of the consumer group is invalid.
iot.consumer.group.InvalidConsumerGroup The consumer group is invalid.
iot.consumer.group.InvalidGroupBy The groupby parameter is invalid.
iot.consumer.group.InvalidSubscribeType The subscription type is invalid.
iot.consumer.group.MnsCheckFailed Failed to authenticate MNS.
iot.consumer.group.MnsNotSupport A product that has a transferred device does not support an MNS server-side subscription.
iot.consumer.group.ProductKeyExceedsLimit The number of services to which the consumer group subscribes exceeds the limit.
iot.consumer.group.QueryConsumerGroupStatusFailed Failed to query the status of the consumer group.
iot.consumer.group.UpdateConsumerGroupFailed Failed to update the consumer group.

OTA update-related error codes

An error code that starts with iot.firmware or iot.ota indicates an OTA update-related error.

Error code Description
iot.firmware.AlreadyExistedFirmwareName The firmware name already exists.
iot.firmware.AlreadyExistedFirmwareVersion The firmware version already exists in the product.
iot.firmware.BadlyFormattedGrayPercent The format of the phase ratio is invalid.
iot.firmware.BatchCancelDeviceUpgradeFailed Failed to cancel the device update.
iot.firmware.BlankFirmwareName The firmware name can contain only spaces.
iot.firmware.CancelOTAStrategyByJobFailed Failed to cancel the update policy that is related to the dynamic update batch.
iot.firmware.CancelOTATaskByJobFailed Failed to cancel the update for the devices of the batch.
iot.firmware.CancelOptionIsMandatory You must specify the required parameters.
iot.firmware.CancelUpgradeTaskFailed Failed to cancel the update batch.
iot.firmware.CreateFirmwareFailure Failed to create the firmware.
iot.firmware.CreateOTAUpgradeJobFailure Failed to create the batch update task.
iot.firmware.DeleteFirmwareFailure Failed to delete the firmware.
iot.firmware.DeviceUpgradeRecordNotFound The device is not being updated.
iot.firmware.DeviceWithDestinationVersionInArray The device firmware version is the same as the destination firmware version.
iot.firmware.DynamicGrayNotSupported You cannot perform a dynamic canary update on the device.
iot.firmware.DynamicSpecificNotSupported You cannot perform a dynamic specific update on the device.
iot.firmware.EmptyFirmwareFile The length of the firmware file is 0.
iot.firmware.FireTimeMustLargeThanCurrentTime The time of the scheduled update must be later than the present time.
iot.firmware.FireTimeTooLate The scheduled update time must be a maximum of 7 days later than the present time.
iot.firmware.FireTimeTooShort The scheduled update time must be a minimum of 5 minutes later than the present time.
iot.firmware.FirmwareAndProductKeyMismatch The firmware does not match the product key.
iot.firmware.FirmwareCountExceedMax The number of firmware files exceeds a limit of 500.
iot.firmware.FirmwareDescriptionExceedMaxLength The length of the firmware description exceeds 100.
iot.firmware.FirmwareNotFound The firmware does not exist.
iot.firmware.FirmwareNotVerified You cannot start an update because the firmware is being verified.
iot.firmware.GenerateOTAUploadURLFailure Failed to generate an upload URL for the update package.
iot.firmware.GrayAppliesToStaticOnly You can perform only a static update in batches.
iot.firmware.InProgressDynamicJobExisted A running dynamic batch already exists.
iot.firmware.InProgressVerifyJobExisted An incomplete verification task for the firmware exists.
iot.firmware.IncorrectDeviceUpgradeJobStatus The status of the device update to be canceled is invalid.
iot.firmware.IncorrectFormattedFirmwareName The format of the firmware name is invalid.
iot.firmware.IncorrectFormattedFirmwareVersion The format of the firmware version is invalid.
iot.firmware.IncorrectFormattedModuleName The format of the module name is invalid.
iot.firmware.IncorrectFormattedSrcVersion The format of the source version is invalid.
iot.firmware.InvalidDynamicMode The mode of the dynamic update is invalid.
iot.firmware.InvalidFirmware The firmware is invalid.
iot.firmware.InvalidFirmwareId The firmware ID is invalid.
iot.firmware.InvalidFirmwareSign The firmware signature is invalid.
iot.firmware.InvalidFirmwareSignMethod The signature method of the firmware is invalid.
iot.firmware.InvalidFirmwareSize The firmware size is invalid.
iot.firmware.InvalidFirmwareType The firmware type is invalid.
iot.firmware.InvalidFirmwareUrl The URL of the firmware file is invalid.
iot.firmware.InvalidGenerateOTAUploadURLParam Failed to generate the update URL for the update package because the specified parameters are invalid.
iot.firmware.InvalidGrayPercent The update percentage of the canary update is invalid.
iot.firmware.InvalidMaximumPerMinute The push rate is invalid.
iot.firmware.InvalidOTAJobId The batch ID is invalid.
iot.firmware.InvalidOTATaskId The ID of the update record is invalid.
iot.firmware.InvalidOverwriteMode The write mode is invalid.
iot.firmware.InvalidProductKey The product key is invalid.
iot.firmware.InvalidRetryCount The retry count is invalid.
iot.firmware.InvalidRetryInterval The retry interval is invalid.
iot.firmware.InvalidSelectionType The specified type is invalid.
iot.firmware.InvalidTargetSelection The specified value is invalid.
iot.firmware.InvalidTaskStatus The status of the update is invalid.
iot.firmware.InvalidTimeoutSetting The timeout period is invalid.
iot.firmware.JobAlreadyCanceled The batch is canceled.
iot.firmware.JobHasNoScheduleTime The batch is not a scheduled batch.
iot.firmware.ListOTAFirmwareFailed Failed to query firmware files.
iot.firmware.ListOTAJobFailed Failed to query update batches.
iot.firmware.ListOTAModuleFailed Failed to query modules.
iot.firmware.ListOTAModuleNameByProductFailed Failed to query the modules of the product.
iot.firmware.ListOTATaskByDeviceFailed Failed to query the update records of the device.
iot.firmware.ListOTATaskByJobFailed Failed to query the update records of the batch.
iot.firmware.MalformedFirmwareUrl The URL of the firmware file is invalid.
iot.firmware.ModuleCountLimitExceeded The number of modules exceeds the limit.
iot.firmware.ModuleNameReserved The module name is reserved. You must specify a valid module name.
iot.firmware.MoreThanOneSrcVersion You can specify only one source firmware version for a differential batch update.
iot.firmware.NoDeviceCanUpgrade No device can be updated.
iot.firmware.NonVersionedDeviceInArray A device in the device group does not report the firmware version or reports an invalid firmware version.
iot.firmware.NotDynamicJob You can only cancel the dynamic update policy that is related to a dynamic update batch.
iot.firmware.NullFirmwareId The firmware ID is invalid.
iot.firmware.NullFirmwareName The error message returned because the name of the event source is empty.
iot.firmware.NullFirmwareUrl The URL of the firmware file is invalid.
iot.firmware.NullFirmwareVersion The firmware version is invalid.
iot.firmware.NullGrayPercent The phase ratio of the canary update.
iot.firmware.NullOTAJobId The batch ID is invalid.
iot.firmware.NullSelectionType The specified type is invalid.
iot.firmware.NullSrcVersions The list of firmware versions to be updated.
iot.firmware.NullTargetDeviceNames You must specify a valid device range for the static specific update.
iot.firmware.NullTargetSelection The specified value is invalid.
iot.firmware.NullTaskId The batch ID is invalid.
iot.firmware.ParameterSizeExceedMax The number of parameters in the list exceeds the limit.
iot.firmware.ReUpgradeFailedFirmwareNotVerified You cannot start an update because the firmware is being verified.
iot.firmware.ScheduleFinishTimeEarlierThanStartTime The end time of the scheduled update must be later than the start time.
iot.firmware.ScheduleFinishTimeTooEarly The end time of the scheduled update must be a minimum of 60 minutes later than the start time.
iot.firmware.ScheduleFinishTimeTooLate The end time of the scheduled update must be a maximum of 30 days later than the start time.
iot.firmware.ScheduleFinishTimeWithoutStartTime You must specify the start time and end time of a scheduled update at the same time.
iot.firmware.SrcDestVersionMatched The source firmware version must be different from the destination firmware version.
iot.firmware.SrcVersionIsMandatory You must specify a source firmware version for the differential update package.
iot.firmware.SrcVersionMismatch The present version of the device is different from the firmware version to be updated.
iot.firmware.SrcVersionsNotAllowed You cannot specify multiple source firmware versions for the update package.
iot.firmware.SrcVersionsSizeExceedMax The number of source firmware versions exceeds the limit.
iot.firmware.SystemBusy The system is busy. Try again later.
iot.firmware.SystemBusyForScheduleTime The system is busy. You must specify another time to perform the scheduled update.
iot.firmware.TargetDeviceNamesNotAllowed You cannot perform a static specific update on the device.
iot.firmware.TooManyDeviceUpgrade The number of devices that send update requests exceeds the limit. Try again later.
iot.firmware.TooManyDeviceUpgradeForScheduleTime The system cannot process the number of devices that send update requests at the scheduled update time. You must specify another time to perform the schedule update.
iot.firmware.UpgradeSrcVersionMismatch The source version of the update is different from the source version of the differential firmware.
iot.firmware.VerifyFirmwareFailed Failed to verify the firmware.
iot.ota.tag.KeyDuplicated Duplicate keys exist in the tag list.
iot.ota.CreateOTAModuleFailure Failed to create the OTA module.
iot.ota.CreateOTAModuleParamError Failed to create the OTA module.
iot.ota.CreateOTAModuleExceedLimit The number of OTA modules for the product exceeds the limit.
iot.ota.CreateOTAModuleNameExist The name of the OTA module that you want to create already exists.
iot.ota.UpdateOTAModuleFailure Failed to update the OTA module.
iot.ota.UpdateOTAModuleParamError Failed to update the OTA module.
iot.ota.DeleteOTAModuleParamError Failed to delete the OTA module.
iot.ota.DeleteOTAModuleFailure Failed to delete the OTA module.
iot.ota.DeleteOTAModulePackageExist Failed to delete the OTA module because an update package is attached to the OTA module.
iot.ota.DeleteOtaDefaultModule You cannot delete the default module.
iot.ota.ListOTAModuleParamError Failed to query the OTA module.
iot.ota.ListOTAModuleFailure Failed to query OTA modules.