{ "apiVersion": "0.0.1", "swaggerVersion": "1.2", "basePath": "/v1", "resourcePath": "/brokers", "produces": [ "application/json" ], "apis": [ { "path": "/v1/cluster/health_overview", "operations": [ { "method": "GET", "summary": "Get cluster health overview", "type": "get_cluster_health_overview", "nickname": "get_cluster_health_overview", "produces": [ "application/json" ], "parameters": [] } ] }, { "path": "/v1/cluster/partition_balancer/status", "operations": [ { "method": "GET", "summary": "Get partition autobalancer status", "type": "get_partition_balancer_status", "nickname": "get_partition_balancer_status", "produces": [ "application/json" ], "parameters": [] } ] }, { "path": "/v1/cluster/cancel_reconfigurations", "operations": [ { "method": "POST", "summary": "Cancel all partition reconfigurations", "type": "cancel_all_partitions_reconfigurations", "nickname": "cancel_all_partitions_reconfigurations", "produces": [ "application/json" ], "parameters": [] } ] }, { "path": "/v1/cluster/uuid", "operations": [ { "method": "GET", "summary": "Get the UUID of the cluster this node belongs to. Not to be confused with the configurable cluster identifier used in metrics", "type": "get_cluster_uuid", "nickname": "get_cluster_uuid", "produces": [ "application/json" ], "parameters": [] } ] }, { "path": "/v1/cluster/metrics_uuid", "operations": [ { "method": "GET", "summary": "Get the UUID used by the metrics reporting system that identifies this cluster", "type": "get_metrics_uuid", "nickname": "get_metrics_uuid", "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/models/metrics_uuid" } } }, "parameters": [] } ] }, { "path": "/v1/cluster/partitions", "operations": [ { "method": "GET", "summary": "Get cluster-level metadata for all partitions in the cluster", "nickname": "get_cluster_partitions", "type": "array", "items": { "type": "cluster_partition" }, "produces": [ "application/json" ], "parameters": [ { "name": "disabled", "in": "query", "required": false, "type": "boolean" }, { "name": "with_internal", "in": "query", "required": false, "type": "boolean" } ] } ] }, { "path": "/v1/cluster/partitions/{namespace}/{topic}", "operations": [ { "method": "POST", "summary": "Disable/enable all partitions of a topic", "nickname": "post_cluster_partitions_topic", "type": "void", "produces": [ "application/json" ], "parameters": [ { "name": "namespace", "in": "path", "required": true, "type": "string" }, { "name": "topic", "in": "path", "required": true, "type": "string" } ] }, { "method": "GET", "summary": "Get cluster-level metadata for all partitions in a topic", "nickname": "get_cluster_partitions_topic", "type": "array", "items": { "type": "cluster_partition" }, "produces": [ "application/json" ], "parameters": [ { "name": "namespace", "in": "path", "required": true, "type": "string" }, { "name": "topic", "in": "path", "required": true, "type": "string" }, { "name": "disabled", "in": "query", "required": false, "type": "boolean" } ] } ] }, { "path": "/v1/cluster/partitions/{namespace}/{topic}/{partition}", "operations": [ { "method": "POST", "summary": "Disable/enable a single partition", "nickname": "post_cluster_partitions_topic_partition", "type": "void", "produces": [ "application/json" ], "parameters": [ { "name": "namespace", "in": "path", "required": true, "type": "string" }, { "name": "topic", "in": "path", "required": true, "type": "string" }, { "name": "partition", "in": "path", "required": true, "type": "long" } ] } ] } ], "models": { "cluster_health_overview": { "id": "cluster_health_overview", "description": "Returns simple overview of cluster status", "properties": { "is_healthy": { "type": "boolean", "description": "basic cluster health indicator" }, "unhealthy_reasons": { "type": "array", "items": { "type": "string" }, "description": "A list of reasons why the cluster is unhealthy (contains at least one cause when is_healthy is false)" }, "controller_id": { "type": "int", "description": "node that is currently a leader or `-1` if leader is not elected" }, "all_nodes": { "type": "array", "items": { "type": "int" }, "description": "ids of all nodes registered in the cluster" }, "nodes_down": { "type": "array", "items": { "type": "int" }, "description": "ids of all nodes being recognized as down" }, "high_disk_usage_nodes": { "type": "array", "items": { "type": "int" }, "description": "ids of all nodes with disk usage exceeding storage alert thresholds" }, "nodes_in_recovery_mode": { "type": "array", "items": { "type": "int" }, "description": "ids of all nodes that were booted in recovery mode" }, "leaderless_partitions": { "type": "array", "items": { "type": "string" }, "description": "List of partitions for which no leader is elected (truncated at 128 entries)" }, "leaderless_count": { "type": "int", "description": "Total count of leaderless partitions: is larger than the list of the leaderless_partitions array if the array was truncated." }, "under_replicated_partitions": { "type": "array", "items": { "type": "string" }, "description": "list of partitions where one or more replicas has not replicated all data" }, "under_replicated_count": { "type": "int", "description": "Total count of under-replicated partitions: is larger than the list of the under_replicated_partitions if the array was truncated." }, "bytes_in_cloud_storage": { "type": "long", "description": "total amount of bytes in cloud storage or -1 if unable to obtain data" } } }, "partition_balancer_status": { "id": "partition_balancer_status", "description": "Returns status of the partition autobalancer", "properties": { "status": { "type": "string", "description": "off/ready/in_progress/stalled" }, "violations": { "type": "partition_balancer_violations" }, "seconds_since_last_tick": { "type": "int", "description": "last time the partition balancer ran" }, "current_reassignments_count": { "type": "int", "description": "current number of partition reassignments in progress" }, "partitions_pending_force_recovery_count": { "type": "int", "description": "number of partitions pending force recovery" }, "partitions_pending_force_recovery_sample": { "type": "array", "items": { "type": "string" }, "description": "sample list of partitions pending force recovery" } } }, "partition_balancer_violations": { "id": "partition_balancer_violations", "properties": { "unavailable_nodes": { "type": "array", "items": { "type": "int" } }, "over_disk_limit_nodes": { "type": "array", "items": { "type": "int" } } } }, "uuid": { "id": "uuid", "properties": { "cluster_uuid": { "type": "string" } } }, "metrics_uuid": { "id": "metrics_uuid", "properties": { "uuid": { "type": "string" } } }, "replica_assignment": { "id": "replica_assignment", "description": "Replica assignment", "properties": { "node_id": { "type": "long", "description": "node id" }, "core": { "type": "long", "description": "core" } } }, "cluster_partition": { "id": "cluster_partition", "description": "high-level partition info known to all cluster nodes", "properties": { "ns": { "type": "string", "description": "namespace" }, "topic": { "type": "string", "description": "topic" }, "partition_id": { "type": "long", "description": "partition" }, "leader_id": { "type": "long", "description": "leader node id" }, "replicas": { "type": "array", "items": { "type": "replica_assignment" }, "description": "replica assignments" }, "disabled": { "type": "boolean" } } } } }