Confluent Private RBAC UI - Cluster Visibility API
Identify which clusters a user has access to.
Identify which clusters a user has access to.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/confluent:confluent-private-rbac-ui-cluster-visibility-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
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 Private RBAC UI - Cluster Visibility API
version: '1.0'
x-api-id: 9a0c4222-9190-4816-b872-1a9cf002afab
x-audience: external-public
servers:
- url: /
security:
- basicAuth: []
- bearerAuth: []
tags:
- description: Identify which clusters a user has access to.
name: Private RBAC UI - Cluster Visibility
paths:
/security/1.0/lookup/principals/{principal}/visibility:
post:
description: 'The intent is that this endpoint is called with cluster IDs that
actually exist.
Callable by Admins+User.'
operationId: visibility
parameters:
- description: Fully-qualified KafkaPrincipal string for a user or group.
example: User:bob
explode: false
in: path
name: principal
required: true
schema:
pattern: (^User:.+$)|(^Group:.+$)
type: string
style: simple
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/VisibilityRequest'
type: array
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/VisibilityResponse'
description: Returns cluster IDs and true/false if the user has any role associated with it.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Endpoint for Confluent Control Center to determine visibilty of Kafka and its…
tags:
- Private RBAC UI - Cluster Visibility
/security/1.0/lookup/managed/clusters/principal/{principal}:
get:
description: 'May include rolebindings from scopes and clusters that never existed or previously existed
(in other words, rolebindings that have been decommissioned, but are still defined in the system).
Callable by Admins+User.'
operationId: listManagedClusters
parameters:
- description: Fully-qualified KafkaPrincipal string for a user or group.
example: User:bob
explode: false
in: path
name: principal
required: true
schema:
pattern: (^User:.+$)|(^Group:.+$)
type: string
style: simple
- description: 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/Scope'
type: array
description: List of Scopes
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Identifies the scopes for the rolebindings that a user can see
tags:
- Private RBAC UI - Cluster Visibility
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
ClusterVisibility:
example:
visible: true
clusterName: stagingKafkaCluster
id: clusterId
properties:
id:
example: clusterId
type: string
visible:
type: boolean
clusterName:
example: stagingKafkaCluster
type:
- string
- 'null'
type: object
VisibilityRequest:
example:
kafka-cluster: kafka-id
ksql-clusters:
- ksql-cluster-id
- ksql-cluster-id
connect-clusters:
- connect-cluster-id
- connect-cluster-id
schema-registry-clusters:
- schema-registry-id
- schema-registry-id
properties:
kafka-cluster:
example: kafka-id
type: string
connect-clusters:
items:
example: connect-cluster-id
type: string
type: array
schema-registry-clusters:
items:
example: schema-registry-id
type: string
type: array
ksql-clusters:
items:
example: ksql-cluster-id
type: string
type: array
required:
- kafka-cluster
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
ErrorDetail:
properties:
error_type:
type: string
message:
type: string
required:
- error_type
- type
type: object
VisibilityResponse:
example:
kafka-cluster:
visible: true
clusterName: stagingKafkaCluster
id: clusterId
ksql-clusters:
- visible: true
clusterName: stagingKafkaCluster
id: clusterId
- visible: true
clusterName: stagingKafkaCluster
id: clusterId
connect-clusters:
- visible: true
clusterName: stagingKafkaCluster
id: clusterId
- visible: true
clusterName: stagingKafkaCluster
id: clusterId
schema-registry-clusters:
- visible: true
clusterName: stagingKafkaCluster
id: clusterId
- visible: true
clusterName: stagingKafkaCluster
id: clusterId
properties:
kafka-cluster:
$ref: '#/components/schemas/ClusterVisibility'
connect-clusters:
items:
$ref: '#/components/schemas/ClusterVisibility'
type: array
schema-registry-clusters:
items:
$ref: '#/components/schemas/ClusterVisibility'
type: array
ksql-clusters:
items:
$ref: '#/components/schemas/ClusterVisibility'
type: array
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