---
type: api
title: Get deprecation information
description: **All methods and paths for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v9/operation/operation-migration-deprecations
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v9/operation/operation-migration-deprecations
products:
  - Elasticsearch
---

# Get deprecation information


Availability: 6.1+

## Paths

- `GET` `/{index}/_migration/deprecations`
- `GET` `/_migration/deprecations`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v9/authentication#apikeyauth)
- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v9/authentication#basicauth)
- [Bearer auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v9/authentication#bearerauth)

#### Path Parameters

- `index` (string IndexName) — optional, leave it out to use `/_migration/deprecations`
  Comma-separate list of data streams or indices to check. Wildcard (*) expressions are supported.

## Description

Returns information about deprecated features which are in use in the cluster.
The reported features include cluster, node, and index level settings that will be removed or changed in the next major version.
You must address the reported issues before upgrading to the next major version.
However, no action is required when upgrading within the current major version.
Deprecated features remain fully supported and will continue to work in the current version, and when upgrading to a newer minor or patch release in the same major version.
Use this API to review your usage of these features and migrate away from them at your own pace, before upgrading to a new major version.

> info
> This API is designed for indirect use by the [Upgrade Assistant](https://www.elastic.co/docs/deploy-manage/upgrade/prepare-to-upgrade/upgrade-assistant).
> We recommend learning about deprecated features using the Upgrade Assistant rather than calling this API directly.

## Required authorization

* Cluster privileges: `manage`

## Response

`application/json`

- `cluster_settings` ([] Deprecation)
  Cluster-level deprecation warnings.
  - `details` (string)
    Optional details about the deprecation warning.
  - `level` (enum DeprecationLevel)
    The level property describes the significance of the issue.

Supported values include:
  - `none`
  - `info`
  - `warning`: You can upgrade directly, but you are using deprecated functionality which will not be available or behave differently in the next major version.
  - `critical`: You cannot upgrade without fixing this problem.
    Values: `none`, `info`, `warning`, `critical`
  - `message` (string)
    Descriptive information about the deprecation warning.
  - `url` (string)
    A link to the breaking change documentation, where you can find more information about this change.
  - `resolve_during_rolling_upgrade` (boolean)
  - `_meta` (map string to object)
- `index_settings` (map string to Deprecation)
  Index warnings are sectioned off per index and can be filtered using an index-pattern in the query.
This section includes warnings for the backing indices of data streams specified in the request path.
- `data_streams` (map string to Deprecation)
- `node_settings` ([] Deprecation)
  Node-level deprecation warnings.
Since only a subset of your nodes might incorporate these settings, it is important to read the details section for more information about which nodes are affected.
  - `details` (string)
    Optional details about the deprecation warning.
  - `level` (enum DeprecationLevel)
    The level property describes the significance of the issue.

Supported values include:
  - `none`
  - `info`
  - `warning`: You can upgrade directly, but you are using deprecated functionality which will not be available or behave differently in the next major version.
  - `critical`: You cannot upgrade without fixing this problem.
    Values: `none`, `info`, `warning`, `critical`
  - `message` (string)
    Descriptive information about the deprecation warning.
  - `url` (string)
    A link to the breaking change documentation, where you can find more information about this change.
  - `resolve_during_rolling_upgrade` (boolean)
  - `_meta` (map string to object)
- `ml_settings` ([] Deprecation)
  Machine learning-related deprecation warnings.
  - `details` (string)
    Optional details about the deprecation warning.
  - `level` (enum DeprecationLevel)
    The level property describes the significance of the issue.

Supported values include:
  - `none`
  - `info`
  - `warning`: You can upgrade directly, but you are using deprecated functionality which will not be available or behave differently in the next major version.
  - `critical`: You cannot upgrade without fixing this problem.
    Values: `none`, `info`, `warning`, `critical`
  - `message` (string)
    Descriptive information about the deprecation warning.
  - `url` (string)
    A link to the breaking change documentation, where you can find more information about this change.
  - `resolve_during_rolling_upgrade` (boolean)
  - `_meta` (map string to object)
- `templates` (map string to Deprecation)
  Template warnings are sectioned off per template and include deprecations for both component templates and
index templates.
- `ilm_policies` (map string to Deprecation)
  ILM policy warnings are sectioned off per policy.
## Code Examples

#### Console

```console
GET /_migration/deprecations
```

#### JavaScript

```javascript
const response = await client.migration.deprecations();
```

#### Python

```python
resp = client.migration.deprecations()
```

#### curl

```curl
curl -X GET "$ELASTICSEARCH_URL/_migration/deprecations" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.migration().deprecations(d -> d);
```

#### PHP

```php
$resp = $client->migration()->deprecations();
```

#### Ruby

```ruby
response = client.migration.deprecations
```

## Response Examples

#### Deprecation info response example1

An abbreviated response from `GET /_migration/deprecations`.

```json
{
  "cluster_settings": [
    {
      "level": "critical",
      "message": "Cluster name cannot contain ':'",
      "url": "https://www.elastic.co/guide/en/elasticsearch/reference/7.0/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": "https://www.elastic.co/guide/en/elasticsearch/reference/7.0/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": []
}
```

