Confluent Kafka ACL Management API
Endpoints to create, delete, and list Kafka ACLs.
Endpoints to create, delete, and list Kafka ACLs.
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-kafka-acl-management-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 Kafka ACL Management API
version: '1.0'
x-api-id: 9a0c4222-9190-4816-b872-1a9cf002afab
x-audience: external-public
servers:
- url: /
security:
- basicAuth: []
- bearerAuth: []
tags:
- description: Endpoints to create, delete, and list Kafka ACLs.
name: Kafka ACL Management
paths:
/security/1.0/acls:
delete:
description: Callable by Admins+AclUsers.
operationId: removeAclBindings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AclFilterRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AclBindings'
description: Deleted AclBindings.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Deletes Kafka ACLs according to the supplied filter
tags:
- Kafka ACL Management
post:
description: Callable by Admins+AclUsers.
operationId: addAclBinding
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAclRequest'
required: true
responses:
'204':
description: Added AclBinding.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Creates Kafka ACLs for given AclBinding
tags:
- Kafka ACL Management
/security/1.0/acls:search:
post:
description: Callable by Admins+AclUsers.
operationId: searchAclBinding
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AclFilterRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AclBindings'
description: Returns all AclBindings that match the given AclBindingFilter.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Lists Kafka ACLs according to the supplied filter
tags:
- Kafka ACL Management
components:
schemas:
KafkaResourcePatternFilter:
example:
name: clicksTopic1
patternType: LITERAL
resourceType: TOPIC
properties:
resourceType:
$ref: '#/components/schemas/AclResourceType'
name:
example: clicksTopic1
type: string
patternType:
$ref: '#/components/schemas/PatternType'
required:
- patternType
- resourceType
type: object
AclBinding:
example:
entry:
principal: User:bob
permissionType: ALLOW
host: host
operation: ALL
pattern:
name: clicksTopic1
patternType: LITERAL
resourceType: TOPIC
properties:
pattern:
$ref: '#/components/schemas/KafkaResourcePattern'
entry:
$ref: '#/components/schemas/AccessControlEntry'
required:
- entry
- pattern
type: object
AccessControlEntryFilter:
example:
principal: principal
permissionType: ALLOW
host: host
operation: ALL
properties:
principal:
pattern: ^User:.+$
type: string
host:
type: string
operation:
$ref: '#/components/schemas/AclOperation'
permissionType:
$ref: '#/components/schemas/AclPermissionType'
required:
- operation
- permissionType
type: object
CreateAclRequest:
example:
aclBinding:
entry:
principal: User:bob
permissionType: ALLOW
host: host
operation: ALL
pattern:
name: clicksTopic1
patternType: LITERAL
resourceType: TOPIC
scope:
clusters:
kafka-cluster: kafka-cluster
properties:
scope:
$ref: '#/components/schemas/KafkaScope'
aclBinding:
$ref: '#/components/schemas/AclBinding'
required:
- aclBinding
- scope
type: object
KafkaScope_clusters:
example:
kafka-cluster: kafka-cluster
properties:
kafka-cluster:
type: string
required:
- kafka-cluster
type: object
KafkaResourcePattern:
example:
name: clicksTopic1
patternType: LITERAL
resourceType: TOPIC
properties:
resourceType:
$ref: '#/components/schemas/AclResourceType'
name:
example: clicksTopic1
type: string
patternType:
$ref: '#/components/schemas/PatternType'
required:
- name
- patternType
- resourceType
type: object
AclResourceType:
enum:
- UNKNOWN
- ANY
- TOPIC
- GROUP
- CLUSTER
- TRANSACTIONAL_ID
example: TOPIC
type: string
AclPermissionType:
enum:
- UNKNOWN
- ANY
- DENY
- ALLOW
example: ALLOW
type: string
AclBindings:
items:
$ref: '#/components/schemas/AclBinding'
type: array
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
AccessControlEntry:
example:
principal: User:bob
permissionType: ALLOW
host: host
operation: ALL
properties:
principal:
example: User:bob
pattern: ^User:.+$
type: string
host:
type: string
operation:
$ref: '#/components/schemas/AclOperation'
permissionType:
$ref: '#/components/schemas/AclPermissionType'
required:
- host
- operation
- permissionType
- principal
type: object
ErrorDetail:
properties:
error_type:
type: string
message:
type: string
required:
- error_type
- type
type: object
PatternType:
enum:
- UNKNOWN
- ANY
- MATCH
- LITERAL
- PREFIXED
example: LITERAL
type: string
AclOperation:
enum:
- UNKNOWN
- ANY
- ALL
- READ
- WRITE
- CREATE
- DELETE
- ALTER
- DESCRIBE
- CLUSTER_ACTION
- DESCRIBE_CONFIGS
- ALTER_CONFIGS
- IDEMPOTENT_WRITE
example: ALL
type: string
AclFilterRequest:
example:
scope:
clusters:
kafka-cluster: kafka-cluster
aclBindingFilter:
patternFilter:
name: clicksTopic1
patternType: LITERAL
resourceType: TOPIC
entryFilter:
principal: principal
permissionType: ALLOW
host: host
operation: ALL
properties:
scope:
$ref: '#/components/schemas/KafkaScope'
aclBindingFilter:
$ref: '#/components/schemas/AclBindingFilter'
required:
- aclBindingFilter
- scope
type: object
KafkaScope:
example:
clusters:
kafka-cluster: kafka-cluster
properties:
clusters:
$ref: '#/components/schemas/KafkaScope_clusters'
required:
- clusters
type: object
AclBindingFilter:
example:
patternFilter:
name: clicksTopic1
patternType: LITERAL
resourceType: TOPIC
entryFilter:
principal: principal
permissionType: ALLOW
host: host
operation: ALL
properties:
patternFilter:
$ref: '#/components/schemas/KafkaResourcePatternFilter'
entryFilter:
$ref: '#/components/schemas/AccessControlEntryFilter'
required:
- entryFilter
- patternFilter
type: object
securitySchemes:
basicAuth:
scheme: basic
type: http
bearerAuth:
bearerFormat: JWT
scheme: bearer
type: http