Create a snapshot

Auth

Take a snapshot of a cluster or of data streams and indices.

Read the reference documentation

Required authorization

Cluster privileges create_snapshot

Path parameters

repository string required

The name of the repository for the snapshot.

snapshot string required

The name of the snapshot. It supportes date math. It must be unique in the repository.

Query parameters

master_timeout string · default: 30s

The period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error.

wait_for_completion boolean · default: false

If true, the request returns a response when the snapshot is complete. If false, the request returns a response when the snapshot initializes.

Request body

expand_wildcards union oneOf · default: all

Determines how wildcard patterns in the indices parameter match data streams and indices. It supports comma-separated values such as open,hidden.

Supported values include:

  • all: Match any data stream or index, including hidden ones.
  • open: Match open, non-hidden indices. Also matches any non-hidden data stream.
  • closed: Match closed, non-hidden indices. Also matches any non-hidden data stream. Data streams cannot be closed.
  • hidden: Match hidden data streams and hidden indices. Must be combined with open, closed, or both.
  • none: Wildcard expressions are not accepted.
Values: all open closed hidden none
feature_states string[]

The feature states to include in the snapshot. Each feature state includes one or more system indices containing related data. You can view a list of eligible features using the get features API.

If include_global_state is true, all current feature states are included by default. If include_global_state is false, no feature states are included by default.

Note that specifying an empty array will result in the default behavior. To exclude all feature states, regardless of the include_global_state value, specify an array with only the value none (["none"]).

ignore_unavailable boolean · default: false

If true, the request ignores data streams and indices in indices that are missing or closed. If false, the request returns an error for any data stream or index that is missing or closed.

include_global_state boolean · default: true

If true, the current cluster state is included in the snapshot. The cluster state includes persistent cluster settings, composable index templates, legacy index templates, ingest pipelines, and ILM policies. It also includes data stored in system indices, such as Watches and task records (configurable via feature_states).

indices union oneOf

A comma-separated list of data streams and indices to include in the snapshot. It supports a multi-target syntax. The default is an empty array ([]), which includes all regular data streams and regular indices. To exclude all data streams and indices, use -*.

You can't use this parameter to include or exclude system indices or system data streams from a snapshot. Use feature_states instead.

One of: string[] or string
metadata object

Arbitrary metadata to the snapshot, such as a record of who took the snapshot, why it was taken, or any other useful data. It can have any contents but it must be less than 1024 bytes. This information is not automatically generated by Elasticsearch.

partial boolean · default: false

If true, allows the snapshot to proceed even if some of the target shards are unavailable. In this case, the resulting snapshot will not contain snapshots of the unavailable target shards, and will report its state as PARTIAL. Additionally, if true, allows index metadata operations such as deletions while the snapshot is in progress. This is almost always preferable to failing the snapshot completely when a single shard is unavailable, and blocking index metadata operations.

If false, the entire restore operation will fail if one or more indices included in the snapshot do not have all primary shards available, and index metadata operations such as deletions will be forbidden until the snapshot completes.

Response

application/json
accepted boolean

Equals true if the snapshot was accepted. Present when the request had wait_for_completion set to false

snapshot object

Snapshot information. Present when the request had wait_for_completion set to true

data_streams string[] required
duration string
duration_in_millis number
end_time union oneOf
One of: string or number
end_time_in_millis number
failures object[]
index string required
node_id string
reason string required
shard_id number required
index_uuid string required
status string required
include_global_state boolean
indices string[]
index_details map string to object
<string> object
shard_count number required
size number | string
size_in_bytes number required
max_segments_per_shard number required
metadata object
reason string
repository string
snapshot string required
shards object
failed number required

The number of shards the operation or search attempted to run on but failed.

successful number required

The number of shards the operation or search succeeded on.

total number required

The number of shards the operation or search will run on overall.

failures object[]
index string
node string
reason object required
type string required

The type of error

reason union string nullable

A human-readable explanation of the error, in English.

One of: string
stack_trace string

The server stack trace. Present only if the error_trace=true parameter was sent with the request.

caused_by object
Same fields as reason in failures
root_cause object[]
Same fields as reason in failures
suppressed object[]
Same fields as reason in failures
shard number
status string
primary boolean
skipped number
start_time union oneOf
One of: string or number
start_time_in_millis number
state string
uuid string required
version string
version_id number
feature_states object[]
feature_name string required
indices union oneOf required
One of: string[] or string