//lcawley Verified example output 2017-04-11
[[ml-close-job]]
==== Close Jobs

The close job API enables you to close a job.
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.

===== Request

`POST _xpack/ml/anomaly_detectors/<job_id>/_close`

===== Description

//A job can be closed once all data has been analyzed.

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 meta data. 
Therefore it is best practice to close jobs that are no longer required to process data.

When a datafeed that has a specified end date stops, it will automatically close the job.

You must have `manage_ml`, or `manage` cluster privileges to use this API.
For more information, see <<privileges-list-cluster>>.


===== Path Parameters

`job_id` (required)::
  (string) Identifier for the job

===== Query Parameters

`close_timeout`::
  (time units) Controls the time to wait until a job has closed.
  The default value is 30 minutes.

`force`::
  (boolean) Use to close a failed job, or to forcefully close a job which has not 
  responded to its initial close request.


////
===== Responses

200
(EmptyResponse) The cluster has been successfully deleted
404
(BasicFailedReply) The cluster specified by {cluster_id} cannot be found (code: clusters.cluster_not_found)
412
(BasicFailedReply) The Elasticsearch cluster has not been shutdown yet (code: clusters.cluster_plan_state_error)
////
===== Examples

The following example closes the `event_rate` job:

[source,js]
--------------------------------------------------
POST _xpack/ml/anomaly_detectors/event_rate/_close
--------------------------------------------------
// CONSOLE
// TEST[skip:todo]

When the job is closed, you receive the following results:
----
{
  "closed": true
}
----
