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);
    }
}