Delete snapshots Generally available

DELETE /_snapshot/{repository}/{snapshot}

Required authorization

  • Cluster privileges: manage

Path parameters

  • repository string Required

    The name of the repository to delete a snapshot from.

  • snapshot string | array[string] Required

    A comma-separated list of snapshot names to delete. It also accepts wildcards (*).

Query parameters

  • master_timeout string

    The period to wait for the master node. If the master node is not available before the timeout expires, the request fails and returns an error. To indicate that the request should never timeout, set it to -1.

    Default value is 30s.

  • wait_for_completion boolean

    If false, the request returns a response as soon as the deletes are scheduled. If true, the request returns a response when the matching snapshots are all deleted, and the post-deletion cleanup work associated with the request has completed. If you make several requests to the delete-snapshots API targetting overlapping collections of snapshots then some of those requests may perform different parts of the associated post-deletion cleanup work, returning their responses at different times. For example, if you make two requests to delete the same snapshot then sometimes all of the post-deletion cleanup work will be associated with the first request, delaying its response, while the second request has no associated post-deletion cleanup work and receives its response as soon as the snapshot has been deleted.

    Default value is true.

Responses

  • 200 application/json
    Hide response attribute Show response attribute object
    • acknowledged boolean Required

      For a successful response, this value is always true. On failure, an exception is returned instead.

DELETE /_snapshot/{repository}/{snapshot}
DELETE /_snapshot/my_repository/snapshot_2,snapshot_3
resp = client.snapshot.delete(
    repository="my_repository",
    snapshot="snapshot_2,snapshot_3",
)
const response = await client.snapshot.delete({
  repository: "my_repository",
  snapshot: "snapshot_2,snapshot_3",
});
response = client.snapshot.delete(
  repository: "my_repository",
  snapshot: "snapshot_2,snapshot_3"
)
$resp = $client->snapshot()->delete([
    "repository" => "my_repository",
    "snapshot" => "snapshot_2,snapshot_3",
]);
curl -X DELETE -H "Authorization: ApiKey $ELASTIC_API_KEY" "$ELASTICSEARCH_URL/_snapshot/my_repository/snapshot_2,snapshot_3"
var response = await client.Snapshot.DeleteAsync(repository: "my_repository", snapshot: new[] { "snapshot_2", "snapshot_3" });
client.snapshot().delete(d -> d
    .repository("my_repository")
    .snapshot(List.of("snapshot_2","snapshot_3"))
);
Response examples (200)
A successful response from `DELETE /_snapshot/my_repository/snapshot_2,snapshot_3`. The request deletes `snapshot_2` and `snapshot_3` from the repository named `my_repository`.
{
  "acknowledged" : true
}