---
type: api
title: Reset the features
description: Clear all of the state information stored in system indices by Elasticsearch features, including the security and machine learning indices.
url: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/elasticsearch/v9/operation/operation-features-reset-features
resource: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/elasticsearch/v9/operation/operation-features-reset-features
products:
  - Elasticsearch
---

# Reset the features

Availability: Experimental since 7.12

## Paths

- `POST` `/_features/_reset`

## Description

Clear all of the state information stored in system indices by Elasticsearch features, including the security and machine learning indices.

WARNING: Intended for development and testing use only. Do not reset features on a production cluster.

Return a cluster to the same state as a new installation by resetting the feature state for all Elasticsearch features.
This deletes all state information stored in system indices.

The response code is HTTP 200 if the state is successfully reset for all features.
It is HTTP 500 if the reset operation failed for any feature.

Note that select features might provide a way to reset particular system indices.
Using this API resets all features, both those that are built-in and implemented as plugins.

To list the features that will be affected, use the get features API.

IMPORTANT: The features installed on the node you submit this request to are the features that will be reset. Run on the master node if you have any doubts about which plugins are installed on individual nodes.

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

## Response

`application/json`

- `features` (object[])
  - `name` (string)
  - `description` (string)
## Code examples

#### Console

```console
POST /_features/_reset
```

#### JavaScript

```javascript
const response = await client.features.resetFeatures();
```

#### Python

```python
resp = client.features.reset_features()
```

#### curl

```curl
curl -X POST "$ELASTICSEARCH_URL/_features/_reset" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.features().resetFeatures(r -> r);
```

#### C#

```c#
var response = await client.Features.ResetFeaturesAsync();
```

#### PHP

```php
$resp = $client->features()->resetFeatures();
```

#### Ruby

```ruby
response = client.features.reset_features
```

## Response examples

#### Reset features response example1

A successful response for clearing state information stored in system indices by Elasticsearch features.

```json
{
  "features" : [
    {
      "feature_name" : "security",
      "status" : "SUCCESS"
    },
    {
      "feature_name" : "tasks",
      "status" : "SUCCESS"
    }
  ]
}
```

