[[clone-snapshot-api]]
=== Clone snapshot API
++++
<titleabbrev>Clone snapshot</titleabbrev>
++++

Clones part or all of a snapshot into a new snapshot.

[source,console]
----
PUT /_snapshot/my_repository/source_snapshot/_clone/target_snapshot
{
  "indices": "index_a,index_b"
}
----
// TEST[skip:TODO]

[[clone-snapshot-api-request]]
==== {api-request-title}

`PUT /_snapshot/<repository>/<source_snapshot>/_clone/<target_snapshot>`

[[clone-snapshot-api-prereqs]]
==== {api-prereq-title}

* If the {es} {security-features} are enabled, you must have the `manage`
<<privileges-list-cluster,cluster privilege>> to use this API.

[[clone-snapshot-api-desc]]
==== {api-description-title}

The clone snapshot API allows creating a copy of all or part of an existing snapshot
within the same repository.

[[clone-snapshot-api-params]]
==== {api-path-parms-title}

`<repository>`::
(Required, string)
Name of the snapshot repository that both source and target snapshot belong to.

[[clone-snapshot-api-query-params]]
==== {api-query-parms-title}

`master_timeout`::
(Optional, <<time-units, time units>>) Specifies the period of time 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. Defaults to `30s`.

`timeout`::
(Optional, <<time-units, time units>>) Specifies the period of time to wait for
a response. If no response is received before the timeout expires, the request
fails and returns an error. Defaults to `30s`.

`indices`::
(Required, string)
A comma-separated list of indices to include in the snapshot.
<<multi-index,Multi-index syntax>> is supported.