Cluster

Cluster health

/ Cluster, / Health

Cluster health #

Returns the cluster health for quick overview.

Get the whole cluster health #

Requests #

GET /_cluster/health

The call is bounded by a 10s timeout; when the cluster cannot answer in time it returns HTTP 503 with "status": "timeout", "timeout": true and points at /_node/_local/recovery for details — treat that as “degraded, still converging” when polling for readiness.

Query Parameters #

  • level
    (Optional, string) Can be one of cluster, regions, collections rollings or shards. Controls the details level of the health information returned. Defaults to cluster.

Get the health of a specific region #

Requests #

GET /_cluster/_region/<region_id>/health

Path parameters #

  • region_id
    (Required, String) The region to query. Currently only the special ID _local — the region that handles this request — is implemented; a remote region UUID answers 501 not implemented yet.

Query Parameters #

  • level
    (Optional, string) Can be one of regions, collections rollings or shards. Controls the details level of the health information returned. Defaults to regions.

Cluster state

/ Cluster, / State

Cluster state #

Returns an internal representation of the cluster state for debugging or diagnostic purposes.

Note: despite its name, GET /_cluster/state currently returns the local region’s state — one region entry, not a cluster-wide aggregation. Remote regions cannot be queried yet.

Get the whole cluster state #

Requests #

GET /_cluster/state/<names>

Path Parameters #

  • names
    (Optional, string) A comma-separated list of the following options:

    • _all
      Shows all names.
    • blocks
      Accepted for compatibility but not implemented yet — filtering on it returns nothing.
    • leader_node
      Shows the leader_node part of the response.
    • metadata
      Shows the metadata part of the response.
    • nodes
      Shows the nodes part of the response.
    • routing_nodes
      Shows the routing_nodes part of the response.
    • routing_table
      Shows the routing_table part of the response.
    • version
      Accepted for compatibility but not implemented yet — filtering on it returns nothing.

Get the state of a specific region #

Requests #

GET /_cluster/_region/<region_id>/state/<names>

Path parameters #

  • region_id
    (Required, String) The region to query. Currently only the special ID _local — the region that handles this request — is implemented; a remote region UUID answers 501 not implemented yet.

    ...

Cluster management APIs

/ Cluster, / Allocation, / Join Token

Cluster management APIs #

Operator-facing /_cluster/* endpoints beyond health and state: the allocation dashboard, node removal, and join-token management.

Regions #

GET /_cluster/_regions

A lightweight summary of every region this node knows about — identity (name, uuid, zone), leader, member nodes with their API/RPC addresses, and per-region counts. The region serving the request is marked local, telling you which /_cluster/_region/_local/... endpoints apply to it.

Allocation dashboard #

GET /_cluster/allocation

The leader’s shard-allocation view: the effective cluster.routing.* settings, per-node shard load, the recent allocation/relocation task history (newest first) and how many tasks are in flight. Answers “what is the allocator doing right now”.

...