# Get shard information
**GET /_cat/shards/{index}**
**All methods and paths for this operation:**
GET
/_cat/shards
GET
/_cat/shards/{index}
Get information about the shards in a cluster.
For data streams, the API returns information about the backing indices.
IMPORTANT: cat APIs are only intended for human consumption using the command line or Kibana console. They are not intended for use by applications.
## Required authorization
* Index privileges: `monitor`
* Cluster privileges: `monitor`
## Servers
- http://api.example.com: http://api.example.com ()
## Authentication methods
- Api key auth
- Basic auth
- Bearer auth
## Parameters
### Path parameters
- **index** (string | array[string])
A comma-separated list of data streams, indices, and aliases used to limit the request.
Supports wildcards (`*`).
To target all data streams and indices, omit this parameter or use `*` or `_all`.
### Query parameters
- **h** (string | array[string])
List of columns to appear in the response. Supports simple wildcards.
Supported values include:
- `completion.size` (or `cs`, `completionSize`): Size of completion. For example: `0b`.
- `dataset.size`: Disk space used by the shard’s dataset, which may or may not be the size on
disk, but includes space used by the shard on object storage. Reported as a size value for example: `5kb`.
- `dense_vector.value_count` (or `dvc`, `denseVectorCount`): Number of indexed dense vectors.
- `docs` (or `d`, `dc`): Number of documents in shard, for example: `25`.
- `fielddata.evictions` (or `fe`, `fielddataEvictions`): Fielddata cache evictions, for example: `0`.
- `fielddata.memory_size` (or `fm`, `fielddataMemory`): Used fielddata cache memory, for example: `0b`.
- `flush.total` (or `ft`, `flushTotal`): Number of flushes, for example: `1`.
- `flush.total_time` (or `ftt`, `flushTotalTime`): Time spent in flush, for example: `1`.
- `get.current` (or `gc`, `getCurrent`): Number of current get operations, for example: `0`.
- `get.exists_time` (or `geti`, `getExistsTime`): Time spent in successful gets, for example: `14ms`.
- `get.exists_total` (or `geto`, `getExistsTotal`): Number of successful get operations, for example: `2`.
- `get.missing_time` (or `gmti`, `getMissingTime`): Time spent in failed gets, for example: `0s`.
- `get.missing_total` (or `gmto`, `getMissingTotal`): Number of failed get operations, for example: `1`.
- `get.time` (or `gti`, `getTime`): Time spent in get, for example: `14ms`.
- `get.total` (or `gto`, `getTotal`): Number of get operations, for example: `2`.
- `id`: ID of the node, for example: `k0zy`.
- `index` (or `i`, `idx`): Name of the index.
- `indexing.delete_current` (or `idc`, `indexingDeleteCurrent`): Number of current deletion operations, for example: `0`.
- `indexing.delete_time` (or `idti`, `indexingDeleteTime`): Time spent in deletions, for example: `2ms`.
- `indexing.delete_total` (or `idto`, `indexingDeleteTotal`): Number of deletion operations, for example: `2`.
- `indexing.index_current` (or `iic`, `indexingIndexCurrent`): Number of current indexing operations, for example: `0`.
- `indexing.index_failed_due_to_version_conflict` (or `iifvc`, `indexingIndexFailedDueToVersionConflict`): Number of failed indexing operations due to version conflict, for example: `0`.
- `indexing.index_failed` (or `iif`, `indexingIndexFailed`): Number of failed indexing operations, for example: `0`.
- `indexing.index_time` (or `iiti`, `indexingIndexTime`): Time spent in indexing, such as for example: `134ms`.
- `indexing.index_total` (or `iito`, `indexingIndexTotal`): Number of indexing operations, for example: `1`.
- `ip`: IP address of the node, for example: `127.0.1.1`.
- `merges.current` (or `mc`, `mergesCurrent`): Number of current merge operations, for example: `0`.
- `merges.current_docs` (or `mcd`, `mergesCurrentDocs`): Number of current merging documents, for example: `0`.
- `merges.current_size` (or `mcs`, `mergesCurrentSize`): Size of current merges, for example: `0b`.
- `merges.total` (or `mt`, `mergesTotal`): Number of completed merge operations, for example: `0`.
- `merges.total_docs` (or `mtd`, `mergesTotalDocs`): Number of merged documents, for example: `0`.
- `merges.total_size` (or `mts`, `mergesTotalSize`): Size of current merges, for example: `0b`.
- `merges.total_time` (or `mtt`, `mergesTotalTime`): Time spent merging documents, for example: `0s`.
- `node` (or `n`): Node name, for example: `I8hydUG`.
- `prirep` (or `p`, `pr`, `primaryOrReplica`): Shard type. Returned values are `primary` or `replica`.
- `query_cache.evictions` (or `qce`, `queryCacheEvictions`): Query cache evictions, for example: `0`.
- `query_cache.memory_size` (or `qcm`, `queryCacheMemory`): Used query cache memory, for example: `0b`.
- `recoverysource.type` (or `rs`): Type of recovery source.
- `refresh.time` (or `rti`, `refreshTime`): Time spent in refreshes, for example: `91ms`.
- `refresh.total` (or `rto`, `refreshTotal`): Number of refreshes, for example: `16`.
- `search.fetch_current` (or `sfc`, `searchFetchCurrent`): Current fetch phase operations, for example: `0`.
- `search.fetch_time` (or `sfti`, `searchFetchTime`): Time spent in fetch phase, for example: `37ms`.
- `search.fetch_total` (or `sfto`, `searchFetchTotal`): Number of fetch operations, for example: `7`.
- `search.open_contexts` (or `so`, `searchOpenContexts`): Open search contexts, for example: `0`.
- `search.query_current` (or `sqc`, `searchQueryCurrent`): Current query phase operations, for example: `0`.
- `search.query_time` (or `sqti`, `searchQueryTime`): Time spent in query phase, for example: `43ms`.
- `search.query_total` (or `sqto`, `searchQueryTotal`): Number of query operations, for example: `9`.
- `search.scroll_current` (or `scc`, `searchScrollCurrent`): Open scroll contexts, for example: `2`.
- `search.scroll_time` (or `scti`, `searchScrollTime`): Time scroll contexts held open, for example: `2m`.
- `search.scroll_total` (or `scto`, `searchScrollTotal`): Completed scroll contexts, for example: `1`.
- `segments.count` (or `sc`, `segmentsCount`): Number of segments, for example: `4`.
- `segments.fixed_bitset_memory` (or `sfbm`, `fixedBitsetMemory`): Memory used by fixed bit sets for nested object field types and type filters for types referred in join fields, for example: `1.0kb`.
- `segments.index_writer_memory` (or `siwm`, `segmentsIndexWriterMemory`): Memory used by index writer, for example: `18mb`.
- `segments.memory` (or `sm`, `segmentsMemory`): Memory used by segments, for example: `1.4kb`.
- `segments.version_map_memory` (or `svmm`, `segmentsVersionMapMemory`): Memory used by version map, for example: `1.0kb`.
- `seq_no.global_checkpoint` (or `sqg`, `globalCheckpoint`): Global checkpoint.
- `seq_no.local_checkpoint` (or `sql`, `localCheckpoint`): Local checkpoint.
- `seq_no.max` (or `sqm`, `maxSeqNo`): Maximum sequence number.
- `shard` (or `s`, `sh`): Name of the shard.
- `dsparse_vector.value_count` (or `svc`, `sparseVectorCount`): Number of indexed [sparse vectors](https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/sparse-vector).
- `state` (or `st`): State of the shard. Returned values are:
* `INITIALIZING`: The shard is recovering from a peer shard or gateway.
* `RELOCATING`: The shard is relocating.
* `STARTED`: The shard has started.
* `UNASSIGNED`: The shard is not assigned to any node.
- `store` (or `sto`): Disk space used by the shard, for example: `5kb`.
- `suggest.current` (or `suc`, `suggestCurrent`): Number of current suggest operations, for example: `0`.
- `suggest.time` (or `suti`, `suggestTime`): Time spent in suggest, for example: `0`.
- `suggest.total` (or `suto`, `suggestTotal`): Number of suggest operations, for example: `0`.
- `sync_id`: Sync ID of the shard.
- `unassigned.at` (or `ua`): Time at which the shard became unassigned in [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/List_of_UTC_offsets).
- `unassigned.details` (or `ud`): Details about why the shard became unassigned. This does not explain why the shard is currently unassigned. To understand why a shard
is not assigned, use the [Cluster allocation explain](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-allocation-explain) API.
- `unassigned.for` (or `uf`): Time at which the shard was requested to be unassigned in [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/List_of_UTC_offsets).
- `unassigned.reason` (or `ur`): Indicates the reason for the last change to the state of this unassigned shard. This does not explain why the shard is currently unassigned.
To understand why a shard is not assigned, use the [Cluster allocation explain](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-allocation-explain) API. Returned values include:
* `ALLOCATION_FAILED`: Unassigned as a result of a failed allocation of the shard.
* `CLUSTER_RECOVERED`: Unassigned as a result of a full cluster recovery.
* `DANGLING_INDEX_IMPORTED`: Unassigned as a result of importing a dangling index.
* `EXISTING_INDEX_RESTORED`: Unassigned as a result of restoring into a closed index.
* `FORCED_EMPTY_PRIMARY`: The shard’s allocation was last modified by forcing an empty primary using the Cluster reroute API.
* `INDEX_CLOSED`: Unassigned because the index was closed.
* `INDEX_CREATED`: Unassigned as a result of an API creation of an index.
* `INDEX_REOPENED`: Unassigned as a result of opening a closed index.
* `MANUAL_ALLOCATION`: The shard’s allocation was last modified by the Cluster reroute API.
* `NEW_INDEX_RESTORED`: Unassigned as a result of restoring into a new index.
* `NODE_LEFT`: Unassigned as a result of the node hosting it leaving the cluster.
* `NODE_RESTARTING`: Similar to `NODE_LEFT`, except that the node was registered as restarting using the Node shutdown API.
* `PRIMARY_FAILED`: The shard was initializing as a replica, but the primary shard failed before the initialization completed.
* `REALLOCATED_REPLICA`: A better replica location is identified and causes the existing replica allocation to be cancelled.
* `REINITIALIZED`: When a shard moves from started back to initializing.
* `REPLICA_ADDED`: Unassigned as a result of explicit addition of a replica.
* `REROUTE_CANCELLED`: Unassigned as a result of explicit cancel reroute command.
- **s** (string | array[string])
A comma-separated list of column names or aliases that determines the sort order.
Sorting defaults to ascending and can be changed by setting `:asc`
or `:desc` as a suffix to the column name.
- **master_timeout** (string)
The period to wait for a connection to the master node.
## Responses
### 200
#### Body: application/json (array[object])
- **index** (string)
The index name.
- **shard** (string)
The shard name.
- **prirep** (string)
The shard type: `primary` or `replica`.
- **state** (string)
The shard state.
Returned values include:
`INITIALIZING`: The shard is recovering from a peer shard or gateway.
`RELOCATING`: The shard is relocating.
`STARTED`: The shard has started.
`UNASSIGNED`: The shard is not assigned to any node.
- **docs** (string | null)
The number of documents in the shard.
- **store** (string | null)
The disk space used by the shard.
- **dataset** (string | null)
total size of dataset (including the cache for partially mounted indices)
- **ip** (string | null)
The IP address of the node.
- **id** (string)
The unique identifier for the node.
- **node** (string | null)
The name of node.
- **sync_id** (string)
The sync identifier.
- **unassigned.reason** (string)
The reason for the last change to the state of an unassigned shard.
It does not explain why the shard is currently unassigned; use the cluster allocation explain API for that information.
Returned values include:
`ALLOCATION_FAILED`: Unassigned as a result of a failed allocation of the shard.
`CLUSTER_RECOVERED`: Unassigned as a result of a full cluster recovery.
`DANGLING_INDEX_IMPORTED`: Unassigned as a result of importing a dangling index.
`EXISTING_INDEX_RESTORED`: Unassigned as a result of restoring into a closed index.
`FORCED_EMPTY_PRIMARY`: The shard’s allocation was last modified by forcing an empty primary using the cluster reroute API.
`INDEX_CLOSED`: Unassigned because the index was closed.
`INDEX_CREATED`: Unassigned as a result of an API creation of an index.
`INDEX_REOPENED`: Unassigned as a result of opening a closed index.
`MANUAL_ALLOCATION`: The shard’s allocation was last modified by the cluster reroute API.
`NEW_INDEX_RESTORED`: Unassigned as a result of restoring into a new index.
`NODE_LEFT`: Unassigned as a result of the node hosting it leaving the cluster.
`NODE_RESTARTING`: Similar to `NODE_LEFT`, except that the node was registered as restarting using the node shutdown API.
`PRIMARY_FAILED`: The shard was initializing as a replica, but the primary shard failed before the initialization completed.
`REALLOCATED_REPLICA`: A better replica location is identified and causes the existing replica allocation to be cancelled.
`REINITIALIZED`: When a shard moves from started back to initializing.
`REPLICA_ADDED`: Unassigned as a result of explicit addition of a replica.
`REROUTE_CANCELLED`: Unassigned as a result of explicit cancel reroute command.
- **unassigned.at** (string)
The time at which the shard became unassigned in Coordinated Universal Time (UTC).
- **unassigned.for** (string)
The time at which the shard was requested to be unassigned in Coordinated Universal Time (UTC).
- **unassigned.details** (string)
Additional details as to why the shard became unassigned.
It does not explain why the shard is not assigned; use the cluster allocation explain API for that information.
- **recoverysource.type** (string)
The type of recovery source.
- **completion.size** (string)
The size of completion.
- **fielddata.memory_size** (string)
The used fielddata cache memory.
- **fielddata.evictions** (string)
The fielddata cache evictions.
- **query_cache.memory_size** (string)
The used query cache memory.
- **query_cache.evictions** (string)
The query cache evictions.
- **flush.total** (string)
The number of flushes.
- **flush.total_time** (string)
The time spent in flush.
- **get.current** (string)
The number of current get operations.
- **get.time** (string)
The time spent in get operations.
- **get.total** (string)
The number of get operations.
- **get.exists_time** (string)
The time spent in successful get operations.
- **get.exists_total** (string)
The number of successful get operations.
- **get.missing_time** (string)
The time spent in failed get operations.
- **get.missing_total** (string)
The number of failed get operations.
- **indexing.delete_current** (string)
The number of current deletion operations.
- **indexing.delete_time** (string)
The time spent in deletion operations.
- **indexing.delete_total** (string)
The number of delete operations.
- **indexing.index_current** (string)
The number of current indexing operations.
- **indexing.index_time** (string)
The time spent in indexing operations.
- **indexing.index_total** (string)
The number of indexing operations.
- **indexing.index_failed** (string)
The number of failed indexing operations.
- **merges.current** (string)
The number of current merge operations.
- **merges.current_docs** (string)
The number of current merging documents.
- **merges.current_size** (string)
The size of current merge operations.
- **merges.total** (string)
The number of completed merge operations.
- **merges.total_docs** (string)
The nuber of merged documents.
- **merges.total_size** (string)
The size of current merges.
- **merges.total_time** (string)
The time spent merging documents.
- **refresh.total** (string)
The total number of refreshes.
- **refresh.time** (string)
The time spent in refreshes.
- **refresh.external_total** (string)
The total nunber of external refreshes.
- **refresh.external_time** (string)
The time spent in external refreshes.
- **refresh.listeners** (string)
The number of pending refresh listeners.
- **search.fetch_current** (string)
The current fetch phase operations.
- **search.fetch_time** (string)
The time spent in fetch phase.
- **search.fetch_total** (string)
The total number of fetch operations.
- **search.open_contexts** (string)
The number of open search contexts.
- **search.query_current** (string)
The current query phase operations.
- **search.query_time** (string)
The time spent in query phase.
- **search.query_total** (string)
The total number of query phase operations.
- **search.scroll_current** (string)
The open scroll contexts.
- **search.scroll_time** (string)
The time scroll contexts were held open.
- **search.scroll_total** (string)
The number of completed scroll contexts.
- **segments.count** (string)
The number of segments.
- **segments.memory** (string)
The memory used by segments.
- **segments.index_writer_memory** (string)
The memory used by the index writer.
- **segments.version_map_memory** (string)
The memory used by the version map.
- **segments.fixed_bitset_memory** (string)
The memory used by fixed bit sets for nested object field types and export type filters for types referred in `_parent` fields.
- **seq_no.max** (string)
The maximum sequence number.
- **seq_no.local_checkpoint** (string)
The local checkpoint.
- **seq_no.global_checkpoint** (string)
The global checkpoint.
- **warmer.current** (string)
The number of current warmer operations.
- **warmer.total** (string)
The total number of warmer operations.
- **warmer.total_time** (string)
The time spent in warmer operations.
- **path.data** (string)
The shard data path.
- **path.state** (string)
The shard state path.
- **bulk.total_operations** (string)
The number of bulk shard operations.
- **bulk.total_time** (string)
The time spent in shard bulk operations.
- **bulk.total_size_in_bytes** (string)
The total size in bytes of shard bulk operations.
- **bulk.avg_time** (string)
The average time spent in shard bulk operations.
- **bulk.avg_size_in_bytes** (string)
The average size in bytes of shard bulk operations.
[Powered by Bump.sh](https://bump.sh)