[role="xpack"] [testenv="platinum"] [[ml-forecast]] === Forecast jobs API ++++ Forecast jobs ++++ Predicts the future behavior of a time series by using its historical behavior. [[ml-forecast-request]] ==== {api-request-title} `POST _ml/anomaly_detectors//_forecast` [[ml-forecast-prereqs]] ==== {api-prereq-title} * If the {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-forecast-desc]] ==== {api-description-title} See {stack-ov}/ml-overview.html#ml-forecasting[Forecasting the future]. [NOTE] =============================== * If you use an `over_field_name` property in your job, you cannot create a forecast. For more information about this property, see <>. * The job must be open when you create a forecast. Otherwise, an error occurs. =============================== [[ml-forecast-path-parms]] ==== {api-path-parms-title} ``:: (Required, string) Identifier for the job. [[ml-forecast-request-body]] ==== {api-request-body-title} `duration`:: (Optional, time units) A period of time that indicates how far into the future to forecast. For example, `30d` corresponds to 30 days. The default value is 1 day. The forecast starts at the last record that was processed. For more information about time units, see <>. `expires_in`:: (Optional, time units) The period of time that forecast results are retained. After a forecast expires, the results are deleted. The default value is 14 days. If set to a value of `0`, the forecast is never automatically deleted. For more information about time units, see <>. [[ml-forecast-example]] ==== {api-examples-title} The following example requests a 10 day forecast for the `total-requests` job: [source,js] -------------------------------------------------- POST _ml/anomaly_detectors/total-requests/_forecast { "duration": "10d" } -------------------------------------------------- // CONSOLE // TEST[skip:requires delay] When the forecast is created, you receive the following results: [source,js] ---- { "acknowledged": true, "forecast_id": "wkCWa2IB2lF8nSE_TzZo" } ---- // NOTCONSOLE You can subsequently see the forecast in the *Single Metric Viewer* in {kib}.