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

Create an OTA Module

Function

This API is used to create an OTA module for a product. Max. 10 custom OTA modules for a 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:otamodules:create

    Write

    app *

    g:EnterpriseProjectId

    -

    -

URI

POST /v5/iot/{project_id}/ota-upgrades/modules

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Parameter description: project ID. For details, 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

app_id

Yes

String

Parameter description: resource space ID. If you have multiple resource spaces, you can use this parameter to specify the resource space that the upgrade package to create will belong to.

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

product_id

Yes

String

Parameter description: unique ID of the product associated with the device. The value is allocated by the platform after the product is created. For details, see Create a Product.

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

module_name

Yes

String

Parameter description: OTA module name, which is unique under the product and cannot be changed.

Value: The value can contain up to 64 characters. Only letters, digits, underscores (_), hyphens (-), and periods (.) are allowed.

alias_name

No

String

Parameter description: OTA module alias.

Value: The value can contain up to 64 characters. Only letters, digits, underscores (_), hyphens (-), and periods (.) are allowed.

description

No

String

Parameter description: module function description.

Value: a maximum of 1,024 characters.

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

module_id

String

OTA module ID.

app_id

String

Resource space ID.

product_id

String

ID of the product associated with the OTA module.

product_name

String

Name of the product associated with the OTA module.

module_name

String

OTA module name.

alias_name

String

OTA module alias.

description

String

Module description.

create_time

String

Time when the OTA module is created. The format is yyyyMMdd'T'HHmmss'Z'.

Example Requests

This API is used to create an OTA module.

POST https://{endpoint}/v5/iot/{project_id}/ota-upgrades/modules

{
  "app_id" : "61f7e74d036aca5be29e1ed4",
  "product_id" : "5ba24f5ebbe8f56f5a14f605",
  "module_name" : "MCU",
  "alias_name" : "Micro Controller Unit",
  "description" : "Microcontroller unit firmware module."
}

Example Responses

Status code: 201

Created

{
  "module_id" : "28f61af50fc9452aa0ed5ea25c3cc3d3",
  "app_id" : "61f7e74d036aca5be29e1ed4",
  "product_id" : "5ba24f5ebbe8f56f5a14f605",
  "product_name" : "Thermometer",
  "module_name" : "MCU",
  "alias_name" : "Micro Controller Unit",
  "description" : "Microcontroller unit firmware module.",
  "create_time" : "20230211T121212Z"
}

Status Codes

Status Code

Description

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

500

Internal Server Error

Error Codes

See Error Codes.