[[cluster]]
= Cluster APIs

[partintro]
--
["float",id="cluster-nodes"]
== Node specification

Most cluster level APIs allow to specify which nodes to execute on (for
example, getting the node stats for a node). Nodes can be identified in
the APIs either using their internal node id, the node name, address,
custom attributes, or just the `_local` node receiving the request. For
example, here are some sample executions of nodes info:

[source,js]
--------------------------------------------------
# Local
curl localhost:9200/_nodes/_local
# Address
curl localhost:9200/_nodes/10.0.0.3,10.0.0.4
curl localhost:9200/_nodes/10.0.0.*
# Names
curl localhost:9200/_nodes/node_name_goes_here
curl localhost:9200/_nodes/node_name_goes_*
# Attributes (set something like node.attr.rack: 2 in the config)
curl localhost:9200/_nodes/rack:2
curl localhost:9200/_nodes/ra*:2
curl localhost:9200/_nodes/ra*:2*
--------------------------------------------------
--

include::cluster/health.asciidoc[]

include::cluster/state.asciidoc[]

include::cluster/stats.asciidoc[]

include::cluster/pending.asciidoc[]

include::cluster/reroute.asciidoc[]

include::cluster/update-settings.asciidoc[]

include::cluster/nodes-stats.asciidoc[]

include::cluster/nodes-info.asciidoc[]

include::cluster/tasks.asciidoc[]

include::cluster/nodes-hot-threads.asciidoc[]

include::cluster/allocation-explain.asciidoc[]
