<commit_before>[role="xpack"]
[testenv="basic"]
[[migration-api-deprecation]]
=== Deprecation Info APIs

The deprecation API is to be used to retrieve information about different
cluster, node, and index level settings that use deprecated features that will
be removed or changed in the next major version.

[float]
==== Request

`GET /_xpack/migration/deprecations` +

`GET /<index_name>/_xpack/migration/deprecations`

//=== Description

[float]
==== Path Parameters

`index_name`::
  (string) Identifier for the index. It can be an index name or a wildcard
  expression. When you specify this parameter, only index-level deprecations for
  the specified indices are returned.

//=== Query Parameters

//=== Authorization

[float]
==== Examples

To see the list of offenders in your cluster, submit a GET request to the
`_xpack/migration/deprecations` endpoint:

[source,js]
--------------------------------------------------
GET /_xpack/migration/deprecations
--------------------------------------------------
// CONSOLE
// 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}/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}/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 ':'."
      }
    ]
  }
}
--------------------------------------------------
// NOTCONSOLE

The response breaks down all the specific forward-incompatible settings that you
should resolve before upgrading your cluster. Any offending settings are
represented 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"
}
--------------------------------------------------
// NOTCONSOLE<commit_msg>[DOCS] Updated xrefs to use a new ref-70 attribute<commit_after>[role="xpack"]
[testenv="basic"]
[[migration-api-deprecation]]
=== Deprecation Info APIs

The deprecation API is to be used to retrieve information about different
cluster, node, and index level settings that use deprecated features that will
be removed or changed in the next major version.

[float]
==== Request

`GET /_xpack/migration/deprecations` +

`GET /<index_name>/_xpack/migration/deprecations`

//=== Description

[float]
==== Path Parameters

`index_name`::
  (string) Identifier for the index. It can be an index name or a wildcard
  expression. When you specify this parameter, only index-level deprecations for
  the specified indices are returned.

//=== Query Parameters

//=== Authorization

[float]
==== Examples

To see the list of offenders in your cluster, submit a GET request to the
`_xpack/migration/deprecations` endpoint:

[source,js]
--------------------------------------------------
GET /_xpack/migration/deprecations
--------------------------------------------------
// CONSOLE
// 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 ':'."
      }
    ]
  }
}
--------------------------------------------------
// NOTCONSOLE

The response breaks down all the specific forward-incompatible settings that you
should resolve before upgrading your cluster. Any offending settings are
represented 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"
}
--------------------------------------------------
// NOTCONSOLE
{'fraction_non_alphanumeric': 0.21867413632119514, 'fraction_numerical': 0.004108309990662932, 'mean_word_length': 2.537648612945839, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6534681', 'n_tokens_mistral': 1477, 'n_tokens_neox': 1429, 'n_words': 453}