| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 | [role="xpack"][testenv="basic"][[migration-api-deprecation]]=== Deprecation info APIs++++<titleabbrev>Deprecation info</titleabbrev>++++IMPORTANT: Use this API to check for deprecated configuration before performinga major version upgrade. You should run it on the the last minor version of themajor version you are upgrading from, as earlier minor versions may not includeall deprecations.The deprecation API is to be used to retrieve information about differentcluster, node, and index level settings that use deprecated features that willbe removed or changed in the next major version.[[migration-api-request]]==== {api-request-title}`GET /_migration/deprecations` +`GET /<target>/_migration/deprecations`[[migration-api-path-params]]==== {api-path-parms-title}`<target>`::(Optional, string)Comma-separate list of data streams or indices to check. Wildcard (`*`)expressions are supported.+When you specify this parameter, only deprecations for the specifieddata streams or indices are returned.[[migration-api-example]]==== {api-examples-title}To see the list of offenders in your cluster, submit a GET request to the`_migration/deprecations` endpoint:[source,console]--------------------------------------------------GET /_migration/deprecations--------------------------------------------------// TEST[skip:cannot assert tests have certain deprecations]Example response:["source","js",subs="attributes,callouts,macros"]--------------------------------------------------{  "cluster_settings" : [    {      "level" : "critical",      "message" : "Cluster name cannot contain ':'",      "url" : "{ref-70}/breaking-changes-7.0.html#_literal_literal_is_no_longer_allowed_in_cluster_name",      "details" : "This cluster is named [mycompany:logging], which contains the illegal character ':'."    }  ],  "node_settings" : [ ],  "index_settings" : {    "logs:apache" : [      {        "level" : "warning",        "message" : "Index name cannot contain ':'",        "url" : "{ref-70}/breaking-changes-7.0.html#_literal_literal_is_no_longer_allowed_in_index_name",        "details" : "This index is named [logs:apache], which contains the illegal character ':'."      }    ]  },  "ml_settings" : [ ]}--------------------------------------------------// NOTCONSOLEThe response breaks down all the specific forward-incompatible settings that youshould resolve before upgrading your cluster. Any offending settings arerepresented as a deprecation warning.The following is an example deprecation warning:["source","js",subs="attributes,callouts,macros"]--------------------------------------------------{  "level" : "warning",  "message" : "This is the generic descriptive message of the breaking change",  "url" : "{ref-60}/breaking_60_indices_changes.html",  "details" : "more information, like which nodes, indices, or settings are to blame"}--------------------------------------------------// NOTCONSOLEAs is shown, there is a `level` property that describes the significance of theissue.|=======|warning | You can upgrade directly, but you are using deprecated functionalitywhich will not be available or behave differently in the next major version.|critical | You cannot upgrade without fixing this problem.|=======The `message` property and the optional `details` property provide descriptiveinformation about the deprecation warning. The `url` property provides a link tothe Breaking Changes Documentation, where you can find more information aboutthis change.Any cluster-level deprecation warnings can be found under the `cluster_settings`key. Similarly, any node-level warnings are found under `node_settings`. Sinceonly a select subset of your nodes might incorporate these settings, it isimportant to read the `details` section for more information about which nodesare affected. Index warnings are sectioned off per index and can be filteredusing an index-pattern in the query. This section includes warnings for thebacking indices of data streams specified in the request path. Machine Learningrelated deprecation warnings can be found under the `ml_settings` key.The following example request shows only index-level deprecations of all`logstash-*` indices:[source,console]--------------------------------------------------GET /logstash-*/_migration/deprecations--------------------------------------------------// TEST[skip:cannot assert tests have certain deprecations]
 |