﻿---
title: stack es bulk cli command
description: Bulk index or delete documents. Behaviour flags: --dry-run — validate all inputs and exit without performing any action 
url: https://www.elastic.co/elastic/docs-builder/docs/4075/reference/elastic-cli/cli/stack/es/bulk
applies_to:
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Preview
---

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

```bash
elastic stack es bulk [options]
```

Bulk index or delete documents.
**Behaviour flags:**
`--dry-run` — validate all inputs and exit without performing any action

## Options

<definitions>
  <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="--list-executed-pipelines">
    If `true`, the response will include the ingest pipelines that were run for each index or create.
  </definition>
  <definition term="--pipeline string">
    The pipeline identifier to use to preprocess incoming documents.
    If the index has a default ingest pipeline specified, setting the value to `_none` turns off the default ingest pipeline for this request.
    If a final pipeline is configured, it will always run regardless of the value of this parameter.
  </definition>
  <definition term="--refresh enum">
    If `true`, Elasticsearch refreshes the affected shards to make this operation visible to search.
    If `wait_for`, wait for a refresh to make this operation visible to search.
    If `false`, do nothing with refreshes.
    Valid
    **Values:** true, false, wait_for
  </definition>
  <definition term="--routing string">
    A custom value that is 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="--source string">
    Indicates whether to return the `_source` field (`true` or `false`) or contains a list of fields to return.
  </definition>
  <definition term="--source-excludes string">
    A comma-separated list of source fields to exclude from the response.
    You can also use this parameter to exclude fields from the subset specified in `_source_includes` query parameter.
    If the `_source` parameter is `false`, this parameter is ignored.
    **Repeatable:** pass `--source-excludes` multiple times to supply more than one value
  </definition>
  <definition term="--source-includes string">
    A comma-separated list of source fields to include in the response.
    If this parameter is specified, only these source fields are returned.
    You can exclude fields from this subset using the `_source_excludes` query parameter.
    If the `_source` parameter is `false`, this parameter is ignored.
    **Repeatable:** pass `--source-includes` multiple times to supply more than one value
  </definition>
  <definition term="--timeout string">
    The period each action waits for the following operations: automatic index creation, dynamic mapping updates, and waiting for active shards.
    The default is `1m` (one minute), which guarantees Elasticsearch waits for at least the timeout 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 shard copies 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 is `1`, which waits for each primary shard to be active.
  </definition>
  <definition term="--require-alias">
    If `true`, the request's actions must target an index alias.
  </definition>
  <definition term="--require-data-stream">
    If `true`, the request's actions must target a data stream (existing or to be created).
  </definition>
  <definition term="--operations string[]">
    **Repeatable:** pass `--operations` multiple times to supply more than one value
  </definition>
  <definition term="--index string">
    The name of the data stream, index, or index alias to perform bulk actions on.
  </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>