---
layout: docs
page_title: 'Commands: job revert'
sidebar_title: revert
description: |
  The revert command is used to revert to a prior version of the job.
---

# Command: job revert

The `job revert` command is used to revert a job to a prior version of the
job. The available versions to revert to can be found using [`job history`]
command.

The revert command will use a Consul token with the following preference:
first the `-consul-token` flag, then the `$CONSUL_TOKEN` environment variable.
Because the consul token used to [run] the targeted job version was not
persisted, it must be provided to revert if the targeted job version includes
Consul Connect enabled services and the Nomad servers were configured to require
[consul service identity] authentication.

The revert command will use a Vault token with the following preference:
first the `-vault-token` flag, then the `$VAULT_TOKEN` environment variable.
Because the vault token used to [run] the targeted job version was not
persisted, it must be provided to revert if the targeted job version includes
Vault policies and the Nomad servers were configured to require [vault policy]
authentication.

## Usage

```plaintext
nomad job revert [options] <job> <version>
```

The `job revert` command requires two inputs, the job ID and the version of that
job to revert to.

## General Options

@include 'general_options.mdx'

## Revert Options

- `-detach`: Return immediately instead of monitoring. A new evaluation ID
  will be output, which can be used to examine the evaluation using the
  [eval status] command.

- `-consul-token`: If set, the passed Consul token is sent along with the revert
  request to the Nomad servers. This overrides the token found in the
  \$CONSUL_TOKEN environment variable.

- `-vault-token`: If set, the passed Vault token is sent along with the revert
  request to the Nomad servers. This overrides the token found in the
  \$VAULT_TOKEN environment variable.

- `-verbose`: Show full information.

## Examples

Revert to an older version of a job:

```shell
$ nomad job history -p example
Version     = 1
Stable      = false
Submit Date = 07/25/17 21:27:30 UTC
Diff        =
+/- Job: "example"
+/- Task Group: "cache"
  +/- Task: "redis"
    +/- Config {
      +/- image:           "redis:3.2" => "redis:4.0"
          port_map[0][db]: "6379"
        }

Version     = 0
Stable      = false
Submit Date = 07/25/17 21:27:18 UTC

$ nomad job revert example 0
==> Monitoring evaluation "faff5c30"
    Evaluation triggered by job "example"
    Evaluation within deployment: "e17c8592"
    Allocation "4ed0ca3b" modified: node "e8a2243d", group "cache"
    Evaluation status changed: "pending" -> "complete"
==> Evaluation "faff5c30" finished with status "complete"

$ nomad job history -p example
Version     = 2
Stable      = true
Submit Date = 07/25/17 21:27:43 UTC
Diff        =
+/- Job: "example"
+/- Task Group: "cache"
  +/- Task: "redis"
    +/- Config {
      +/- image:           "redis:4.0" => "redis:3.2"
          port_map[0][db]: "6379"
        }

Version     = 1
Stable      = false
Submit Date = 07/25/17 21:27:30 UTC
Diff        =
+/- Job: "example"
+/- Task Group: "cache"
  +/- Task: "redis"
    +/- Config {
      +/- image:           "redis:3.2" => "redis:4.0"
          port_map[0][db]: "6379"
        }

Version     = 0
Stable      = false
Submit Date = 07/25/17 21:27:18 UTC
```

[`job history`]: /docs/commands/job/history
[eval status]: /docs/commands/eval-status
[consul service identity]: /docs/configuration/consul#allow_unauthenticated
[vault policy]: /docs/configuration/vault#allow_unauthenticated
[run]: /docs/commands/job/run
