[role="xpack"] [testenv="platinum"] [[ml-delete-job]] === Delete jobs API ++++ Delete jobs ++++ Deletes an existing anomaly detection job. [[ml-delete-job-request]] ==== {api-request-title} `DELETE _ml/anomaly_detectors/` [[ml-delete-job-prereqs]] ==== {api-prereq-title} * If {es} {security-features} are enabled, you must have `manage_ml` or `manage` cluster privileges to use this API. See {stack-ov}/security-privileges.html[Security privileges]. [[ml-delete-job-desc]] ==== {api-description-title} All job configuration, model state and results are deleted. IMPORTANT: Deleting a job must be done via this API only. Do not delete the job directly from the `.ml-*` indices using the Elasticsearch delete document API. When {es} {security-features} are enabled, make sure no `write` privileges are granted to anyone over the `.ml-*` indices. Before you can delete a job, you must delete the {dfeeds} that are associated with it. See <>. Unless the `force` parameter is used the job must be closed before it can be deleted. It is not currently possible to delete multiple jobs using wildcards or a comma separated list. [[ml-delete-job-path-parms]] ==== {api-path-parms-title} `` (Required):: (string) Identifier for the job. [[ml-delete-job-query-parms]] ==== {api-query-parms-title} `force` (Optional):: (boolean) Use to forcefully delete an opened job; this method is quicker than closing and deleting the job. `wait_for_completion` (Optional):: (boolean) Specifies whether the request should return immediately or wait until the job deletion completes. Defaults to `true`. [[ml-delete-job-example]] ==== {api-examples-title} The following example deletes the `total-requests` job: [source,js] -------------------------------------------------- DELETE _ml/anomaly_detectors/total-requests -------------------------------------------------- // CONSOLE // TEST[skip:setup:server_metrics_job] When the job is deleted, you receive the following results: [source,js] ---- { "acknowledged": true } ---- // TESTRESPONSE In the next example we delete the `total-requests` job asynchronously: [source,js] -------------------------------------------------- DELETE _ml/anomaly_detectors/total-requests?wait_for_completion=false -------------------------------------------------- // CONSOLE // TEST[skip:setup:server_metrics_job] When `wait_for_completion` is set to `false`, the response contains the id of the job deletion task: [source,js] ---- { "task": "oTUltX4IQMOUUVeiohTt8A:39" } ---- // TESTRESPONSE[s/"task": "oTUltX4IQMOUUVeiohTt8A:39"/"task": $body.task/]