[role="xpack"]
[testenv="platinum"]
[[ml-delete-expired-data]]
= Delete expired data API
++++
Delete expired data
++++
Deletes expired and unused machine learning data.
[[ml-delete-expired-data-request]]
== {api-request-title}
`DELETE _ml/_delete_expired_data` +
`DELETE _ml/_delete_expired_data/`
[[ml-delete-expired-data-prereqs]]
== {api-prereq-title}
* If the {es} {security-features} are enabled, you must have `manage_ml` or
`manage` cluster privileges to use this API. See
<> and {ml-docs-setup-privileges}.
[[ml-delete-expired-data-desc]]
== {api-description-title}
Deletes all job results, model snapshots and forecast data that have exceeded
their `retention days` period. Machine learning state documents that are not
associated with any job are also deleted.
You can limit the request to a single or set of {anomaly-jobs} by using a job identifier,
a group name, a comma-separated list of jobs, or a wildcard expression.
You can delete expired data for all {anomaly-jobs} by using `_all`, by specifying
`*` as the ``, or by omitting the ``.
[[ml-delete-expired-data-path-parms]]
== {api-path-parms-title}
``::
(Optional, string)
Identifier for an {anomaly-job}. It can be a job identifier, a group name, or a
wildcard expression.
[[ml-delete-expired-data-request-body]]
== {api-request-body-title}
`requests_per_second`::
(Optional, float) The desired requests per second for the deletion processes.
The default behavior is no throttling.
`timeout`::
(Optional, string) How long can the underlying delete processes run until they are canceled.
The default value is `8h` (8 hours).
[[ml-delete-expired-data-example]]
== {api-examples-title}
The endpoint takes no arguments:
[source,console]
--------------------------------------------------
DELETE _ml/_delete_expired_data
--------------------------------------------------
// TEST
When the expired data is deleted, you receive the following response:
[source,console-result]
----
{
"deleted": true
}
----