[role="xpack"]
[testenv="platinum"]
[[ml-stop-datafeed]]
=== Stop {dfeeds} API

[subs="attributes"]
++++
<titleabbrev>Stop {dfeeds}</titleabbrev>
++++

Stops one or more {dfeeds}.

A {dfeed} that is stopped ceases to retrieve data from {es}.
A {dfeed} can be started and stopped multiple times throughout its lifecycle.

[[ml-stop-datafeed-request]]
==== {api-request-title}

`POST _ml/datafeeds/<feed_id>/_stop` +

`POST _ml/datafeeds/<feed_id>,<feed_id>/_stop` +

`POST _ml/datafeeds/_all/_stop`

[[ml-stop-datafeed-desc]]
==== {api-description-title}

You can stop multiple {dfeeds} in a single API request by using a
comma-separated list of {dfeeds} or a wildcard expression. You can close all
{dfeeds} by using `_all` or by specifying `*` as the `<feed_id>`.

[[ml-stop-datafeed-path-parms]]
==== {api-path-parms-title}

`feed_id`::
  (string) Identifier for the {dfeed}. It can be a {dfeed} identifier or a
  wildcard expression.

[[ml-stop-datafeed-request-body]]
==== {api-request-body-title}

`force`::
  (boolean) If true, the {dfeed} is stopped forcefully.

`timeout`::
  (time) Controls the amount of time to wait until a {dfeed} stops.
  The default value is 20 seconds.

[[ml-stop-datafeed-prereqs]]
==== {api-prereq-title}

You must have `manage_ml`, or `manage` cluster privileges to use this API.
For more information, see
{stack-ov}/security-privileges.html[Security privileges].

[[ml-stop-datafeed-example]]
==== {api-examples-title}

The following example stops the `datafeed-total-requests` {dfeed}:

[source,js]
--------------------------------------------------
POST _ml/datafeeds/datafeed-total-requests/_stop
{
  "timeout": "30s"
}
--------------------------------------------------
// CONSOLE
// TEST[skip:setup:server_metrics_startdf]

When the {dfeed} stops, you receive the following results:

[source,js]
----
{
  "stopped": true
}
----
// TESTRESPONSE