[[ml-flush-job]]
==== Flush Jobs

The flush job API forces any buffered data to be processed by the {ml} job.

===== Request
`POST _xpack/ml/anomaly_detectors/<job_id>/_flush`

===== Description

The flush job API is only applicable when sending data for analysis using the POST `_data` API.
Depending on the content of the buffer, then it might additionally calculate new results.

Both flush and close operations are similar, however the flush is more efficient if you are expecting to send more data for analysis.
When flushing, the job remains open and is available to continue analyzing data.
A close operation additionally prunes and persists the model state to disk and the job must be opened again before analyzing further data.

===== Path Parameters

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

===== Query Parameters

`calc_interim`::
  (+boolean+; default: ++false++) If true (default false), will calculate interim
  results for the most recent bucket or all buckets within the latency period

`start`::
  (+string+; default: ++null++) When used in conjunction with `calc_interim`,
  specifies the range of buckets on which to calculate interim results

`end`::
  (+string+; default: ++null++) When used in conjunction with `calc_interim`,
  specifies the range of buckets on which to calculate interim results


`advance_time`::
  (+string+; default: ++null++) Specifies that no data prior to the date `advance_time` is expected

////
===== 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)
////
