[role="xpack"] [[ml-close-job]] = Close {anomaly-jobs} API ++++ Close jobs ++++ .New API reference [sidebar] -- For the most up-to-date API details, refer to {api-es}/group/endpoint-ml-anomaly[{ml-cap} {anomaly-detect} APIs]. -- Closes one or more {anomaly-jobs}. [[ml-close-job-request]] == {api-request-title} `POST _ml/anomaly_detectors//_close` + `POST _ml/anomaly_detectors/,/_close` + `POST _ml/anomaly_detectors/_all/_close` + [[ml-close-job-prereqs]] == {api-prereq-title} * Requires the `manage_ml` cluster privilege. This privilege is included in the `machine_learning_admin` built-in role. [[ml-close-job-desc]] == {api-description-title} A job can be opened and closed multiple times throughout its lifecycle. A closed job cannot receive data or perform analysis operations, but you can still explore and navigate results. If you close an {anomaly-job} whose {dfeed} is running, the request first tries to stop the {dfeed}. This behavior is equivalent to calling <> with the same `timeout` and `force` parameters as the close job request. When you close a job, it runs housekeeping tasks such as pruning the model history, flushing buffers, calculating final results and persisting the model snapshots. Depending upon the size of the job, it could take several minutes to close and the equivalent time to re-open. After it is closed, the job has a minimal overhead on the cluster except for maintaining its metadata. Therefore it is a best practice to close jobs that are no longer required to process data. When a {dfeed} that has a specified end date stops, it automatically closes its associated job. NOTE: If you use the `force` query parameter, the request returns without performing the associated actions such as flushing buffers and persisting the model snapshots. Therefore, do not use this parameter if you want the job to be in a consistent state after the close job API returns. The `force` query parameter should only be used in situations where the job has already failed, or where you are not interested in results the job might have recently produced or might produce in the future. [[ml-close-job-path-parms]] == {api-path-parms-title} ``:: (Required, string) include::{es-ref-dir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection-wildcard] + You can close all jobs by using `_all` or by specifying `*` as the job identifier. [[ml-close-job-query-parms]] == {api-query-parms-title} `allow_no_match`:: (Optional, Boolean) include::{es-ref-dir}/ml/ml-shared.asciidoc[tag=allow-no-match-jobs] `force`:: (Optional, Boolean) Use to close a failed job, or to forcefully close a job which has not responded to its initial close request. `timeout`:: (Optional, <>) Controls the time to wait until a job has closed. The default value is 30 minutes. [[ml-close-job-request-body]] == {api-request-body-title} You can also specify the query parameters (such as `allow_no_match` and `force`) in the request body. [[ml-close-job-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. [[ml-close-job-example]] == {api-examples-title} [source,console] -------------------------------------------------- POST _ml/anomaly_detectors/low_request_rate/_close -------------------------------------------------- // TEST[skip:Kibana sample data] When the job is closed, you receive the following results: [source,console-result] ---- { "closed": true } ----