---
type: api
title: Get index shard stores
description: **All methods and paths for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/operation/operation-indices-shard-stores
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/operation/operation-indices-shard-stores
products:
  - Elasticsearch
---

# Get index shard stores


Availability:

## Paths

- `GET` `/{index}/_shard_stores`
- `GET` `/_shard_stores`

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

#### Path Parameters

- `index` (union IndexName | [] IndexName) — optional, leave it out to use `/_shard_stores`
  List of data streams, indices, and aliases used to limit the request.

## Description

Get store information about replica shards in one or more indices.
For data streams, the API retrieves store information for the stream's backing indices.

The index shard stores API returns the following information:

* The node on which each replica shard exists.
* The allocation ID for each replica shard.
* A unique ID for each replica shard.
* Any errors encountered while opening the shard index or from an earlier failure.

By default, the API returns store information only for primary shards that are unassigned or have one or more unassigned replica shards.

## Required authorization

* Index privileges: `monitor`

## Query String Parameters

- `allow_no_indices` (boolean)
  A setting that does two separate checks on the index expression.
If `false`, the request returns an error (1) if any wildcard expression
(including `_all` and `*`) resolves to zero matching indices or (2) if the
complete set of resolved indices, aliases or data streams is empty after all
expressions are evaluated. If `true`, index expressions that resolve to no
indices are allowed and the request returns an empty result.
- `expand_wildcards` (string ExpandWildcards · default: open)
  Type of index that wildcard patterns can match. If the request can target data streams,
this argument determines whether wildcard expressions match hidden data streams.

Supported values include:
  - `all`: Match any data stream or index, including hidden ones.
  - `open`: Match open, non-hidden indices. Also matches any non-hidden data stream.
  - `closed`: Match closed, non-hidden indices. Also matches any non-hidden data stream. Data streams cannot be closed.
  - `hidden`: Match hidden data streams and hidden indices. Must be combined with `open`, `closed`, or `both`.
  - `none`: Wildcard expressions are not accepted.
  Values: `all`, `open`, `closed`, `hidden`, `none`
- `ignore_unavailable` (boolean · default: false)
  If `false`, the request returns an error if it targets a concrete (non-wildcarded)
index, alias, or data stream that is missing, closed, or otherwise unavailable.
If `true`, unavailable concrete targets are silently ignored.
- `status` (union ShardStoreStatus | [] ShardStoreStatus)
  List of shard health statuses used to limit the request.

Supported values include:
  - `green`: The primary shard and all replica shards are assigned.
  - `yellow`: One or more replica shards are unassigned.
  - `red`: The primary shard is unassigned.
  - `all`: Return all shards, regardless of health status.
  Values: `green`, `yellow`, `red`, `all`

## Response

`application/json`

- `indices` (map string to IndicesShardStores)
  Map values ({} IndicesShardStores)
  - `shards` (map string to ShardStoreWrapper)
    Map values ({} ShardStoreWrapper)
    - `stores` ([] ShardStore)
      - `allocation` (enum ShardStoreAllocation)
        The status of the store copy, whether it is used as a primary, replica, or not used at all.

Supported values include:
  - `primary`: The store copy is used as a primary shard.
  - `replica`: The store copy is used as a replica shard.
  - `unused`: The store copy is not used.
        Values: `primary`, `replica`, `unused`
      - `allocation_id` (string Id)
        The allocation ID of the store copy.
      - `store_exception` ({} ShardStoreException)
        Any exception encountered while opening the shard index or from an earlier engine failure.
        - `reason` (string)
        - `type` (string)
## Code Examples

#### Console

```console
GET /_shard_stores?status=green
```

#### JavaScript

```javascript
const response = await client.indices.shardStores({
  status: "green",
});
```

#### Python

```python
resp = client.indices.shard_stores(
    status="green",
)
```

#### curl

```curl
curl -X GET "$ELASTICSEARCH_URL/_shard_stores?status=green" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.indices().shardStores(s -> s
    .status(ShardStoreStatus.Green)
);
```

#### C#

```c#
var response = await client.Indices
    .ShardStoresAsync(d1 => d1
        .Status(ShardStoreStatus.Green)
    );
```

#### PHP

```php
$resp = $client->indices()->shardStores([
    "status" => "green",
]);
```

#### Ruby

```ruby
response = client.indices.shard_stores(
  status: "green"
)
```

## Response Examples

#### Indices shard stores response example1

An abbreviated response from `GET /_shard_stores?status=green`.

```json
{
  "indices": {
    "my-index-000001": {
      "shards": {
        "0": {
          "stores": [
            {
              "sPa3OgxLSYGvQ4oPs-Tajw": {
                "name": "node_t0",
                "ephemeral_id": "9NlXRFGCT1m8tkvYCMK-8A",
                "transport_address": "local[1]",
                "external_id": "node_t0",
                "attributes": {},
                "roles": [],
                "version": "8.10.0",
                "min_index_version": 7000099,
                "max_index_version": 8100099
              },
              "allocation_id": "2iNySv_OQVePRX-yaRH_lQ",
              "allocation": "primary",
              "store_exception": {}
            }
          ]
        }
      }
    }
  }
}
```

