| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 | [role="xpack"][testenv="platinum"][[ml-update-job]]=== Update jobs API++++<titleabbrev>Update jobs</titleabbrev>++++Updates certain properties of a job.==== Request`POST _ml/anomaly_detectors/<job_id>/_update`==== Path Parameters`job_id` (required)::  (string) Identifier for the job==== Request BodyThe following properties can be updated after the job is created:[cols="<,<,<",options="header",]|=======================================================================|Name |Description |Requires Restart|`analysis_limits`: `model_memory_limit` |The approximate maximum amount ofmemory resources required for analytical processing. See <<ml-apilimits>>. | Yes|`background_persist_interval` |Advanced configuration option. The time betweeneach periodic persistence of the model. See <<ml-job-resource>>. | Yes|`custom_settings` |Contains custom meta data about the job. | No|`description` |A description of the job. See <<ml-job-resource>>. | No|`detectors` |An array of <<ml-detector-update, detector update objects>>. | No|`groups` |A list of job groups. See <<ml-job-resource>>. | No|`model_plot_config`: `enabled` |If true, enables calculation and storage of themodel bounds for each entity that is being analyzed.See <<ml-apimodelplotconfig>>. | No|`model_snapshot_retention_days` |The time in days that model snapshots areretained for the job. See <<ml-job-resource>>. | Yes|`renormalization_window_days` |Advanced configuration option. The period overwhich adjustments to the score are applied, as new data is seen.See <<ml-job-resource>>. | Yes|`results_retention_days` |Advanced configuration option. The number of daysfor which job results are retained. See <<ml-job-resource>>. | Yes|=======================================================================For those properties that have `Requires Restart` set to `Yes` in this table,if the job is open when you make the update, you must stop the data feed, closethe job, then restart the data feed and open the job for the changes to takeeffect.[NOTE]--* You can update the `analysis_limits` only while the job is closed.* The `model_memory_limit` property value cannot be decreased below the current usage.* If the `memory_status` property in the `model_size_stats` object has a valueof `hard_limit`, this means that it was unable to process some data. You mightwant to re-run this job with an increased `model_memory_limit`.--[[ml-detector-update]]==== Detector Update ObjectsA detector update object has the following properties:`detector_index`::  (integer) The identifier of the detector to update.`description`::  (string) The new description for the detector.`custom_rules`::  (array) The new list of <<ml-detector-custom-rule, rules>> for the detector.No other detector property can be updated.==== AuthorizationYou must have `manage_ml`, or `manage` cluster privileges to use this API.For more information, see{xpack-ref}/security-privileges.html[Security Privileges].==== ExamplesThe following example updates the `total-requests` job:[source,js]--------------------------------------------------POST _ml/anomaly_detectors/total-requests/_update{  "description":"An updated job",  "groups": ["group1","group2"],  "model_plot_config": {    "enabled": true  },  "analysis_limits": {    "model_memory_limit": "1024mb"  },  "renormalization_window_days": 30,  "background_persist_interval": "2h",  "model_snapshot_retention_days": 7,  "results_retention_days": 60,  "custom_settings": {    "custom_urls" : [{      "url_name" : "Lookup IP",      "url_value" : "http://geoiplookup.net/ip/$clientip$"    }]  }}--------------------------------------------------// CONSOLE// TEST[skip:setup:server_metrics_job]When the job is updated, you receive a summary of the job configurationinformation, including the updated property values. For example:[source,js]----{  "job_id": "total-requests",  "job_type": "anomaly_detector",  "job_version": "7.0.0-alpha1",  "groups": [    "group1",    "group2"  ],  "description": "An updated job",  "create_time": 1518808660505,  "analysis_config": {    "bucket_span": "10m",    "detectors": [      {        "detector_description": "Sum of total",        "function": "sum",        "field_name": "total",        "detector_index": 0      }    ],    "influencers": []  },  "analysis_limits": {    "model_memory_limit": "1024mb",    "categorization_examples_limit": 4  },  "data_description": {    "time_field": "timestamp",    "time_format": "epoch_ms"  },  "model_plot_config": {    "enabled": true  },  "renormalization_window_days": 30,  "background_persist_interval": "2h",  "model_snapshot_retention_days": 7,  "results_retention_days": 60,  "custom_settings": {    "custom_urls": [      {        "url_name": "Lookup IP",        "url_value": "http://geoiplookup.net/ip/$clientip$"      }    ]  },  "results_index_name": "shared"}----// TESTRESPONSE[s/"job_version": "7.0.0-alpha1"/"job_version": $body.job_version/]// TESTRESPONSE[s/"create_time": 1518808660505/"create_time": $body.create_time/]
 |