---
type: api
title: Delete snapshots
description: ## Required authorization
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/operation/operation-snapshot-delete
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/operation/operation-snapshot-delete
products:
  - Elasticsearch
---

# Delete snapshots

Availability:

## Paths

- `DELETE` `/_snapshot/{repository}/{snapshot}`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/authentication#apikeyauth)
- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/authentication#basicauth)
- [Bearer auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/authentication#bearerauth)

#### Path Parameters

- `repository` (string Name)
  The name of the repository to delete a snapshot from.
- `snapshot` (union Name | [] Name)
  A comma-separated list of snapshot names to delete.
It also accepts wildcards (`*`).

## Description



## Required authorization

* Cluster privileges: `manage`

## Query String Parameters

- `master_timeout` (string Duration · default: 30s)
  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`.
- `wait_for_completion` (boolean · default: true)
  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.

## Response

`application/json`

- `acknowledged` (boolean)
  For a successful response, this value is always true. On failure, an exception is returned instead.
## Code Examples

#### Console

```console
DELETE /_snapshot/my_repository/snapshot_2,snapshot_3
```

#### JavaScript

```javascript
const response = await client.snapshot.delete({
  repository: "my_repository",
  snapshot: "snapshot_2,snapshot_3",
});
```

#### Python

```python
resp = client.snapshot.delete(
    repository="my_repository",
    snapshot="snapshot_2,snapshot_3",
)
```

#### curl

```curl
curl -X DELETE "$ELASTICSEARCH_URL/_snapshot/my_repository/snapshot_2,snapshot_3" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.snapshot().delete(d -> d
    .repository("my_repository")
    .snapshot(List.of("snapshot_2","snapshot_3"))
);
```

#### C#

```c#
var response = await client.Snapshot.DeleteAsync(repository: "my_repository", snapshot: new[] { "snapshot_2", "snapshot_3" });
```

#### PHP

```php
$resp = $client->snapshot()->delete([
    "repository" => "my_repository",
    "snapshot" => "snapshot_2,snapshot_3",
]);
```

#### Ruby

```ruby
response = client.snapshot.delete(
  repository: "my_repository",
  snapshot: "snapshot_2,snapshot_3"
)
```

## Response Examples

#### Snapshot delete response example1

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`.

```json
{
  "acknowledged" : true
}
```

