---
title: "Get Cluster Status"
method: GET
path: "/cluster/status"
tags: ["Cluster Scaling"]
---

# Get Cluster Status

`GET /cluster/status`

Get current cluster status by fetching live state from EKS + K8s.

Reads tier definitions from the cluster_configs collection,
then queries the actual cluster to determine current tier, memory, and replicas.
BYOC services without a cluster_configs record get a live-only view
(no tier catalog, ``scaling_available: false``) that degrades to
'unknown' values instead of failing.

## Response `200`

Successful Response

- ClusterStatusResponse
  - `current_tier` string, required — Currently active tier name (matched from K8s StatefulSet specs).
  - `kafka_memory` string, required
  - `kafka_connect_memory` string, required
  - `kafka_connect_replicas` integer, required
  - `kafka_connect_statefulsets` KafkaConnectStatefulSetStatus[] — Per-StatefulSet live specs. One entry for single-KC tenants; multiple for KC-0 + KC-1 + ... tenants.
    - `name` string, required
    - `memory` string, required
    - `replicas` integer, required
  - `tiers` TierSpec[] — Every tier defined in the cluster_config, ordered ascending by 'order'.
    - `name` string, required
    - `order` integer, required
    - `kafka_memory` string, required
    - `kafka_connect_memory` string, required
    - `kafka_connect_replicas` integer, required
    - `node_groups` TierNodeGroup[] — Kafka NG (one) plus all KC NGs across AZs.
      - `role` string, required — 'kafka' or 'kafka_connect'
      - `name` string, required — EKS node group name
      - `az` string, nullable
      - `instance_type` string, nullable
      - `vcpu_per_node` integer, nullable
      - `memory_gib_per_node` integer, nullable
      - `nodes` integer, required — Desired node count for this NG on this tier
      - `status` string, nullable — Live EKS node group status (e.g. ACTIVE). Only set on live reads.
      - `ebs_volumes` EbsVolumeStatus[] — EBS volumes attached per node. Populated for the Kafka NG only; KC is stateless.
        - `volume_type` string, required
        - `size_gb` integer, required
        - `iops` integer, required
        - `throughput_mbps` integer, nullable
        - `volumes_per_node` integer
  - `active_operation_id` string, nullable — Operation ID if a scaling operation is in progress
  - `scaling_available` boolean — Whether scale operations are possible (a cluster_configs record exists). False for BYOC services rendered from live K8s state only.
  - `live_node_groups` TierNodeGroup[] — Node groups read live from EKS/EC2 (with EBS volumes attached to the Kafka NG). Populated only on the config-less path, where no tier catalog exists.
    - `role` string, required — 'kafka' or 'kafka_connect'
    - `name` string, required — EKS node group name
    - `az` string, nullable
    - `instance_type` string, nullable
    - `vcpu_per_node` integer, nullable
    - `memory_gib_per_node` integer, nullable
    - `nodes` integer, required — Desired node count for this NG on this tier
    - `status` string, nullable — Live EKS node group status (e.g. ACTIVE). Only set on live reads.
    - `ebs_volumes` EbsVolumeStatus[] — EBS volumes attached per node. Populated for the Kafka NG only; KC is stateless.
      - `volume_type` string, required
      - `size_gb` integer, required
      - `iops` integer, required
      - `throughput_mbps` integer, nullable
      - `volumes_per_node` integer

---

[API](https://skmtc.net/streamkap/apis/streamkap-rest-api.md) · [All operations](https://skmtc.net/streamkap/apis/streamkap-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/streamkap/streamkap-rest-api/versions/8aea6143d003/schema)
