# Update an Asynchronous Streaming Job

**PUT** `/v1/jobs/{id}`

**Operation ID**: `updateJob`
**Summary**: Update an Asynchronous Streaming Job
Updates an asynchronous streaming job. This is an asynchronous operation which returns an identifier (field: id) for the job to be created, in the response. The id can be used to query the status of the job using the GET jobs endpoint. If a change in the job graph is detected, a new version of the job will be created and sent back in the response object. Job update lifecycle is represented by the state field in the GET response. Following states can be expected in the response:
 - PENDING:        Job is in the process of being updated.
 - RUNNING:        Job is running.
 - STOPPED:        Job is stopped.
 - FAILED:         Job update failed.
 - INFRA_UPDATE:   Job is undergoing an infra change.

## Tags
- Jobs
## Parameters

- **id** (required) - path
  - Id of the job to update
  - Type: string
- **rollbackEnabled** (optional) - query
  - If set to true, the rollback path will be enabled if this job update fails.
  - Type: boolean

## Request Body

**Content-Type**: `application/json`

**Schema**: `UpdateJob`

## Responses

### 202

Job updated successfully

### 401

Unauthorized

### 404

Job not found.

### 409

Job update failed due a conflicting update request.
