[role="xpack"] [testenv="platinum"] [[ml-delete-job]] === Delete {anomaly-jobs} API ++++ <titleabbrev>Delete jobs</titleabbrev> ++++ Deletes an existing {anomaly-job}. [[ml-delete-job-request]] ==== {api-request-title} `DELETE _ml/anomaly_detectors/<job_id>` [[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 an {anomaly-job} must be done via this API only. Do not delete the job directly from the `.ml-*` indices using the {es} 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 <<ml-delete-datafeed,Delete {dfeeds-cap}>>. 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} `<job_id>`:: (Required, string) Identifier for the {anomaly-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,console] -------------------------------------------------- DELETE _ml/anomaly_detectors/total-requests -------------------------------------------------- // TEST[skip:setup:server_metrics_job] When the job is deleted, you receive the following results: [source,console-result] ---- { "acknowledged": true } ---- In the next example we delete the `total-requests` job asynchronously: [source,console] -------------------------------------------------- DELETE _ml/anomaly_detectors/total-requests?wait_for_completion=false -------------------------------------------------- // 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,console-result] ---- { "task": "oTUltX4IQMOUUVeiohTt8A:39" } ---- // TESTRESPONSE[s/"task": "oTUltX4IQMOUUVeiohTt8A:39"/"task": $body.task/]