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

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

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

Create a new document in the index.
**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 automatically generate a document ID, use the `POST /<target>/_doc/` request format.
  </definition>
  <definition term="--index string required">
    The name of the data stream or index to target.
    If the target doesn't exist and matches the name or wildcard (`*`) pattern of an index template with a `data_stream` definition, this request creates the data stream.
    If the target doesn't exist and doesn’t match a data stream template, this request creates the index.
  </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="--pipeline string">
    The ID of the pipeline 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`, 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="--require-data-stream">
    If `true`, the request's actions must target a data stream (existing or to be created).
  </definition>
  <definition term="--routing string">
    A custom value that is used to route operations to a specific shard.
    **Repeatable:** pass `--routing` multiple times to supply more than one value
  </definition>
  <definition term="--timeout string">
    The period the request waits for the following operations: automatic index creation, dynamic mapping updates, waiting for active shards.
    Elasticsearch waits for at least the specified timeout period before failing.
    The actual wait time could be longer, particularly when multiple waits occur. This parameter is useful for situations where the primary shard assigned to perform the operation might not be available when the operation runs.
    Some reasons for this might be that the primary shard is currently recovering from a gateway or undergoing relocation.
    By default, the operation will wait on the primary shard to become available for at least 1 minute before failing and responding with an error.
    The actual wait time could be longer, particularly when multiple waits occur.
  </definition>
  <definition term="--version number">
    The explicit version number for concurrency control.
    It must be a non-negative long number.
  </definition>
  <definition term="--version-type enum">
    The version type.
    **Values:** internal, external, external_gte
  </definition>
  <definition term="--wait-for-active-shards string">
    The number of shard copies that must be active before proceeding with the operation.
    You can set it 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="--document string">
  </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>