{
  "openapi": "3.0.0",
  "info": {
    "title": "Yugabyte Cloud",
    "description": "YugabyteDB as a Service",
    "termsOfService": "https://www.yugabyte.com/yugabyte-cloud-terms-of-service",
    "version": "v1",
    "contact": {
      "name": "Yugabyte Cloud Support",
      "url": "https://support.yugabyte.com/",
      "email": "support@yugabyte.com"
    },
    "license": {
      "name": "Properietary (TBD)",
      "url": "https://www.yugabyte.com/yugabyte-cloud-terms-of-service"
    }
  },
  "servers": [
    {
      "url": "{protocol}://{host_port}/api",
      "variables": {
        "protocol": {
          "enum": [
            "http",
            "https"
          ],
          "default": "http"
        },
        "host_port": {
          "default": "localhost:1323"
        }
      },
      "description": "Endpoint of the API server"
    }
  ],
  "tags": [
    {
      "name": "backup-info",
      "description": "APIs for getting backup Details"
    },
    {
      "name": "cluster",
      "description": "APIs for cluster CRUD"
    },
    {
      "name": "cluster-info",
      "description": "APIs for getting information about an existing cluster"
    },
    {
      "name": "pitr-info",
      "description": "APIs for getting Point-in-Time Recovery (PITR) schedules"
    },
    {
      "name": "restore-info",
      "description": "APIs for getting restore Details"
    },
    {
      "name": "voyager-info",
      "description": "APIs for getting information about Voyager migrations"
    },
    {
      "name": "voyager-metrics",
      "description": "APIs for getting Voyager data migrations metrics"
    },
    {
      "name": "xCluster",
      "description": "APIs for getting xCluster metrics"
    }
  ],
  "paths": {
    "/xcluster_metrics": {
      "get": {
        "summary": "Get list of all xCluster replication group ids",
        "description": "Retrieve the list of databases on which restore is run in the YugabyteDB cluster.",
        "operationId": "getXclusterReplicationIDs",
        "responses": {
          "200": {
            "$ref": "#/components/responses/xClusterResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/xcluster_namespace_details/{replication_id}": {
      "get": {
        "summary": "Get list of all xCluster replication group namespace and table details",
        "description": "Retrieve the list of namespaces and tables involved in the replication group identified by the given replication ID.",
        "operationId": "getXclusterReplicationNamespacesInfo",
        "parameters": [
          {
            "name": "replication_id",
            "in": "path",
            "description": "Unique identifier for the replication group",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/xClusterNamespaceResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/migrations": {
      "get": {
        "summary": "Get the list of Voyager migrations",
        "description": "Get the list of Voyager migrations",
        "operationId": "GetVoyagerMigrationTasks",
        "tags": [
          "voyager-info"
        ],
        "parameters": [
          {
            "name": "uuid",
            "in": "query",
            "description": "uuid of the voyager migration task",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "migration_phase",
            "in": "query",
            "description": "specify the migration phase for which details are required",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/VoyagerMigrationsResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/migrate_schema": {
      "get": {
        "summary": "Get Voyager data migration metrics",
        "description": "Get Voyager data migration metrics",
        "operationId": "GetVoyagerMigrateSchemaTasks",
        "tags": [
          "voyager-info"
        ],
        "parameters": [
          {
            "name": "uuid",
            "in": "query",
            "description": "uuid of the voyager migration task",
            "required": true,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MigrateSchemaResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/migration_metrics": {
      "get": {
        "summary": "Get Voyager data migration metrics",
        "description": "Get Voyager data migration metrics",
        "operationId": "GetVoyagerDataMigrationMetrics",
        "tags": [
          "voyager-metrics"
        ],
        "parameters": [
          {
            "name": "uuid",
            "in": "query",
            "description": "uuid of the voyager migration task",
            "required": true,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/VoyagerDataMigrationMetricsResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/migration_assessment_v2": {
      "get": {
        "summary": "Get the Database assessment details",
        "description": "Get the Database assessment details",
        "operationId": "GetMigrationAssessmentInfo",
        "tags": [
          "voyager-info"
        ],
        "parameters": [
          {
            "name": "uuid",
            "in": "query",
            "description": "uuid of the voyager migration task",
            "required": true,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/VoyagerAssessmentResponseV2"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/assessment_source_db_details": {
      "get": {
        "summary": "Get the Source Database SQL object details",
        "description": "Get the Source Database SQL object details",
        "operationId": "GetAssessmentSourceDBInfo",
        "tags": [
          "voyager-info"
        ],
        "parameters": [
          {
            "name": "uuid",
            "in": "query",
            "description": "uuid of the voyager migration task",
            "required": true,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AssessmentSourceDbResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/assessment_target_recommendation_details": {
      "get": {
        "summary": "Get the Target Database recommendation details",
        "description": "Get the Target Database recommendation details",
        "operationId": "GetAssessmentTargetRecommendationInfo",
        "tags": [
          "voyager-info"
        ],
        "parameters": [
          {
            "name": "uuid",
            "in": "query",
            "description": "uuid of the voyager migration task",
            "required": true,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AssessmentTargetRecommendationResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/cluster": {
      "get": {
        "summary": "Get a cluster",
        "description": "Get a Yugabyte Cluster",
        "operationId": "getCluster",
        "tags": [
          "cluster"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ClusterResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      },
      "delete": {
        "summary": "Submit task to delete a cluster",
        "description": "Submit task to delete a Yugabyte Cluster",
        "tags": [
          "cluster"
        ],
        "responses": {
          "200": {
            "description": "Successfully submitted delete cluster request"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        },
        "operationId": "deleteCluster"
      },
      "put": {
        "summary": "Submit task to edit a cluster",
        "description": "Submit task to edit a Yugabyte Cluster",
        "operationId": "editCluster",
        "tags": [
          "cluster"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/ClusterSpec"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ClusterResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/live_queries": {
      "get": {
        "summary": "Get the live queries in a cluster",
        "description": "Get the Live Queries in a Yugabyte Cluster",
        "operationId": "getLiveQueries",
        "tags": [
          "cluster-info"
        ],
        "parameters": [
          {
            "name": "api",
            "in": "query",
            "description": "type of queries for which to retrieve Live Queries (YSQL or YCQL)",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "YSQL",
                "YCQL"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/LiveQueryResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/slow_queries": {
      "get": {
        "summary": "Get the slow queries in a cluster",
        "description": "Get the Slow Queries in a Yugabyte Cluster",
        "operationId": "getSlowQueries",
        "tags": [
          "cluster-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SlowQueryResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/nodes": {
      "parameters": [
        {
          "name": "get_all_masters",
          "in": "query",
          "description": "Whether to get master-only nodes that have no tserver",
          "required": false,
          "style": "form",
          "schema": {
            "type": "boolean"
          },
          "allowEmptyValue": true
        }
      ],
      "get": {
        "summary": "Get the nodes for a cluster",
        "description": "Get nodes for a Yugabyte cluster",
        "operationId": "getClusterNodes",
        "tags": [
          "cluster-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ClusterNodeListResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/metrics": {
      "parameters": [
        {
          "name": "metrics",
          "in": "query",
          "description": "Which metrics to retrieve results for",
          "required": true,
          "style": "form",
          "explode": false,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "node_name",
          "in": "query",
          "description": "Node name within the cluster",
          "required": false,
          "style": "form",
          "explode": false,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "region",
          "in": "query",
          "description": "Region name to filter for the given cluster",
          "required": false,
          "style": "form",
          "explode": false,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "zone",
          "in": "query",
          "description": "Zone to filter for the given cluster",
          "required": false,
          "style": "form",
          "explode": false,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "start_time",
          "in": "query",
          "description": "Start of range of time series data (in epoch seconds)",
          "required": false,
          "style": "form",
          "explode": false,
          "schema": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        },
        {
          "name": "end_time",
          "in": "query",
          "description": "End of range of time series data (in epoch seconds)",
          "required": false,
          "style": "form",
          "explode": false,
          "schema": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        },
        {
          "name": "cluster_type",
          "in": "query",
          "description": "Cluster type (primary or read replica)",
          "required": false,
          "style": "form",
          "explode": false,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get a metric for a cluster",
        "description": "Get metrics for a Yugabyte cluster",
        "operationId": "getClusterMetric",
        "tags": [
          "cluster-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MetricResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/activities": {
      "parameters": [
        {
          "name": "activities",
          "in": "query",
          "description": "Which activities data to retrieve",
          "required": true,
          "style": "form",
          "explode": false,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "status",
          "in": "query",
          "description": "Completed or In-Progress",
          "required": true,
          "style": "form",
          "explode": false,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "database",
          "in": "query",
          "description": "Which database's activities data is to be retrived.",
          "required": false,
          "style": "form",
          "explode": false,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get a activities data for a cluster",
        "description": "Get activities data for a Yugabyte cluster",
        "operationId": "getClusterActivities",
        "tags": [
          "cluster-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ActivityResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/tables": {
      "get": {
        "description": "Get list of tables per YB API (YCQL/YSQL)",
        "operationId": "getClusterTables",
        "summary": "Get list of DB tables per YB API (YCQL/YSQL)",
        "tags": [
          "cluster-info"
        ],
        "parameters": [
          {
            "name": "api",
            "in": "query",
            "description": "Which DB API to get tables for (YCQL/YSQL)",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "YCQL",
                "YSQL"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ClusterTableListResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/table": {
      "get": {
        "description": "Get info on a single table, given table uuid",
        "operationId": "getTableInfo",
        "summary": "Get info on a single table, given table uuid",
        "tags": [
          "cluster-info"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "UUID of the table",
            "required": true,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_address",
            "in": "query",
            "description": "Specify the node ip-address from where the table info is retrieved",
            "required": true,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TableInfoResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/health-check": {
      "get": {
        "description": "Get health information about the cluster",
        "operationId": "getClusterHealthCheck",
        "summary": "Get health information about the cluster",
        "tags": [
          "cluster-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HealthCheckResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/tablets": {
      "get": {
        "description": "Get list of tablets",
        "operationId": "getClusterTablets",
        "summary": "Get list of tablets",
        "tags": [
          "cluster-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ClusterTabletListResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/version": {
      "get": {
        "summary": "Get YugabyteDB version",
        "description": "Get YugabyteDB version",
        "tags": [
          "cluster-info"
        ],
        "operationId": "getVersion",
        "responses": {
          "200": {
            "$ref": "#/components/responses/VersionInfo"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/is_load_balancer_idle": {
      "get": {
        "summary": "Check if cluster load balancer is idle",
        "description": "Check if cluster load balancer is idle",
        "tags": [
          "cluster-info"
        ],
        "operationId": "getIsLoadBalancerIdle",
        "responses": {
          "200": {
            "description": "Is load balancer idle",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Is load balancer idle",
                  "description": "Is load balancer idle",
                  "type": "object",
                  "properties": {
                    "is_idle": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "is_idle"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/gflags": {
      "get": {
        "summary": "Get gflags of master and tserver process",
        "description": "Retrieve gflags of master and tserver process",
        "operationId": "getGflags",
        "tags": [
          "cluster-info"
        ],
        "parameters": [
          {
            "name": "node_address",
            "in": "query",
            "description": "Specify the node ip-address from where alerts are retrieved",
            "required": true,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GflagsResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/alerts": {
      "get": {
        "summary": "Get any alerts for the cluster",
        "description": "Get any alerts for the cluster",
        "operationId": "getClusterAlerts",
        "tags": [
          "cluster-info"
        ],
        "parameters": [
          {
            "name": "node_address",
            "in": "query",
            "description": "Specify the node ip-address from where gflags are retrieved",
            "required": true,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AlertsResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/connections": {
      "get": {
        "summary": "Get YSQL connection manager stats for every node of the cluster",
        "description": "Get YSQL connection manager stats for every node of the cluster",
        "operationId": "getClusterConnections",
        "tags": [
          "cluster-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ConnectionsResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/node_address": {
      "get": {
        "summary": "Get the node address for the current node",
        "description": "Get the node address for the current node",
        "operationId": "getNodeAddress",
        "tags": [
          "cluster-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/NodeAddressResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/pitr": {
      "get": {
        "summary": "Get PITR Schedules",
        "description": "Retrieve the list of PITR schedules in the YugabyteDB cluster.",
        "operationId": "getPITRSchedules",
        "tags": [
          "pitr-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PITRScheduleListResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/backup": {
      "get": {
        "summary": "Get Backup Details",
        "description": "Retrieve the list of databases on which backup is enabled.",
        "operationId": "getBackupDetails",
        "tags": [
          "backup-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BackupDetailsListResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    },
    "/restore": {
      "get": {
        "summary": "Get Restore Details",
        "description": "Retrieve the list of databases on which restore is run in the YugabyteDB cluster.",
        "operationId": "getRestoreDetails",
        "tags": [
          "restore-info"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RestoreDetailsListResponse"
          },
          "400": {
            "$ref": "#/components/responses/ApiError"
          },
          "500": {
            "$ref": "#/components/responses/ApiError"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "xClusterInboundGroup": {
        "title": "Get xCluster replication group ids list.",
        "description": "Schema for xCluster replication group details.",
        "type": "object",
        "properties": {
          "replication_group_id": {
            "type": "string",
            "description": "Unique identifier for the replication group."
          },
          "state": {
            "type": "string",
            "description": "The current status of the replication group."
          },
          "target_cluster_node_ips": {
            "type": "array",
            "description": "List of target-side node IPs involved in replication.",
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          },
          "source_cluster_node_ips": {
            "type": "array",
            "description": "List of source-side node IPs involved in replication.",
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          },
          "source_universe_uuid": {
            "type": "string",
            "description": "UUID of the source universe for the replication group."
          },
          "target_universe_uuid": {
            "type": "string",
            "description": "UUID of the target universe for the replication group."
          }
        },
        "required": [
          "replication_group_id",
          "state",
          "namespace",
          "current_cluster_ip_address",
          "source_leader_host"
        ]
      },
      "TableReplicationLagDetailsOutbound": {
        "title": "Table information for a namespace in the replication group and per table level lag time.",
        "description": "Schema for table details and namespace in replication.",
        "type": "object",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Namespace to which the current table belongs."
          },
          "table_uuid": {
            "type": "string",
            "description": "Unique identifier for the table."
          },
          "table_name": {
            "type": "string",
            "description": "Name of the table."
          },
          "is_checkpointing": {
            "type": "boolean",
            "description": "Indicates whether the table is currently checkpointing."
          },
          "is_part_of_initial_bootstrap": {
            "type": "boolean",
            "description": "Indicates whether the table is part of the initial bootstrap process."
          },
          "async_replication_sent_lag_micros": {
            "type": "integer",
            "description": "The lag time in microseconds for sent replication data.",
            "format": "int64"
          },
          "async_replication_committed_lag_micros": {
            "type": "integer",
            "description": "The lag time in microseconds for committed replication data.",
            "format": "int64"
          }
        },
        "required": [
          "table_uuid",
          "table_name",
          "stream_id",
          "state",
          "keyspace",
          "is_checkpointing",
          "is_part_of_initial_bootstrap",
          "async_replication_committed_lag_micros",
          "async_replication_sent_lag_micros"
        ]
      },
      "xClusterOutboundGroup": {
        "title": "Get xCluster replication group ids list.",
        "description": "Schema for xCluster replication group details.",
        "type": "object",
        "properties": {
          "replication_group_id": {
            "type": "string",
            "description": "Unique identifier for the replication group."
          },
          "state": {
            "type": "string",
            "description": "The current status of the replication group (e.g., 'active', 'inactive')."
          },
          "replication_cluster_node_ips": {
            "type": "array",
            "description": "The list of IP addresses of the nodes involved in the replication.",
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          },
          "source_universe_uuid": {
            "type": "string",
            "description": "UUID of the source universe for the replication group."
          },
          "target_universe_uuid": {
            "type": "string",
            "description": "UUID of the target universe for the replication group."
          },
          "tables_list_with_lag": {
            "type": "array",
            "description": "List of namespaces from outbound and lag of each table",
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/TableReplicationLagDetailsOutbound"
            }
          }
        },
        "required": [
          "replication_group_id",
          "state",
          "namespace",
          "current_cluster_ip_address",
          "target_universe_uuid"
        ]
      },
      "ApiError": {
        "title": "API Error",
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "detail": {
                "description": "Error message",
                "type": "string"
              },
              "status": {
                "description": "Error code",
                "type": "integer"
              }
            }
          }
        }
      },
      "xClusterTableInfoInbound": {
        "title": "Table information for a namespace in the replication group.",
        "description": "Schema for table details in xCluster replication.",
        "type": "object",
        "properties": {
          "table_uuid": {
            "type": "string",
            "description": "Unique identifier for the table."
          },
          "namespace_id": {
            "type": "string",
            "description": "Unique identifier for the namespace."
          },
          "table_name": {
            "type": "string",
            "description": "Name of the table."
          },
          "stream_id": {
            "type": "string",
            "description": "Stream ID associated with the table for replication."
          },
          "state": {
            "type": "string",
            "description": "The current state of the table."
          },
          "keyspace": {
            "type": "string",
            "description": "Keyspace to which the table belongs."
          },
          "avg_get_changes_latency_ms": {
            "type": "number",
            "format": "float64",
            "description": "The average time taken by the consumer to fetch changes from the producer"
          },
          "avg_apply_latency_ms": {
            "type": "number",
            "format": "float64",
            "description": "The average time taken to apply received changes to the consumer table."
          },
          "avg_throughput_KiBps": {
            "type": "number",
            "format": "float64",
            "description": "The average throughput in KiB per second for this replication stream."
          }
        },
        "required": [
          "table_uuid",
          "table_name",
          "stream_id",
          "state",
          "keyspace",
          "avg_get_changes_latency_ms",
          "avg_apply_latency_ms",
          "avg_throughput_KiBps"
        ]
      },
      "NamespacesInfo": {
        "type": "object",
        "title": "Namespace and corresponding tables participating in the replication",
        "description": "A single namespace and its corresponding tables participating in the replication",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Name of the namespace in the replication"
          },
          "table_info_list": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/xClusterTableInfoInbound"
            }
          }
        },
        "required": [
          "namespace",
          "table_info_list"
        ]
      },
      "xClusterPlacementLocation": {
        "title": "Get xCluster placement location info.",
        "description": "Get universe's placement location in xCluster replication.",
        "type": "object",
        "properties": {
          "cloud": {
            "type": "string",
            "description": "Cloud name"
          },
          "zone": {
            "type": "string",
            "description": "Zone name"
          },
          "region": {
            "type": "string",
            "description": "Region name"
          }
        }
      },
      "VoyagerMigrationDetails": {
        "title": "Voyager task details",
        "description": "Information regarding a specific voyager migration task",
        "type": "object",
        "properties": {
          "migration_uuid": {
            "type": "string",
            "format": "uuid"
          },
          "migration_name": {
            "type": "string"
          },
          "migration_type": {
            "type": "string"
          },
          "migration_phase": {
            "type": "integer"
          },
          "invocation_sequence": {
            "type": "integer"
          },
          "source_db": {
            "type": "object",
            "properties": {
              "ip": {
                "type": "string"
              },
              "port": {
                "type": "string"
              },
              "engine": {
                "type": "string"
              },
              "version": {
                "type": "string"
              },
              "database": {
                "type": "string"
              },
              "schema": {
                "type": "string"
              }
            }
          },
          "voyager": {
            "type": "object",
            "properties": {
              "machine_ip": {
                "type": "string"
              },
              "os": {
                "type": "string"
              },
              "avail_disk_bytes": {
                "type": "string"
              },
              "export_dir": {
                "type": "string"
              },
              "exported_schema_location": {
                "type": "string"
              }
            }
          },
          "target_cluster": {
            "type": "object",
            "properties": {
              "ip": {
                "type": "string"
              },
              "port": {
                "type": "string"
              },
              "engine": {
                "type": "string"
              },
              "version": {
                "type": "string"
              }
            }
          },
          "complexity": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "progress": {
            "type": "string"
          },
          "invocation_timestamp": {
            "type": "string"
          },
          "start_timestamp": {
            "type": "string"
          }
        }
      },
      "VoyagerMigrationsInfo": {
        "title": "YB Voyager migrations Info",
        "description": "YB Voyager migrations Info",
        "type": "object",
        "properties": {
          "migrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoyagerMigrationDetails"
            }
          }
        }
      },
      "AnalysisIssueDetails": {
        "title": "Analysis Issue Details",
        "description": "Details of issues in Schema Analysis Report",
        "type": "object",
        "properties": {
          "issueType": {
            "type": "string"
          },
          "objectName": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "sqlStatement": {
            "type": "string"
          },
          "filePath": {
            "type": "string"
          },
          "suggestion": {
            "type": "string"
          },
          "GH": {
            "type": "string"
          },
          "docs_link": {
            "type": "string"
          },
          "minimum_versions_fixed_in": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "SqlObjectsDetails": {
        "title": "Sql Objects",
        "description": "Sql obejcts type and count",
        "type": "object",
        "properties": {
          "objectType": {
            "type": "string"
          },
          "totalCount": {
            "type": "integer"
          },
          "invalidCount": {
            "type": "integer"
          },
          "objectNames": {
            "type": "string"
          },
          "issues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnalysisIssueDetails"
            }
          }
        }
      },
      "RefactoringCount": {
        "title": "Count of automatic, manual and invalid SQL objects",
        "description": "Count of automatic, manual and invalid SQL objects.",
        "type": "object",
        "properties": {
          "sql_object_type": {
            "type": "string"
          },
          "manual": {
            "type": "integer"
          },
          "automatic": {
            "type": "integer"
          },
          "invalid": {
            "type": "integer"
          }
        }
      },
      "SchemaAnalysisReport": {
        "title": "Schema Analysis report",
        "description": "Voyager data migration metrics details",
        "type": "object",
        "properties": {
          "voyager_version": {
            "type": "string"
          },
          "target_db_version": {
            "type": "string"
          },
          "sql_objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SqlObjectsDetails"
            }
          },
          "recommended_refactoring": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RefactoringCount"
            }
          }
        }
      },
      "MigrateSchemaTaskInfo": {
        "title": "Details for export schema, import schema and analyze schema steps",
        "description": "Voyager data migration metrics details",
        "type": "object",
        "properties": {
          "migration_uuid": {
            "type": "string",
            "format": "uuid"
          },
          "overall_status": {
            "type": "string"
          },
          "export_schema": {
            "type": "string"
          },
          "analyze_schema": {
            "type": "string"
          },
          "import_schema": {
            "type": "string"
          },
          "current_analysis_report": {
            "$ref": "#/components/schemas/SchemaAnalysisReport"
          },
          "analysis_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SchemaAnalysisReport"
            }
          }
        }
      },
      "VoyagerMigrateDataMetricsDetails": {
        "title": "Voyager Migrate Data Metrics details",
        "description": "Voyager data migration metrics details",
        "type": "object",
        "properties": {
          "migration_uuid": {
            "type": "string",
            "format": "uuid"
          },
          "table_name": {
            "type": "string"
          },
          "schema_name": {
            "type": "string"
          },
          "migration_phase": {
            "type": "integer"
          },
          "status": {
            "type": "integer"
          },
          "count_live_rows": {
            "type": "integer",
            "format": "int64"
          },
          "count_total_rows": {
            "type": "integer",
            "format": "int64"
          },
          "invocation_timestamp": {
            "type": "string"
          }
        }
      },
      "VoyagerMigrateDataMetrics": {
        "title": "YB Voyager Migrate Data metrics Info",
        "description": "List of YB Voyager Data migrations metrics",
        "type": "object",
        "properties": {
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoyagerMigrateDataMetricsDetails"
            }
          }
        }
      },
      "AssessmentReportSummary": {
        "title": "Migration assessment summary",
        "description": "API for getting migration assessment summary",
        "type": "object",
        "properties": {
          "migration_complexity": {
            "type": "string"
          },
          "migration_comlexity_explanation": {
            "type": "string"
          },
          "estimated_migration_time": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          }
        }
      },
      "SourceEnvironmentInfo": {
        "title": "Assessment source environment details",
        "description": "Assessment source environment (node/VM) details",
        "type": "object",
        "properties": {
          "total_vcpu": {
            "type": "string"
          },
          "total_memory": {
            "type": "string"
          },
          "total_disk_size": {
            "type": "string"
          },
          "no_of_connections": {
            "type": "string"
          }
        }
      },
      "SourceDatabaseInfo": {
        "title": "Source Database details",
        "description": "Source Database details",
        "type": "object",
        "properties": {
          "table_size": {
            "type": "integer",
            "format": "int64"
          },
          "table_row_count": {
            "type": "integer",
            "format": "int64"
          },
          "total_table_size": {
            "type": "integer",
            "format": "int64"
          },
          "total_index_size": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "TargetClusterSpec": {
        "title": "Target cluster size recommendations",
        "description": "schema for target cluster cpu, memory",
        "type": "object",
        "properties": {
          "num_nodes": {
            "type": "integer",
            "format": "int64"
          },
          "vcpu_per_node": {
            "type": "integer",
            "format": "int64"
          },
          "memory_per_node": {
            "type": "integer",
            "format": "int64"
          },
          "connections_per_node": {
            "type": "integer",
            "format": "int64"
          },
          "inserts_per_node": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "TargetSchemaRecommendations": {
        "title": "Target YugabyteDB cluster schema recommendations",
        "description": "Target YugabyteDB cluster schema recommendations",
        "type": "object",
        "properties": {
          "no_of_colocated_tables": {
            "type": "integer",
            "format": "int64"
          },
          "total_size_colocated_tables": {
            "type": "integer",
            "format": "int64"
          },
          "no_of_sharded_tables": {
            "type": "integer",
            "format": "int64"
          },
          "total_size_sharded_tables": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "TargetClusterRecommendationDetails": {
        "title": "Target YugabyteDB cluster size and schema recommendations",
        "description": "Recommendations for the Target YugabyteDB cluster",
        "type": "object",
        "properties": {
          "recommendation_summary": {
            "type": "string"
          },
          "target_cluster_recommendation": {
            "$ref": "#/components/schemas/TargetClusterSpec"
          },
          "target_schema_recommendation": {
            "$ref": "#/components/schemas/TargetSchemaRecommendations"
          }
        }
      },
      "UnsupportedSqlObjectData": {
        "title": "Unsupported SQL Object Data",
        "description": "Unsupported SQL Object Data",
        "type": "object",
        "properties": {
          "object_type": {
            "type": "string"
          },
          "object_name": {
            "type": "string"
          },
          "sql_statement": {
            "type": "string"
          }
        }
      },
      "AssessmentIssueInfo": {
        "title": "Assessment Sub Issue Info",
        "description": "Assessment Issues of a particular issue type (migration caveat, datatype, etc)",
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          },
          "impact": {
            "type": "string"
          },
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnsupportedSqlObjectData"
            }
          },
          "docs_link": {
            "type": "string"
          },
          "minimum_versions_fixed_in": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "AssessmentCategoryInfo": {
        "title": "Assessment Issue Info",
        "description": "Assessment Issues aggrageted based on Issue Category (migration caveat,datatype,etc)",
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "category_description": {
            "type": "string"
          },
          "issues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssessmentIssueInfo"
            }
          }
        }
      },
      "MigrationAssessmentReport": {
        "title": "Details of the migration assessment report",
        "description": "Details of the migration assessment report",
        "type": "object",
        "properties": {
          "operating_system": {
            "type": "string"
          },
          "voyager_version": {
            "type": "string"
          },
          "target_db_version": {
            "type": "string"
          },
          "assessment_status": {
            "type": "boolean"
          },
          "summary": {
            "$ref": "#/components/schemas/AssessmentReportSummary"
          },
          "source_environment": {
            "$ref": "#/components/schemas/SourceEnvironmentInfo"
          },
          "source_database": {
            "$ref": "#/components/schemas/SourceDatabaseInfo"
          },
          "target_recommendations": {
            "$ref": "#/components/schemas/TargetClusterRecommendationDetails"
          },
          "recommended_refactoring": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RefactoringCount"
            }
          },
          "assessment_issues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssessmentCategoryInfo"
            }
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "SqlObjectCount": {
        "title": "Count of specific Sql Object type in the source DB",
        "description": "Count of specific Sql Object type in the source DB",
        "type": "object",
        "properties": {
          "sql_type": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          }
        }
      },
      "SqlObjectMetadata": {
        "title": "metadata of specific Sql Object type in the source DB",
        "description": "size, count, iops details of tables and indexes",
        "type": "object",
        "properties": {
          "object_name": {
            "type": "string"
          },
          "sql_type": {
            "type": "string"
          },
          "row_count": {
            "type": "integer",
            "format": "int64"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "iops": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "AssessmentSourceDbObject": {
        "title": "Details about Source DB's SQL Objects",
        "description": "Details about Source DB's SQL Objects",
        "type": "object",
        "properties": {
          "sql_objects_count": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SqlObjectCount"
            }
          },
          "sql_objects_metadata": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SqlObjectMetadata"
            }
          }
        }
      },
      "TargetRecommendationItem": {
        "title": "Target recommendation table metadata information",
        "description": "Target recommendation table metadata information",
        "type": "object",
        "properties": {
          "table_name": {
            "type": "string"
          },
          "disk_size": {
            "type": "integer",
            "format": "int64"
          },
          "schema_recommendation": {
            "type": "string"
          }
        }
      },
      "AssessmentTargetRecommendationObject": {
        "title": "Details about Target table recommendations",
        "description": "Details about Target table recommendations",
        "type": "object",
        "properties": {
          "num_of_colocated_tables": {
            "type": "integer"
          },
          "total_size_colocated_tables": {
            "type": "integer",
            "format": "int64"
          },
          "num_of_sharded_table": {
            "type": "integer"
          },
          "total_size_sharded_tables": {
            "type": "integer",
            "format": "int64"
          },
          "recommendation_details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TargetRecommendationItem"
            }
          }
        }
      },
      "CloudEnum": {
        "title": "Cloud Enum",
        "description": "Which cloud the cluster is deployed in",
        "type": "string",
        "default": "MANUAL",
        "enum": [
          "AWS",
          "GCP",
          "MANUAL"
        ]
      },
      "CloudInfo": {
        "title": "Cloud Info",
        "description": "Cloud deployment information",
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/CloudEnum"
          },
          "region": {
            "type": "string",
            "minLength": 1,
            "default": "us-west2"
          }
        },
        "required": [
          "code",
          "region"
        ]
      },
      "ClusterFaultTolerance": {
        "title": "Cluster Fault Tolerance",
        "description": "The level of fault tolerance for the cluster",
        "type": "string",
        "enum": [
          "NONE",
          "NODE",
          "ZONE",
          "REGION"
        ],
        "default": "ZONE"
      },
      "ClusterNodeInfo": {
        "title": "Cluster Node Info",
        "description": "Node level information",
        "type": "object",
        "properties": {
          "memory_mb": {
            "description": "The total amount of RAM (MB) used by all nodes",
            "type": "number",
            "format": "double",
            "default": 0
          },
          "disk_size_gb": {
            "description": "The total size of disk (GB)",
            "type": "number",
            "format": "double",
            "default": 0
          },
          "disk_size_used_gb": {
            "description": "The total size of used disk space (GB)",
            "type": "number",
            "format": "double",
            "default": 0
          },
          "cpu_usage": {
            "description": "The average CPU usage over all nodes",
            "type": "number",
            "format": "double",
            "default": 0
          },
          "num_cores": {
            "description": "The number of CPU cores per node",
            "type": "integer",
            "default": 0
          },
          "ram_provisioned_gb": {
            "description": "The total size of provisioned ram (GB)",
            "type": "number",
            "format": "double",
            "default": 0
          }
        },
        "required": [
          "num_cores",
          "memory_mb",
          "disk_size_gb",
          "ram_provisioned_gb"
        ]
      },
      "ClusterInfo": {
        "title": "Cluster Info",
        "description": "Cluster level information",
        "type": "object",
        "properties": {
          "num_nodes": {
            "description": "How many nodes are in the cluster",
            "type": "integer",
            "minimum": 1,
            "maximum": 24,
            "default": 3
          },
          "fault_tolerance": {
            "$ref": "#/components/schemas/ClusterFaultTolerance"
          },
          "replication_factor": {
            "description": "The replication factor applied on the cluster",
            "type": "integer",
            "minimum": 1,
            "maximum": 24
          },
          "node_info": {
            "$ref": "#/components/schemas/ClusterNodeInfo"
          },
          "is_production": {
            "description": "Describes if the cluster is a production cluster",
            "type": "boolean",
            "default": false
          },
          "version": {
            "description": "cluster data version",
            "type": "integer",
            "nullable": true
          }
        },
        "required": [
          "num_nodes",
          "fault_tolerance",
          "node_info",
          "cluster_tier",
          "is_production"
        ]
      },
      "PlacementInfo": {
        "type": "object",
        "properties": {
          "cloud_info": {
            "$ref": "#/components/schemas/CloudInfo"
          },
          "num_nodes": {
            "description": "How many nodes are in the region",
            "type": "integer",
            "minimum": 1,
            "maximum": 24,
            "default": 3
          }
        },
        "required": [
          "cloud_info",
          "num_nodes"
        ]
      },
      "ClusterRegionInfo": {
        "title": "Cluster Region Info",
        "description": "Cluster region info list",
        "type": "object",
        "properties": {
          "placement_info": {
            "$ref": "#/components/schemas/PlacementInfo"
          }
        },
        "required": [
          "placement_info"
        ]
      },
      "EncryptionInfo": {
        "title": "Encryption Info",
        "description": "Cluster encryption info",
        "type": "object",
        "properties": {
          "encryption_at_rest": {
            "type": "boolean",
            "default": false
          },
          "encryption_in_transit": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "ClusterSpec": {
        "title": "Cluster Specification",
        "description": "Cluster spec",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the cluster",
            "type": "string",
            "minLength": 3,
            "maxLength": 63,
            "pattern": "^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$"
          },
          "cloud_info": {
            "$ref": "#/components/schemas/CloudInfo"
          },
          "cluster_info": {
            "$ref": "#/components/schemas/ClusterInfo"
          },
          "cluster_region_info": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/ClusterRegionInfo"
            },
            "nullable": true
          },
          "encryption_info": {
            "$ref": "#/components/schemas/EncryptionInfo"
          }
        },
        "required": [
          "name",
          "cloud_info",
          "cluster_info",
          "network_info",
          "software_info",
          "encryption_info"
        ]
      },
      "EntityMetadata": {
        "title": "Entity Metadata",
        "description": "Common metadata for entities",
        "type": "object",
        "properties": {
          "created_on": {
            "description": "Timestamp when the entity was created (UTC)",
            "type": "string",
            "nullable": true
          },
          "updated_on": {
            "description": "Timestamp when the entity was last updated (UTC)",
            "type": "string",
            "nullable": true
          }
        }
      },
      "ClusterDataInfo": {
        "type": "object",
        "properties": {
          "universe_uuid": {
            "description": "The UUID of the universe",
            "type": "string",
            "format": "uuid"
          },
          "cluster_uuid": {
            "description": "The UUID of the cluster",
            "type": "string",
            "format": "uuid"
          },
          "state": {
            "description": "The current state of the cluster",
            "type": "string"
          },
          "software_version": {
            "description": "The current version of YugabyteDB installed on the cluster",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/EntityMetadata"
          }
        },
        "required": [
          "universe_uuid",
          "cluster_uuid",
          "state",
          "project_id",
          "metadata"
        ]
      },
      "ClusterData": {
        "title": "Cluster Data",
        "description": "Cluster data",
        "type": "object",
        "required": [
          "spec",
          "info"
        ],
        "properties": {
          "spec": {
            "$ref": "#/components/schemas/ClusterSpec"
          },
          "info": {
            "$ref": "#/components/schemas/ClusterDataInfo"
          }
        }
      },
      "LiveQueryResponseYSQLQueryItem": {
        "title": "Live Query Response YSQL Query Item",
        "description": "Schema for Live Query Response YSQL Query Item",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "node_name": {
            "type": "string"
          },
          "db_name": {
            "type": "string"
          },
          "session_status": {
            "type": "string"
          },
          "query": {
            "type": "string"
          },
          "elapsed_millis": {
            "type": "integer",
            "format": "int64"
          },
          "query_start_time": {
            "type": "string"
          },
          "app_name": {
            "type": "string"
          },
          "client_host": {
            "type": "string"
          },
          "client_port": {
            "type": "string"
          }
        }
      },
      "LiveQueryResponseYSQLData": {
        "title": "Live Query Response YSQL Data",
        "description": "Schema for Live Query Response YSQL Data",
        "type": "object",
        "properties": {
          "error_count": {
            "description": "Count of Errors",
            "type": "integer"
          },
          "queries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LiveQueryResponseYSQLQueryItem"
            }
          }
        }
      },
      "LiveQueryResponseYCQLQueryItem": {
        "title": "Live Query Response YCQL Query Item",
        "description": "Schema for Live Query Response YCQL Query Item",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "node_name": {
            "type": "string"
          },
          "keyspace": {
            "type": "string"
          },
          "query": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "elapsed_millis": {
            "type": "integer",
            "format": "int64"
          },
          "client_host": {
            "type": "string"
          },
          "client_port": {
            "type": "string"
          }
        }
      },
      "LiveQueryResponseYCQLData": {
        "title": "Live Query Response YCQL Data",
        "description": "Schema for Live Query Response YCQL Data",
        "type": "object",
        "properties": {
          "error_count": {
            "description": "Count of Errors",
            "type": "integer"
          },
          "queries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LiveQueryResponseYCQLQueryItem"
            }
          }
        }
      },
      "LiveQueryResponseData": {
        "title": "Live Query Response Data",
        "description": "Live Query Response Data",
        "type": "object",
        "properties": {
          "ysql": {
            "$ref": "#/components/schemas/LiveQueryResponseYSQLData"
          },
          "ycql": {
            "$ref": "#/components/schemas/LiveQueryResponseYCQLData"
          }
        }
      },
      "LiveQueryResponseSchema": {
        "title": "Live Query Response Schema",
        "description": "Live Query Response Schema",
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/LiveQueryResponseData"
          }
        }
      },
      "SlowQueryResponseYSQLQueryItem": {
        "title": "Slow Query Response YSQL Query Item",
        "description": "Schema for Slow Query Response YSQL Query Item",
        "type": "object",
        "properties": {
          "queryid": {
            "type": "integer",
            "format": "int64"
          },
          "query": {
            "type": "string"
          },
          "rolname": {
            "type": "string"
          },
          "datname": {
            "type": "string"
          },
          "calls": {
            "type": "integer"
          },
          "local_blks_hit": {
            "type": "integer"
          },
          "local_blks_written": {
            "type": "integer"
          },
          "max_time": {
            "type": "number",
            "format": "double"
          },
          "mean_time": {
            "type": "number",
            "format": "double"
          },
          "min_time": {
            "type": "number",
            "format": "double"
          },
          "rows": {
            "type": "integer"
          },
          "stddev_time": {
            "type": "number",
            "format": "double"
          },
          "total_time": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "SlowQueryResponseYSQLData": {
        "title": "Slow Query Response YSQL Data",
        "description": "Schema for Slow Query Response YSQL Data",
        "type": "object",
        "properties": {
          "error_count": {
            "description": "Count of Errors",
            "type": "integer"
          },
          "queries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SlowQueryResponseYSQLQueryItem"
            }
          }
        }
      },
      "SlowQueryResponseData": {
        "title": "Slow Query Response Data",
        "description": "Slow Query Response Data",
        "type": "object",
        "properties": {
          "ysql": {
            "$ref": "#/components/schemas/SlowQueryResponseYSQLData"
          }
        }
      },
      "SlowQueryResponseSchema": {
        "title": "Slow Query Response Schema",
        "description": "Slow Query Response Schema",
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SlowQueryResponseData"
          }
        }
      },
      "NodeData": {
        "type": "object",
        "description": "Node data",
        "properties": {
          "name": {
            "type": "string",
            "nullable": false
          },
          "host": {
            "type": "string",
            "nullable": false
          },
          "is_node_up": {
            "type": "boolean"
          },
          "is_master": {
            "type": "boolean"
          },
          "is_tserver": {
            "type": "boolean"
          },
          "is_read_replica": {
            "type": "boolean"
          },
          "preference_order": {
            "type": "integer"
          },
          "is_master_up": {
            "type": "boolean"
          },
          "is_bootstrapping": {
            "type": "boolean"
          },
          "metrics": {
            "type": "object",
            "properties": {
              "memory_used_bytes": {
                "type": "integer",
                "format": "int64",
                "default": 0
              },
              "total_sst_file_size_bytes": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "nullable": true
              },
              "uncompressed_sst_file_size_bytes": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "nullable": true
              },
              "read_ops_per_sec": {
                "type": "number",
                "format": "double",
                "default": 0
              },
              "write_ops_per_sec": {
                "type": "number",
                "format": "double",
                "default": 0
              },
              "time_since_hb_sec": {
                "type": "number",
                "format": "double",
                "default": 0
              },
              "uptime_seconds": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "minimum": 0
              },
              "user_tablets_total": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "minimum": 0
              },
              "user_tablets_leaders": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "minimum": 0
              },
              "system_tablets_total": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "minimum": 0
              },
              "system_tablets_leaders": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "minimum": 0
              },
              "active_connections": {
                "type": "object",
                "properties": {
                  "ysql": {
                    "type": "integer",
                    "format": "int64",
                    "default": 0,
                    "minimum": 0
                  },
                  "ycql": {
                    "type": "integer",
                    "format": "int64",
                    "default": 0,
                    "minimum": 0
                  }
                },
                "required": [
                  "ysql",
                  "ycql"
                ]
              },
              "master_uptime_us": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "minimum": 0
              },
              "ram_used_bytes": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "minimum": 0
              },
              "ram_provisioned_bytes": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "minimum": 0
              },
              "disk_provisioned_bytes": {
                "type": "integer",
                "format": "int64",
                "default": 0,
                "minimum": 0
              }
            },
            "required": [
              "memory_used_bytes",
              "total_sst_file_size_bytes",
              "uncompressed_sst_file_size_bytes",
              "read_ops_per_sec",
              "write_ops_per_sec",
              "time_since_hb_sec",
              "uptime_seconds",
              "user_tablets_total",
              "user_tablets_leaders",
              "system_tablets_total",
              "system_tablets_leaders",
              "active_connections",
              "master_uptime_us",
              "ram_used_bytes",
              "ram_provisioned_bytes",
              "disk_provisioned_bytes"
            ]
          },
          "cloud_info": {
            "type": "object",
            "properties": {
              "cloud": {
                "type": "string"
              },
              "region": {
                "type": "string"
              },
              "zone": {
                "type": "string"
              }
            },
            "required": [
              "region",
              "zone"
            ]
          },
          "software_version": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "host",
          "is_node_up",
          "is_master",
          "is_tserver",
          "is_read_replica",
          "is_master_up",
          "is_bootstrapping",
          "cloud_info",
          "metrics",
          "software_version"
        ]
      },
      "MetricData": {
        "title": "Metric Data",
        "description": "Metric data",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the metric",
            "type": "string"
          },
          "values": {
            "description": "Array of (timestamp, value) tuples",
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "minItems": 2,
              "maxItems": 2
            }
          }
        },
        "required": [
          "name",
          "values"
        ]
      },
      "ActivityData": {
        "title": "Activity Data",
        "description": "Activity Data",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "data": {
            "type": "object"
          }
        },
        "required": [
          "name",
          "data"
        ]
      },
      "YbApiEnum": {
        "title": "Yb Api Enum",
        "description": "Type of DB API (YSQL/YCQL)",
        "type": "string",
        "enum": [
          "YSQL",
          "YCQL"
        ]
      },
      "ClusterTable": {
        "title": "Cluster Table Object",
        "description": "Model representing a DB table",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "nullable": false
          },
          "keyspace": {
            "type": "string",
            "minLength": 1,
            "nullable": false
          },
          "uuid": {
            "type": "string",
            "minLength": 1,
            "nullable": false
          },
          "type": {
            "$ref": "#/components/schemas/YbApiEnum"
          },
          "size_bytes": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        },
        "required": [
          "name",
          "keyspace",
          "uuid",
          "type",
          "size_bytes"
        ]
      },
      "ClusterTableData": {
        "title": "Cluster Table Data",
        "description": "List of cluster tables",
        "type": "array",
        "uniqueItems": true,
        "nullable": false,
        "items": {
          "$ref": "#/components/schemas/ClusterTable"
        }
      },
      "PlacementCloudInfo": {
        "title": "Placement Cloud Info",
        "description": "Placement Cloud Info",
        "type": "object",
        "properties": {
          "placement_cloud": {
            "type": "string"
          },
          "placement_region": {
            "type": "string"
          },
          "placement_zone": {
            "type": "string"
          }
        }
      },
      "PlacementBlock": {
        "title": "Placement Block",
        "description": "Placement Block",
        "type": "object",
        "properties": {
          "cloud_info": {
            "$ref": "#/components/schemas/PlacementCloudInfo"
          },
          "min_num_replicas": {
            "type": "integer"
          }
        }
      },
      "TableReplicationInfo": {
        "title": "TableReplicationInfo",
        "description": "TableReplicationInfo",
        "type": "object",
        "properties": {
          "num_replicas": {
            "type": "integer"
          },
          "placement_blocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlacementBlock"
            }
          },
          "placement_uuid": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ColumnInfo": {
        "title": "Column Info",
        "description": "Column Info",
        "type": "object",
        "properties": {
          "column": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        }
      },
      "RaftConfig": {
        "title": "Raft Config",
        "description": "Raft Config",
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "role": {
            "type": "string"
          },
          "location": {
            "type": "string"
          }
        }
      },
      "TabletInfo": {
        "title": "Tablet Info",
        "description": "Tablet Info",
        "type": "object",
        "properties": {
          "tablet_id": {
            "type": "string",
            "format": "uuid"
          },
          "partition": {
            "type": "string"
          },
          "split_depth": {
            "type": "integer"
          },
          "state": {
            "type": "string"
          },
          "hidden": {
            "type": "boolean"
          },
          "message": {
            "type": "string"
          },
          "raft_config": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RaftConfig"
            }
          }
        }
      },
      "TableInfo": {
        "title": "Table Info",
        "description": "Table Info",
        "type": "object",
        "properties": {
          "table_name": {
            "type": "string"
          },
          "table_id": {
            "type": "string",
            "format": "uuid"
          },
          "table_version": {
            "type": "integer"
          },
          "table_type": {
            "type": "string"
          },
          "table_state": {
            "type": "string"
          },
          "table_state_message": {
            "type": "string"
          },
          "table_tablespace_oid": {
            "type": "string"
          },
          "table_replication_info": {
            "type": "object",
            "properties": {
              "live_replicas": {
                "$ref": "#/components/schemas/TableReplicationInfo"
              },
              "read_replicas": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TableReplicationInfo"
                }
              }
            }
          },
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ColumnInfo"
            }
          },
          "tablets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TabletInfo"
            }
          }
        },
        "required": [
          "table_name",
          "table_id",
          "table_version",
          "table_type",
          "table_state",
          "table_state_message",
          "table_replication_info",
          "columns",
          "tablets"
        ]
      },
      "HealthCheckInfo": {
        "title": "Health Check Info",
        "type": "object",
        "properties": {
          "dead_nodes": {
            "type": "array",
            "description": "UUIDs of dead nodes",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "most_recent_uptime": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "under_replicated_tablets": {
            "type": "array",
            "description": "UUIDs of under-replicated tablets",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "leaderless_tablets": {
            "type": "array",
            "description": "UUIDs of leaderless tablets",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "dead_nodes",
          "most_recent_uptime",
          "under_replicated_tablets",
          "leaderless_tablets"
        ]
      },
      "ClusterTablet": {
        "title": "Cluster Tablet Object",
        "description": "Model representing a tablet",
        "type": "object",
        "properties": {
          "namespace": {
            "type": "string"
          },
          "table_name": {
            "type": "string"
          },
          "table_uuid": {
            "type": "string",
            "format": "uuid"
          },
          "tablet_id": {
            "type": "string",
            "format": "uuid"
          },
          "has_leader": {
            "type": "boolean"
          }
        },
        "required": [
          "namespace",
          "table_name",
          "table_uuid",
          "table_id",
          "has_leader"
        ]
      },
      "ClusterTabletData": {
        "title": "Cluster Tablet Data",
        "description": "List of cluster tablets",
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ClusterTablet"
        }
      },
      "VersionInfo": {
        "title": "YugabyteDB Version Info",
        "description": "YugabyteDB version info",
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          }
        }
      },
      "Gflag": {
        "title": "Gflag",
        "description": "Gflag",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        }
      },
      "GflagsInfo": {
        "title": "Gflags Info",
        "description": "Gflags Info",
        "type": "object",
        "properties": {
          "master_flags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Gflag"
            }
          },
          "tserver_flags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Gflag"
            }
          }
        },
        "required": [
          "master_flags",
          "tserver_flags"
        ]
      },
      "AlertsInfo": {
        "title": "Alerts Info",
        "description": "Alerts Info",
        "type": "object",
        "properties": {
          "name": {
            "description": "Name of alert",
            "type": "string"
          },
          "info": {
            "description": "Array of alerts",
            "type": "string"
          }
        },
        "required": [
          "name",
          "info"
        ]
      },
      "ConnectionStatsItem": {
        "type": "object",
        "properties": {
          "database_name": {
            "type": "string"
          },
          "user_name": {
            "type": "string"
          },
          "active_logical_connections": {
            "type": "integer",
            "format": "int64"
          },
          "queued_logical_connections": {
            "type": "integer",
            "format": "int64"
          },
          "waiting_logical_connections": {
            "type": "integer",
            "format": "int64"
          },
          "active_physical_connections": {
            "type": "integer",
            "format": "int64"
          },
          "idle_physical_connections": {
            "type": "integer",
            "format": "int64"
          },
          "avg_wait_time_ns": {
            "type": "integer",
            "format": "int64"
          },
          "qps": {
            "type": "integer",
            "format": "int64"
          },
          "tps": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "active_logical_connections",
          "queued_logical_connections",
          "waiting_logical_connections",
          "active_physical_connections",
          "idle_physical_connections",
          "avg_wait_time_ns",
          "qps",
          "tps"
        ]
      },
      "ConnectionStats": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ConnectionStatsItem"
        }
      },
      "ConnectionsStatsData": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ConnectionStats"
        }
      },
      "ConnectionsStats": {
        "title": "YSQL connection manager stats",
        "description": "YSQL connection manager stats",
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConnectionsStatsData"
          }
        }
      },
      "PITRSchedule": {
        "title": "List of PITR Schedules in the cluster",
        "description": "Details of a Point-in-Time Recovery (PITR) schedule",
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "databaseKeyspace": {
            "type": "string"
          },
          "interval": {
            "type": "string"
          },
          "retention": {
            "type": "string"
          },
          "earliestRecoverableTime": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "databaseKeyspace",
          "interval",
          "retention",
          "earliestRecoverableTime"
        ]
      },
      "BackupDetails": {
        "title": "Get Backup Details",
        "description": "Details of backup enabled on databases in YugabyteDB cluster",
        "type": "object",
        "properties": {
          "ybc_task_id": {
            "type": "string"
          },
          "tserver_ip": {
            "type": "string"
          },
          "user_operation": {
            "type": "string"
          },
          "ybdb_api": {
            "type": "string"
          },
          "database_keyspace": {
            "type": "string"
          },
          "task_start_time": {
            "type": "string"
          },
          "task_status": {
            "type": "string"
          },
          "time_taken": {
            "type": "string"
          },
          "bytes_transferred": {
            "type": "string"
          },
          "actual_size": {
            "type": "string"
          }
        },
        "required": [
          "ybc_task_id",
          "tserver_ip",
          "user_operation",
          "ybdb_api",
          "database_keyspace",
          "task_start_time",
          "task_status",
          "time_taken",
          "bytes_transferred",
          "actual_size"
        ]
      },
      "RestoreDetails": {
        "title": "Get Restore Details",
        "description": "Details of databases in YugabyteDB cluster on which restore operation in run",
        "type": "object",
        "properties": {
          "ybc_task_id": {
            "type": "string"
          },
          "tserver_ip": {
            "type": "string"
          },
          "user_operation": {
            "type": "string"
          },
          "ybdb_api": {
            "type": "string"
          },
          "database_keyspace": {
            "type": "string"
          },
          "task_start_time": {
            "type": "string"
          },
          "task_status": {
            "type": "string"
          },
          "time_taken": {
            "type": "string"
          },
          "bytes_transferred": {
            "type": "string"
          },
          "actual_size": {
            "type": "string"
          }
        },
        "required": [
          "ybc_task_id",
          "tserver_ip",
          "user_operation",
          "ybdb_api",
          "database_keyspace",
          "task_start_time",
          "task_status",
          "time_taken",
          "bytes_transferred",
          "actual_size"
        ]
      }
    },
    "requestBodies": {
      "ClusterSpec": {
        "description": "DB Cluster to be updated",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ClusterSpec"
            }
          }
        }
      }
    },
    "responses": {
      "xClusterResponse": {
        "description": "List of all xCluster replication groups",
        "content": {
          "application/json": {
            "schema": {
              "title": "xCluster Replication Groups",
              "type": "object",
              "properties": {
                "inbound_replication_groups": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "$ref": "#/components/schemas/xClusterInboundGroup"
                  }
                },
                "outbound_replication_groups": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "$ref": "#/components/schemas/xClusterOutboundGroup"
                  }
                }
              },
              "required": [
                "replication_groups"
              ]
            }
          }
        }
      },
      "ApiError": {
        "description": "API Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiError"
            }
          }
        }
      },
      "xClusterNamespaceResponse": {
        "description": "List of all namespaces and tables present in a replication group.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "title": "xCluster Namespace Metrics",
              "properties": {
                "replication_group_id": {
                  "type": "string",
                  "description": "Unique replication group id of each replication"
                },
                "namespace_list": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NamespacesInfo"
                  }
                },
                "source_placement_location": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/xClusterPlacementLocation"
                  }
                },
                "target_placement_location": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/xClusterPlacementLocation"
                  }
                },
                "source_universe_uuid": {
                  "type": "string"
                },
                "target_universe_uuid": {
                  "type": "string"
                }
              },
              "required": [
                "replication_group_id",
                "namespace_list"
              ]
            }
          }
        }
      },
      "VoyagerMigrationsResponse": {
        "description": "List of the Voyager migrations",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VoyagerMigrationsInfo"
            }
          }
        }
      },
      "MigrateSchemaResponse": {
        "description": "Response for individual migration task",
        "content": {
          "application/json": {
            "schema": {
              "title": "Individual Migration Task Info",
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/MigrateSchemaTaskInfo"
                }
              }
            }
          }
        }
      },
      "VoyagerDataMigrationMetricsResponse": {
        "description": "Voyager data migration metrics response",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VoyagerMigrateDataMetrics"
            }
          }
        }
      },
      "VoyagerAssessmentResponseV2": {
        "description": "Response for migration assessment page",
        "content": {
          "application/json": {
            "schema": {
              "title": "API for migration assessment page",
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/MigrationAssessmentReport"
                }
              }
            }
          }
        }
      },
      "AssessmentSourceDbResponse": {
        "description": "Response for migration assessment source db metadata page",
        "content": {
          "application/json": {
            "schema": {
              "title": "API for Source DB SQL objects metadata page",
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/AssessmentSourceDbObject"
                }
              }
            }
          }
        }
      },
      "AssessmentTargetRecommendationResponse": {
        "description": "Response for migration assessment target recommendation page",
        "content": {
          "application/json": {
            "schema": {
              "title": "API for Target Schema recommendations page",
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/AssessmentTargetRecommendationObject"
                }
              }
            }
          }
        }
      },
      "ClusterResponse": {
        "description": "Cluster response",
        "content": {
          "application/json": {
            "schema": {
              "title": "Cluster Response",
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/ClusterData"
                }
              }
            }
          }
        }
      },
      "LiveQueryResponse": {
        "description": "Live Queries of a Cluster",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/LiveQueryResponseSchema"
            }
          }
        }
      },
      "SlowQueryResponse": {
        "description": "Slow Queries of a Cluster",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SlowQueryResponseSchema"
            }
          }
        }
      },
      "ClusterNodeListResponse": {
        "description": "Cluster nodes response",
        "content": {
          "application/json": {
            "schema": {
              "title": "Cluster Nodes Response",
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "$ref": "#/components/schemas/NodeData"
                  }
                }
              },
              "required": [
                "data"
              ]
            }
          }
        }
      },
      "MetricResponse": {
        "description": "Metric response",
        "content": {
          "application/json": {
            "schema": {
              "title": "Metric Response",
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MetricData"
                  }
                },
                "start_timestamp": {
                  "description": "Start of range of results",
                  "type": "integer",
                  "format": "int64"
                },
                "end_timestamp": {
                  "description": "End of range of results",
                  "type": "integer",
                  "format": "int64"
                }
              },
              "required": [
                "data",
                "start_timestamp",
                "end_timestamp"
              ]
            }
          }
        }
      },
      "ActivityResponse": {
        "description": "Activities Response",
        "content": {
          "application/json": {
            "schema": {
              "title": "Activities Response",
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ActivityData"
                  }
                }
              },
              "required": [
                "data"
              ]
            }
          }
        }
      },
      "ClusterTableListResponse": {
        "description": "List of cluster tables",
        "content": {
          "application/json": {
            "schema": {
              "title": "Cluster table list response",
              "type": "object",
              "properties": {
                "tables": {
                  "$ref": "#/components/schemas/ClusterTableData"
                },
                "indexes": {
                  "$ref": "#/components/schemas/ClusterTableData"
                }
              },
              "required": [
                "tables",
                "indexes"
              ]
            }
          }
        }
      },
      "TableInfoResponse": {
        "description": "Information for a single table",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TableInfo"
            }
          }
        }
      },
      "HealthCheckResponse": {
        "description": "Successful health check response",
        "content": {
          "application/json": {
            "schema": {
              "title": "Health Check Response",
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/HealthCheckInfo"
                }
              }
            }
          }
        }
      },
      "ClusterTabletListResponse": {
        "description": "List of cluster tablets",
        "content": {
          "application/json": {
            "schema": {
              "title": "Cluster tablet list response",
              "type": "object",
              "properties": {
                "data": {
                  "$ref": "#/components/schemas/ClusterTabletData"
                }
              },
              "required": [
                "data"
              ]
            }
          }
        }
      },
      "VersionInfo": {
        "description": "Version info for YugabyteDB",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VersionInfo"
            }
          }
        }
      },
      "GflagsResponse": {
        "description": "Gflags information",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GflagsInfo"
            }
          }
        }
      },
      "AlertsResponse": {
        "description": "Alerts information",
        "content": {
          "application/json": {
            "schema": {
              "title": "Alerts Response",
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlertsInfo"
                  }
                }
              },
              "required": [
                "data"
              ]
            }
          }
        }
      },
      "ConnectionsResponse": {
        "description": "YSQL connection manager stats",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConnectionsStats"
            }
          }
        }
      },
      "NodeAddressResponse": {
        "description": "Node address",
        "content": {
          "text/plain": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "PITRScheduleListResponse": {
        "description": "List of PITR Schedules in the cluster",
        "content": {
          "application/json": {
            "schema": {
              "title": "PITR Schedule Response",
              "type": "object",
              "properties": {
                "schedules": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "$ref": "#/components/schemas/PITRSchedule"
                  }
                }
              },
              "required": [
                "schedules"
              ]
            }
          }
        }
      },
      "BackupDetailsListResponse": {
        "description": "Retrieve the list of databases on which backup is enabled in the YugabyteDB cluster.",
        "content": {
          "application/json": {
            "schema": {
              "title": "Backup Details",
              "type": "object",
              "properties": {
                "backup": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "$ref": "#/components/schemas/BackupDetails"
                  }
                }
              },
              "required": [
                "backup"
              ]
            }
          }
        }
      },
      "RestoreDetailsListResponse": {
        "description": "Retrieve the list of databases on which restore is run in the YugabyteDB cluster.",
        "content": {
          "application/json": {
            "schema": {
              "title": "Restore Details",
              "type": "object",
              "properties": {
                "restore": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "$ref": "#/components/schemas/RestoreDetails"
                  }
                }
              },
              "required": [
                "restore"
              ]
            }
          }
        }
      }
    },
    "securitySchemes": {
      "BearerAuthToken": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "BearerAuthToken": []
    }
  ]
}