[role="xpack"]
[testenv="basic"]
[[stop-data-frame-transform]]
=== Stop {dataframe-transforms} API
[subs="attributes"]
++++
Stop {dataframe-transforms}
++++
Stops one or more {dataframe-transforms}.
beta[]
[[stop-data-frame-transform-request]]
==== {api-request-title}
`POST _data_frame/transforms//_stop` +
`POST _data_frame/transforms/,/_stop` +
`POST _data_frame/transforms/_all/_stop`
[[stop-data-frame-transform-prereq]]
==== {api-prereq-title}
* If the {es} {security-features} are enabled, you must have
`manage_data_frame_transforms` cluster privileges to use this API. The built-in
`data_frame_transforms_admin` role has these privileges. For more information,
see {stack-ov}/security-privileges.html[Security privileges] and
{stack-ov}/built-in-roles.html[Built-in roles].
[[stop-data-frame-transform-desc]]
==== {api-description-title}
You can stop multiple {dataframe-transforms} in a single API request by using a
comma-separated list of {dataframe-transforms} or a wildcard expression.
All {dataframe-transforms} can be stopped by using `_all` or `*` as the
``.
[[stop-data-frame-transform-path-parms]]
==== {api-path-parms-title}
``::
(Required, string) Identifier for the {dataframe-transform}. This identifier
can contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and
underscores. It must start and end with alphanumeric characters.
[[stop-data-frame-transform-query-parms]]
==== {api-query-parms-title}
`allow_no_match`::
(Optional, boolean) Specifies what to do when the request:
+
--
* Contains wildcard expressions and there are no {dataframe-transforms} that match.
* Contains the `_all` string or no identifiers and there are no matches.
* Contains wildcard expressions and there are only partial matches.
The default value is `true`, which returns a successful acknowledgement message
when there are no matches. When there are only partial matches, the API stops
the appropriate {dataframe-transforms}. For example, if the request contains
`test-id1*,test-id2*` as the identifiers and there are no {dataframe-transforms}
that match `test-id2*`, the API nonetheless stops the {dataframe-transforms}
that match `test-id1*`.
If this parameter is `false`, the request returns a `404` status code when there
are no matches or only partial matches.
--
`timeout`::
(Optional, time value) If `wait_for_completion=true`, the API blocks for (at
maximum) the specified duration while waiting for the transform to stop. If
more than `timeout` time has passed, the API throws a timeout exception. Even
if a timeout exception is thrown, the stop request is still processing and
eventually moves the transform to `STOPPED`. The timeout simply means the API
call itself timed out while waiting for the status change. Defaults to `30s`
`wait_for_completion`::
(Optional, boolean) If set to `true`, causes the API to block until the indexer
state completely stops. If set to `false`, the API returns immediately and the
indexer will be stopped asynchronously in the background. Defaults to `false`.
[[stop-data-frame-transform-response-codes]]
==== {api-response-codes-title}
`404` (Missing resources)::
If `allow_no_match` is `false`, this code indicates that there are no
resources that match the request or only partial matches for the request.
[[stop-data-frame-transform-example]]
==== {api-examples-title}
[source,js]
--------------------------------------------------
POST _data_frame/transforms/ecommerce_transform/_stop
--------------------------------------------------
// CONSOLE
// TEST[skip:set up kibana samples]
When the {dataframe-transform} stops, you receive the following results:
[source,console-result]
----
{
"acknowledged" : true
}
----