Cancel OTA Task


Cancel OTA tasks under the specified OTA job.

Operation Permissions

Required Authorization

Required Operation Permission

Device Management

Full Access

Request Format

POST https://{apigw-address}/connect-service/v2.1/ota-jobs?action=cancelTask

Request Parameters (URI)

Name

Location (Path/Query)

Mandatory/Optional

Data Type

Description

orgId

Query

Mandatory

String

The organization ID which the asset belongs to. How to get orgId>>

jobId

Query

Mandatory

String

The job ID.

Request Parameters (Body)

Name

Mandatory/Optional

Data Type

Description

deviceKeys

Mandatory

String Array

The list of device keys for canceling the OTA task.

Error Codes

Code

Message

Description

24404

Job not found

The job cannot be found.

24617

Job not running

The task cannot be canceled as it is not running.

24620

Only init or published tasks can be canceled

Only init or published tasks can be canceled.

Samples

Request Sample

url: https://{apigw-address}/connect-service/v2.1/ota-jobs?action=cancelTask&orgId=yourOrgId&jobId=yourJobId
method: POST
requestBody: {"deviceKeys":["deviceKey1","deviceKey2"]}

Return Sample

{
    "code":0,
    "msg":"OK",
    "requestId":"3bdf31b4-e357-4d4c-8cf9-a40dc129a407",
    "data":null
}

Java SDK Sample

package com.envisioniot.enos.connect_service.ota.job;

import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envisioniot.enos.connect_service.v2_1.ota.job.task.CancelTaskRequest;
import com.envisioniot.enos.connect_service.v2_1.ota.job.task.CancelTaskResponse;
import com.google.common.collect.ImmutableSet;

public class CancelTask {
    public static void main(String[] args) {
        final String appKey = "yourAppKey";
        final String appSecret = "yourAppSecret";
        String serverUrl = "yourServerUrl";

        String orgId = "yourOrgId";
        String jobId = "yourJobId";

        CancelTaskRequest request = new CancelTaskRequest();
        request.setOrgId(orgId);

        request.setJobId(jobId);
        request.setDeviceKeys(ImmutableSet.of("deviceKey1","deviceKey2"));

        CancelTaskResponse response = Poseidon
                .config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
                .url(serverUrl)
                .getResponse(request, CancelTaskResponse.class);
    }
}