﻿---
title: stack es update cli command
description: Update a document. Behaviour flags: --dry-run — validate all inputs and exit without performing any action 
url: https://www.elastic.co/elastic/docs-builder/docs/4089/reference/elastic-cli/cli/stack/es/update
applies_to:
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Preview
---

# stack es update cli command
<cli-modifiers>
</cli-modifiers>

```bash
elastic stack es update --id <id> --index <index> [options]
```

Update a document.
**Behaviour flags:**
`--dry-run` — validate all inputs and exit without performing any action

## Options

<definitions>
  <definition term="--id string required">
    A unique identifier for the document to be updated.
  </definition>
  <definition term="--index string required">
    The name of the target index.
    By default, the index is created automatically if it doesn't exist.
  </definition>
  <definition term="--if-primary-term number">
    Only perform the operation if the document has this primary term.
  </definition>
  <definition term="--if-seq-no number">
    Only perform the operation if the document has this sequence number.
  </definition>
  <definition term="--include-source-on-error">
    True or false if to include the document source in the error message in case of parsing errors.
  </definition>
  <definition term="--lang string">
    The script language.
  </definition>
  <definition term="--refresh enum">
    If 'true', Elasticsearch refreshes the affected shards to make this operation visible to search.
    If 'wait_for', it waits for a refresh to make this operation visible to search.
    If 'false', it does nothing with refreshes.
    **Values:** true, false, wait_for
  </definition>
  <definition term="--require-alias">
    If `true`, the destination must be an index alias.
  </definition>
  <definition term="--retry-on-conflict number">
    The number of times the operation should be retried when a conflict occurs.
  </definition>
  <definition term="--routing string">
    A custom value used to route operations to a specific shard.
    Not allowed when `index.slice.enabled` is `true` for the target index; use `_slice` instead.
    **Repeatable:** pass `--routing` multiple times to supply more than one value
  </definition>
  <definition term="--timeout string">
    The period to wait for the following operations: dynamic mapping updates and waiting for active shards.
    Elasticsearch waits for at least the timeout period before failing.
    The actual wait time could be longer, particularly when multiple waits occur.
  </definition>
  <definition term="--wait-for-active-shards string">
    The number of copies of each shard that must be active before proceeding with the operation.
    Set to 'all' or any positive integer up to the total number of shards in the index (`number_of_replicas`+1).
    The default value of `1` means it waits for each primary shard to be active.
  </definition>
  <definition term="--source string">
    If `false`, turn off source retrieval.
    You can also specify a comma-separated list of the fields you want to retrieve.
  </definition>
  <definition term="--source-excludes string">
    The source fields you want to exclude.
    **Repeatable:** pass `--source-excludes` multiple times to supply more than one value
  </definition>
  <definition term="--source-includes string">
    The source fields you want to retrieve.
    **Repeatable:** pass `--source-includes` multiple times to supply more than one value
  </definition>
  <definition term="--detect-noop">
    If `true`, the `result` in the response is set to `noop` (no operation) when there are no changes to the document.
  </definition>
  <definition term="--doc string">
    A partial update to an existing document.
    If both `doc` and `script` are specified, `doc` is ignored.
  </definition>
  <definition term="--doc-as-upsert">
    If `true`, use the contents of 'doc' as the value of 'upsert'.
    NOTE: Using ingest pipelines with `doc_as_upsert` is not supported.
  </definition>
  <definition term="--script string">
    The script to run to update the document.
  </definition>
  <definition term="--scripted-upsert">
    If `true`, run the script whether or not the document exists.
  </definition>
  <definition term="--upsert string">
    If the document does not already exist, the contents of 'upsert' are inserted as a new document.
    If the document exists, the 'script' is run.
  </definition>
  <definition term="--error-trace">
    When set to `true` Elasticsearch will include the full stack trace of errors
    when they occur.
  </definition>
  <definition term="--filter-path string">
    Comma-separated list of filters in dot notation which reduce the response
    returned by Elasticsearch.
    **Repeatable:** pass `--filter-path` multiple times to supply more than one value
  </definition>
  <definition term="--human">
    When set to `true` will return statistics in a format suitable for humans.
    For example `"exists_time": "1h"` for humans and
    `"exists_time_in_millis": 3600000` for computers. When disabled the human
    readable values will be omitted. This makes sense for responses being consumed
    only by machines.
  </definition>
  <definition term="--pretty">
    If set to `true` the returned JSON will be "pretty-formatted". Only use
    this option for debugging only.
  </definition>
  <definition term="--input-file string">
    path to a JSON file to use as command input
  </definition>
  <definition term="--dry-run">
    validate all inputs and exit without performing any action (preview changes without applying them)
  </definition>
</definitions>


## Global Options

<definitions>
  <definition term="--json">
    output as JSON
  </definition>
</definitions>