[[ml-valid-job]]
==== Validate Jobs

The validate jobs API validates job configuration information.

===== Request

`POST _xpack/ml/anomaly_detectors/_validate`

===== Description

TBD

////
===== Path Parameters

`job_id` (required)::
(+string+)    Identifier for the job
////
===== Request Body

`description`::
  (+string+) An optional description of the job.

`analysis_config`::
  (+object+) The analysis configuration, which specifies how to analyze the data.
  See <<ml-analysisconfig, analysis configuration objects>>.

`data_description`::
  (+object+) Describes the format of the input data.
  See <<ml-datadescription,data description objects>>.

`analysis_limits`::
  Optionally specifies runtime limits for the job. See <<ml-apilimits,analysis limits>>.

////
===== 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 validates job configuration information:

[source,js]
--------------------------------------------------
POST _xpack/ml/anomaly_detectors/_validate
{
    "description" : "Unusual response times by airlines",
    "analysis_config" : {
        "bucket_span": "300S",
        "detectors" :[
          {
            "function":"metric",
            "field_name":"responsetime",
            "by_field_name":"airline"}],
            "influencers" : [ "airline" ]
    },
    "data_description" : {
       "time_field":"time",
       "time_format":"yyyy-MM-dd'T'HH:mm:ssX"
    }
}
--------------------------------------------------
// CONSOLE
// TEST[skip:todo]

When the validation is complete, you receive the following results:
----
{
  "acknowledged": true
}
----
