---
type: api
title: Stop the ILM plugin
description: Halt all lifecycle management operations and stop the index lifecycle management plugin.
url: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/elasticsearch/v9/operation/operation-ilm-stop
resource: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/elasticsearch/v9/operation/operation-ilm-stop
products:
  - Elasticsearch
---

# Stop the ILM plugin

Availability: Generally available since 6.6

## Paths

- `POST` `/_ilm/stop`

## Description

Halt all lifecycle management operations and stop the index lifecycle management plugin.
This is useful when you are performing maintenance on the cluster and need to prevent ILM from performing any actions on your indices.

The API returns as soon as the stop request has been acknowledged, but the plugin might continue to run until in-progress operations complete and the plugin can be safely stopped.
Use the get ILM status API to check whether ILM is running.

## Required authorization

- Cluster privileges: `manage_ilm`

## 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/docs/deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services)

## Query string parameters

- `master_timeout` (string · default: 30s) — optional
  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.
- `timeout` (string · default: 30s) — optional
  Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.

## 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 _ilm/stop
```

#### JavaScript

```javascript
const response = await client.ilm.stop();
```

#### Python

```python
resp = client.ilm.stop()
```

#### curl

```curl
curl -X POST "$ELASTICSEARCH_URL/_ilm/stop" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.ilm().stop(s -> s);
```

#### C#

```c#
var response = await client.IndexLifecycleManagement.StopAsync();
```

#### PHP

```php
$resp = $client->ilm()->stop();
```

#### Ruby

```ruby
response = client.ilm.stop
```

## Response examples

#### Stop ilmresponse example1

A successful response when stopping the ILM plugin.

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

