[role="xpack"]
[[migration-api-assistance]]
=== Migration Assistance API

The Migration Assistance API analyzes existing indices in the cluster and
returns the information about indices that require some changes before the
cluster can be upgraded to the next major version.

[float]
==== Request

`GET /_xpack/migration/assistance` +

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

//==== Description

[float]
==== Path Parameters

`index_name`::
  (string) Identifier for the index. It can be an index name or a wildcard
  expression.

//==== Query Parameters

//==== Authorization

[float]
==== Examples

To see a list of indices that needs to be upgraded or reindexed, submit a GET
request to the `/_xpack/migration/assistance` endpoint:

[source,js]
--------------------------------------------------
GET /_xpack/migration/assistance
--------------------------------------------------
// CONSOLE
// TEST[skip:cannot create an old index in docs test]

A successful call returns a list of indices that need to updated or reindexed:

[source,js]
--------------------------------------------------
{
  "indices" : {
    ".watches" : {
      "action_required" : "upgrade"
    },
    ".security" : {
      "action_required" : "upgrade"
    },
    "my_old_index": {
      "action_required" : "reindex"
    },
    "my_other_old_index": {
      "action_required" : "reindex"
    }
  }
}
--------------------------------------------------
// NOTCONSOLE

To check a particular index or set of indices, specify this index name or mask
as the last part of the `/_xpack/migration/assistance/index_name` endpoint:

[source,js]
--------------------------------------------------
GET /_xpack/migration/assistance/my_*
--------------------------------------------------
// CONSOLE
// TEST[skip:cannot create an old index in docs test]

A successful call returns a list of indices that needs to updated or reindexed
and match the index specified on the endpoint:

[source,js]
--------------------------------------------------
{
  "indices" : {
    "my_old_index": {
      "action_required" : "reindex"
    },
    "my_other_old_index": {
      "action_required" : "reindex"
    }
  }
}
--------------------------------------------------
// NOTCONSOLE
