elasticsearch/docs/reference/features/apis/reset-features-api.asciidoc
William Brafford fc7c06d8a1
Make feature reset API response more informative (#71240)
Previously, the ResetFeatureStateStatus object captured its status in a
String, which meant that if we wanted to know if something succeeded or
failed, we'd have to parse information out of the string. This isn't a
good way of doing things.

I've introduced a SUCCESS/FAILURE enum for status constants, and added a
check for failures in the transport action. We return a 207 if some but not all
reset actions fail, and for every failure, we also return information about the
exception or error that caused it.

Co-authored-by: Jay Modi <jaymode@users.noreply.github.com>
2021-04-27 13:47:10 -04:00

54 lines
1.7 KiB
Text

[[reset-features-api]]
=== Reset features API
++++
<titleabbrev>Reset features</titleabbrev>
++++
experimental::[]
Clears all of the the state information stored in system indices by {es} features, including the security and machine learning indices.
WARNING: Intended for development and testing use only. Do not reset features on a production cluster.
[source,console]
-----------------------------------
POST /_features/_reset
-----------------------------------
[[reset-features-api-request]]
==== {api-request-title}
`POST /_features/_reset`
[[reset-features-api-desc]]
==== {api-description-title}
Return a cluster to the same state as a new installation by resetting the feature state for all {es} features. This deletes all state information stored in system indices.
The response code is `HTTP 200` if state is successfully reset for all features, `HTTP 207` if there is a mixture of successes and failures, and `HTTP 500` if the reset operation fails for all features.
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,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.
==== {api-examples-title}
Example response:
[source,console-result]
----
{
"features" : [
{
"feature_name" : "security",
"status" : "SUCCESS"
},
{
"feature_name" : "tasks",
"status" : "SUCCESS"
}
]
}
----
// TESTRESPONSE[s/"features" : \[[^\]]*\]/"features": $body.$_path/]