---
type: api
title: Start snapshot lifecycle management
description: Snapshot lifecycle management (SLM) starts automatically when a cluster is formed.
url: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/elasticsearch/v8/operation/operation-slm-start
resource: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/elasticsearch/v8/operation/operation-slm-start
products:
  - Elasticsearch
---

# Start snapshot lifecycle management

Availability: Generally available since 7.6

## Paths

- `POST` `/_slm/start`

## Description

Snapshot lifecycle management (SLM) starts automatically when a cluster is formed.
Manually starting SLM is necessary only if it has been stopped using the stop SLM API.

## Required authorization

- Cluster privileges: `manage_slm`

## Authentication

- Api key: `Authorization: <value>`
  Elasticsearch APIs support key-based authentication.
  You must create an API key and use the encoded value in the request header.
  For example:
  
  
  ```
  curl -X GET "${ES_URL}/_cat/indices?v=true" \
    -H "Authorization: ApiKey ${API_KEY}"
  ```
  
  To get API keys, use the `/_security/api_key` APIs.
- Basic: `Authorization: Basic <credentials>`
- Bearer: `Authorization: Bearer <token>`
  Elasticsearch APIs support the use of bearer tokens in the `Authorization` HTTP header to authenticate with the API.
  For examples, refer to [Token-based authentication services](https://www.elastic.co/guide/en/elasticsearch/reference/current/token-authentication-services.html)

## Query string parameters

- `master_timeout` (string · default: 30s) — optional
  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.
To indicate that the request should never timeout, set it to `-1`.
- `timeout` (string · default: 30s) — optional
  The period to wait for a response.
If no response is received before the timeout expires, the request fails and returns an error.
To indicate that the request should never timeout, set it to `-1`.

## 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
POST _slm/start
```

#### JavaScript

```javascript
const response = await client.slm.start();
```

#### Python

```python
resp = client.slm.start()
```

#### curl

```curl
curl -X POST "$ELASTICSEARCH_URL/_slm/start" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.slm().start(s -> s);
```

#### C#

```c#
var response = await client.SnapshotLifecycleManagement.StartAsync();
```

#### PHP

```php
$resp = $client->slm()->start();
```

#### Ruby

```ruby
response = client.slm.start
```

## Response examples

#### Start snapshot lifecycle management response example1

A successful response from `POST _slm/start`.

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

