UpdateJob - AWS IoT


Updates supported fields of the specified job.

Requires permission to access the UpdateJob action.

Request Syntax

PATCH /jobs/jobId?namespaceId=namespaceId HTTP/1.1 Content-type: application/json { "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": number, "thresholdPercentage": number } ] }, "description": "string", "jobExecutionsRetryConfig": { "criteriaList": [ { "failureType": "string", "numberOfRetries": number } ] }, "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": number, "incrementFactor": number, "rateIncreaseCriteria": { "numberOfNotifiedThings": number, "numberOfSucceededThings": number } }, "maximumPerMinute": number }, "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "timeoutConfig": { "inProgressTimeoutInMinutes": number } }

URI Request Parameters

The request uses the following URI parameters.


The ID of the job to be updated.

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9_-]+

Required: Yes


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

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



The namespaceId feature is in public preview.

Pattern: [a-zA-Z0-9_-]+

Request Body

The request accepts the following data in JSON format.


Allows you to create criteria to abort a job.

Type: AbortConfig object

Required: No


A short text description of the job.

Type: String

Length Constraints: Maximum length of 2028.

Pattern: [^\p{C}]+

Required: No


Allows you to create the criteria to retry a job.

Type: JobExecutionsRetryConfig object

Required: No


Allows you to create a staged rollout of the job.

Type: JobExecutionsRolloutConfig object

Required: No


Configuration information for pre-signed S3 URLs.

Type: PresignedUrlConfig object

Required: No


Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT.

Type: TimeoutConfig object

Required: No

Response Syntax

HTTP/1.1 200

Response Elements

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.



The request is not valid.

HTTP Status Code: 400


The specified resource does not exist.

HTTP Status Code: 404


The service is temporarily unavailable.

HTTP Status Code: 503


The rate exceeds the limit.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: