Confluent RBAC - RoleBinding CRUD API
CRUD rolebindings for users and groups.
CRUD rolebindings for users and groups.
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-rbac-rolebinding-crud-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 RBAC - RoleBinding CRUD API
version: '1.0'
x-api-id: 9a0c4222-9190-4816-b872-1a9cf002afab
x-audience: external-public
servers:
- url: /
security:
- basicAuth: []
- bearerAuth: []
tags:
- description: CRUD rolebindings for users and groups.
name: RBAC - RoleBinding CRUD
paths:
/security/1.0/principals/{principal}/roles/{roleName}:
delete:
description: 'No-op if the user doesn''t have the role.
Callable by Admins.'
operationId: deleteRoleForPrincipal
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: The name of the role.
example: DeveloperRead
explode: false
in: path
name: roleName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MdsScope'
required: true
responses:
'204':
description: Role removal processed.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Remove the role (cluster or resource scoped) from the principal at the given…
tags:
- RBAC - RoleBinding CRUD
post:
description: Callable by Admins.
operationId: addRoleForPrincipal
parameters:
- description: Fully-qualified KafkaPrincipal string for a user or group.
example: User:alice
explode: false
in: path
name: principal
required: true
schema:
pattern: (^User:.+$)|(^Group:.+$)
type: string
style: simple
- description: The name of the cluster-scoped role to bind the user to.
example: UserAdmin
explode: false
in: path
name: roleName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MdsScope'
required: true
responses:
'204':
description: Role Granted
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Binds the principal to a cluster-scoped role for a specific cluster or in the…
tags:
- RBAC - RoleBinding CRUD
/security/1.0/principals/{principal}/roles/{roleName}/resources:
post:
description: Callable by Admins.
operationId: getRoleResourcesForPrincipal
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: The name of the role.
example: DeveloperRead
explode: false
in: path
name: roleName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MdsScope'
required: true
responses:
'200':
content:
application/json:
example:
- resourceType: Topic
name: clicksTopic1
patternType: LITERAL
- resourceType: Topic
name: orders-2019
patternType: PREFIXED
schema:
items:
$ref: '#/components/schemas/ResourcePattern'
type: array
description: Granted
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Look up the rolebindings for the principal at the given scope/cluster using the…
tags:
- RBAC - RoleBinding CRUD
/security/1.0/principals/{principal}/roles/{roleName}/bindings:
delete:
description: Callable by Admins+ResourceOwners.
operationId: removeRoleResourcesForPrincipal
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: The name of the role.
example: DeveloperRead
explode: false
in: path
name: roleName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcesRequest'
required: true
responses:
'204':
description: Resources Removed
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Incrementally remove the resources from the principal at the given…
tags:
- RBAC - RoleBinding CRUD
post:
description: Callable by Admins+ResourceOwners.
operationId: addRoleResourcesForPrincipal
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: The name of the role.
example: DeveloperRead
explode: false
in: path
name: roleName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcesRequest'
required: true
responses:
'204':
description: Granted
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Incrementally grant the resources to the principal at the given scope/cluster…
tags:
- RBAC - RoleBinding CRUD
put:
description: Callable by Admins+ResourceOwners.
operationId: setRoleResourcesForPrincipal
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: The name of the role.
example: DeveloperRead
explode: false
in: path
name: roleName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcesRequest'
required: true
responses:
'204':
description: Resources Set
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Overwrite existing resource grants
tags:
- RBAC - RoleBinding CRUD
components:
schemas:
ResourcePattern:
example:
name: clicksTopic1
patternType: LITERAL
resourceType: Topic
properties:
resourceType:
example: Topic
type: string
name:
example: clicksTopic1
type: string
patternType:
example: LITERAL
pattern: (^LITERAL$)|(^PREFIXED$)
type: string
required:
- name
- patternType
- resourceType
type: object
ResourcesRequest:
example:
resourcePatterns:
- name: clicksTopic1
patternType: LITERAL
resourceType: Topic
- name: clicksTopic1
patternType: LITERAL
resourceType: Topic
scope:
clusterName: StagingCluster
clusters:
kafka-cluster: kafkaClusterId
schema-registry-cluster: schemaRegistryClusterId
flink-environment: flinkEnvironmentId
ksql-cluster: ksqlClusterId
cmf: cmfId
connect-cluster: connectClusterId
properties:
scope:
$ref: '#/components/schemas/MdsScope'
resourcePatterns:
items:
$ref: '#/components/schemas/ResourcePattern'
type: array
required:
- resourcePatterns
- scope
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
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
MdsScope:
example:
clusterName: StagingCluster
clusters:
kafka-cluster: kafkaClusterId
schema-registry-cluster: schemaRegistryClusterId
flink-environment: flinkEnvironmentId
ksql-cluster: ksqlClusterId
cmf: cmfId
connect-cluster: connectClusterId
properties:
clusterName:
example: StagingCluster
type: string
clusters:
$ref: '#/components/schemas/Scope_clusters'
type: object
securitySchemes:
basicAuth:
scheme: basic
type: http
bearerAuth:
bearerFormat: JWT
scheme: bearer
type: http