[ aws . iot ]



Deletes a job execution.

Requires permission to access the DeleteJobExecution action.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--job-id <value>
--thing-name <value>
--execution-number <value>
[--force | --no-force]
[--namespace-id <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]


--job-id (string)

The ID of the job whose execution on a particular device will be deleted.

--thing-name (string)

The name of the thing whose job execution will be deleted.

--execution-number (long)

The ID of the job execution to be deleted. The executionNumber refers to the execution of a particular job on a particular device.

Note that once a job execution is deleted, the executionNumber may be reused by IoT, so be sure you get and use the correct value here.

--force | --no-force (boolean)

(Optional) When true, you can delete a job execution which is “IN_PROGRESS”. Otherwise, you can only delete a job execution which is in a terminal state (“SUCCEEDED”, “FAILED”, “REJECTED”, “REMOVED” or “CANCELED”) or an exception will occur. The default is false.


Deleting a job execution which is “IN_PROGRESS”, will cause the device to be unable to access job information or update the job execution status. Use caution and ensure that the device is able to recover to a valid state.

--namespace-id (string)

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/*THING_NAME* /jobs/*JOB_ID* /notify-namespace-*NAMESPACE_ID* /


The namespaceId feature is in public preview.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.



To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.

Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .

To delete a job execution

The following delete-job-execution example deletes the job execution of the specified job on a device. Use describe-job-execution to get the execution number.

aws iot delete-job-execution
    --job-id "example-job-02"
    --thing-name "MyRaspberryPi"
    --execution-number 1

This command produces no output.

For more information, see Creating and Managing Jobs (CLI) in the AWS IoT Developer Guide.