openapi: 3.2.0 info: description: '## Confluent Metadata API - Swagger UI --- This tool (SwaggerUI) and the Open API spec file are provided _for development / test purposes only_: - **Do _not_ enable in Production.** - **This tool only works with HTTP.** ### Authenticating Authentication is performed by HTTP Basic Auth or by presenting a bearer token.' title: MDS Cluster Registry API version: '1.0' x-api-id: 9a0c4222-9190-4816-b872-1a9cf002afab x-audience: external-public servers: - url: / security: - basicAuth: [] - bearerAuth: [] tags: - description: Tracking and naming clusters. name: Cluster Registry paths: /security/1.0/registry/clusters: get: description: 'If the calling principal doesn''t have permissions to see the full cluster info, some information ("hosts", "protocol", etc) is redacted. Callable by Admins+User.' operationId: clusterRegistryList parameters: - description: Optionally filter down by cluster type. example: kafka-cluster explode: true in: query name: clusterType required: false schema: pattern: ^((kafka)|(ksql)|(connect)|(schema-registry))-cluster$ type: string style: form responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/ClusterInfo' type: array description: List of Clusters. default: content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Error Response summary: Returns a list of all clusters in the registry, optionally filtered by cluster… tags: - Cluster Registry post: description: 'May result in a 409 Conflict if the name and scope combination of any cluster conflicts with existing clusters in the registry. Callable by Admins.' operationId: updateClusters requestBody: content: application/json: schema: items: $ref: '#/components/schemas/ClusterInfo' type: array required: true responses: '204': description: Clusters added. default: content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Error Response summary: Define/overwrite named clusters tags: - Cluster Registry /security/1.0/registry/clusters/{clusterName}: delete: description: Callable by Admins. operationId: deleteNamedCluster parameters: - description: The name of cluster (ASCII printable characters without spaces). explode: false in: path name: clusterName required: true schema: type: string style: simple responses: '204': description: Cluster removed. default: content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Error Response summary: Remove a named cluster from the registry tags: - Cluster Registry get: description: Callable by Admins+User. operationId: getNamedCluster parameters: - description: The name of cluster (ASCII printable characters without spaces). example: StagingKSQLCluster explode: false in: path name: clusterName required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/ClusterInfo' description: The named cluster, if it exists and the caller has permission to see it. default: content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Error Response summary: Returns the information for a single named cluster, assuming the cluster exists… tags: - Cluster Registry components: schemas: Scope: example: clusters: kafka-cluster: kafkaClusterId schema-registry-cluster: schemaRegistryClusterId flink-environment: flinkEnvironmentId ksql-cluster: ksqlClusterId cmf: cmfId connect-cluster: connectClusterId properties: clusters: $ref: '#/components/schemas/Scope_clusters' required: - clusters type: object HostInfo: example: port: 9092 host: 10.10.10.10 properties: host: example: 10.10.10.10 type: string port: example: 9092 type: integer type: object ErrorResponse: properties: status_code: description: Optional - http status code example: 400 type: integer error_code: description: Optional - Kafka error code (typically 5 digits) type: integer type: description: Optional - Type of error example: INVALID REQUEST DATA type: string message: description: Required - Top level error message example: Bad request type: string errors: description: Optional - List of errors items: $ref: '#/components/schemas/ErrorDetail' type: array required: - message type: object Protocol: enum: - SASL_PLAINTEXT - SASL_SSL - HTTP - HTTPS example: SASL_PLAINTEXT type: string ErrorDetail: properties: error_type: type: string message: type: string required: - error_type - type type: object ClusterInfo: example: protocol: SASL_PLAINTEXT hosts: - port: 9092 host: 10.10.10.10 - port: 9092 host: 10.10.10.10 clusterName: StagingKSQLCluster scope: clusters: kafka-cluster: kafkaClusterId schema-registry-cluster: schemaRegistryClusterId flink-environment: flinkEnvironmentId ksql-cluster: ksqlClusterId cmf: cmfId connect-cluster: connectClusterId properties: clusterName: example: StagingKSQLCluster type: string scope: $ref: '#/components/schemas/Scope' hosts: items: $ref: '#/components/schemas/HostInfo' type: array protocol: $ref: '#/components/schemas/Protocol' type: object Scope_clusters: example: kafka-cluster: kafkaClusterId schema-registry-cluster: schemaRegistryClusterId flink-environment: flinkEnvironmentId ksql-cluster: ksqlClusterId cmf: cmfId connect-cluster: connectClusterId properties: kafka-cluster: example: kafkaClusterId type: string connect-cluster: example: connectClusterId type: string ksql-cluster: example: ksqlClusterId type: string schema-registry-cluster: example: schemaRegistryClusterId type: string cmf: example: cmfId type: string flink-environment: example: flinkEnvironmentId type: string type: object securitySchemes: basicAuth: scheme: basic type: http bearerAuth: bearerFormat: JWT scheme: bearer type: http