Creates a task to verify an over-the-air (OTA) update package.

Usage notes

  • You must verify an update package before you push the package to devices for a batch update. Only verified update packages can be used to update devices in batches. You can call the QueryOTAFirmware operation to view the status of a verification task.
  • You cannot initiate a verification task for an update package that is being verified or has been verified.
  • You can specify a maximum of 10 devices for a verification task.


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

Note 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 CreateOTAVerifyJob

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

FirmwareId String Yes nx3xxVvFdwvn6dim50PY03****

The ID of the update package.

The FirmwareId parameter is returned when you call the CreateOTAFirmware operation to create an OTA update package.

You can call the ListOTAFirmware operation and view the update package ID in the response.

ProductKey String Yes a1VJwBw****

The ProductKey of the product to which the OTA update package belongs.

Tag.N.Key String Yes key1

The key of the update batch tag. The key must be 1 to 30 characters in length and can contain letters, digits, and periods (.). You can add up to 10 tags for each update batch.

The tags of an update batch are sent to devices when IoT Platform pushes update notifications to these devices.

Note Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.
Tag.N.Value String Yes value1

The value of the update batch tag. The value must be 1 to 1,024 characters in length. You can add up to 10 tags for each update batch. The total tag keys and values cannot exceed 4,096 characters in length.

Note Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.
TargetDeviceName.N RepeatList Yes testdevice

The list of devices to be verified.

  • The devices in the list must belong to the same product as the update package.
  • Device names must be unique.
  • You can specify a maximum of 10 devices.
IotInstanceId String No iot_instc_pu****_c*-v64********

The ID of the instance. You can view the instance ID on the Overview page in the IoT Platform console.

  • If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.
  • If your instance has no Overview page or ID, you do not need to set this parameter.

For more information, see Overview.

TimeoutInMinutes Integer No 1440

The timeout period for a device to update the firmware. Unit: minutes. Valid values: 1 to 1440.

NeedPush Boolean No true

Specifies whether to automatically push update tasks from IoT Platform to devices.

  • true (default): yes. After an update batch is created, IoT Platform automatically pushes update tasks to the specified online devices.

    In this case, a device can still initiate a request to obtain the information about the over-the-air (OTA) update task from IoT Platform.

  • false: no. A device must initiate a request to obtain the information about the OTA update task from IoT Platform.
NeedConfirm Boolean No false

Specifies whether to control the update by using a mobile app. You must develop the mobile app as needed.

  • false (default): no. A device obtains the information about the OTA update task based on the NeedPush parameter.
  • true: yes. To perform an OTA update on a device, you must confirm the update by using your mobile app. Then, the device can obtain the information about the OTA update task based on the NeedPush parameter.
DownloadProtocol String No HTTPS

The download protocol of the update package. Valid values: HTTPS and MQTT. Default value: HTTPS. After the device receives the update package information pushed by IoT Platform, this protocol is used to download the update package.

Notice If you need to download the update package over MQTT, take note of the following items:
  • Your service must be deployed in China (Shanghai), China (Beijing), or China (Shenzhen).
  • The OTA update package can contain only one file and the size of the file cannot exceed 16 MB.
  • You must use the latest version of Link SDK for C to develop the device features to perform OTA updates and download files over MQTT. For more information, see Sample code.

In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this 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 task information returned if the call is successful. For more information, see the following parameters.

JobId String wahVIzGkCMuAUE2gDERM02****

The ID of the verification task.

UtcCreate String 2019-11-04T06:22:19.566Z

The time when the verification task was created. The time is displayed in UTC.

ErrorMessage String A system exception occurred.

The error message returned if the call fails.

RequestId String 29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1

The ID of the request.

Success Boolean true

Indicates whether the call was successful.

  • true: The call was successful.
  • false: The call failed.


Sample requests
&<Common request parameters>

Sample success responses

XML format


JSON format

  "Data": {
    "JobId": "wahVIzGkCMuAUE2gDERM02****",
    "UtcCreate": "2019-11-04T06:22:19.566Z"
  "RequestId": "29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1",
  "Success": true

Error codes

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