# Get the cluster health status
**GET /_cluster/health/{index}**
**All methods and paths for this operation:**
GET
/_cluster/health
GET
/_cluster/health/{index}
You can also use the API to get the health status of only specified data streams and indices.
For data streams, the API retrieves the health status of the stream’s backing indices.
The cluster health status is: green, yellow or red.
On the shard level, a red status indicates that the specific shard is not allocated in the cluster. Yellow means that the primary shard is allocated but replicas are not. Green means that all shards are allocated.
The index level status is controlled by the worst shard status.
One of the main benefits of the API is the ability to wait until the cluster reaches a certain high watermark health level.
The cluster status is controlled by the worst index status.
## Required authorization
* Cluster privileges: `monitor`,`manage`
## 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 index aliases that limit the request.
Wildcard expressions (`*`) are supported.
To target all data streams and indices in a cluster, omit this parameter or use _all or `*`.
### Query parameters
- **expand_wildcards** (string | array[string])
Expand wildcard expression to concrete indices that are open, closed or both.
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.
- **level** (string)
Return health information at a specific level of detail.
- **local** (boolean)
If true, retrieve information from the local node only.
If false, retrieve information from the master node.
- **master_timeout** (string)
The period to wait for a connection to the master node.
If no response is received before the timeout expires, the request fails and returns an error.
- **timeout** (string)
The period to wait for a response.
If no response is received before the timeout expires, the request fails and returns an error.
- **wait_for_active_shards** (number | string)
Wait for the specified number of active shards.
Use `all` to wait for all shards in the cluster to be active.
Use `0` to not wait.
- **wait_for_events** (string)
Wait until all currently queued events with the given priority are processed.
- **wait_for_nodes** (string | number)
Wait until the specified number (N) of nodes is available.
It also accepts `>=N`, `<=N`, `>N` and `