Confluent | the Data Streaming Platform · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Confluent Cloud ACL (v3) API

5 actions 5 updates phrasing extends openapi/confluent-the-data-streaming-platform-acl-v3-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Confluent | the Data Streaming Platform's API. It is a proposal applied on top of the contract, not a document Confluent | the Data Streaming Platform publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 5

$.info
$.paths['/kafka/v3/clusters/{cluster_id}/acls:batch'].post
$.paths['/kafka/v3/clusters/{cluster_id}/acls'].get
$.paths['/kafka/v3/clusters/{cluster_id}/acls'].post
$.paths['/kafka/v3/clusters/{cluster_id}/acls'].delete

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Confluent Cloud ACL (v3) API
  version: 1.0.0
extends: openapi/confluent-the-data-streaming-platform-acl-v3-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 4
- target: $.paths['/kafka/v3/clusters/{cluster_id}/acls:batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Create several Kafka ACLs at once
      effect: write
      questions:
      - Can I create many Kafka ACLs in a single request?
      - Is there a batch way to grant a service account several permissions?
      instructions:
      - text: Batch create the ACLs {data} in cluster {cluster_id}.
        slots:
          data: requestBody.data
          cluster_id: path.cluster_id
      - text: Add this list of ACL entries {data} to {cluster_id} in one call.
        slots:
          data: requestBody.data
          cluster_id: path.cluster_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/acls'].get
  update:
    x-apievangelist-phrasing:
      intent: Search Kafka ACLs
      effect: read
      questions:
      - Which ACLs grant a given principal access in my cluster?
      - How do I get service accounts back in sa-xxx format when listing ACLs?
      - Can I find all ACLs on a particular topic?
      instructions:
      - text: List ACLs in cluster {cluster_id} for principal {principal}.
        slots:
          cluster_id: path.cluster_id
          principal: query.principal
      - text: Find ACLs on {resource_type} {resource_name} in {cluster_id}.
        slots:
          resource_type: query.resource_type
          resource_name: query.resource_name
          cluster_id: path.cluster_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/acls'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a Kafka ACL
      effect: write
      questions:
      - How do I grant a principal read access to a topic with an ACL?
      - What fields does a single Kafka ACL need?
      instructions:
      - text: 'Add a {permission} ACL in {cluster_id}: {principal} may {operation} {resource_type} {resource_name} ({pattern_type}) from host {host}.'
        slots:
          cluster_id: path.cluster_id
          principal: requestBody.principal
          operation: requestBody.operation
          resource_type: requestBody.resource_type
          resource_name: requestBody.resource_name
          pattern_type: requestBody.pattern_type
          host: requestBody.host
          permission: requestBody.permission
      - text: Grant {principal} {operation} permission on topic {resource_name} in cluster {cluster_id}.
        slots:
          principal: requestBody.principal
          operation: requestBody.operation
          resource_name: requestBody.resource_name
          cluster_id: path.cluster_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/acls'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete matching Kafka ACLs
      effect: destructive
      questions:
      - Can I revoke every ACL matching a resource and operation in one call?
      - How are ACLs chosen for deletion when I pass match criteria?
      instructions:
      - text: Delete ACLs in {cluster_id} matching {resource_type}, pattern {pattern_type}, operation {operation}, permission {permission}.
        slots:
          cluster_id: path.cluster_id
          resource_type: query.resource_type
          pattern_type: query.pattern_type
          operation: query.operation
          permission: query.permission
      - text: Revoke the ACLs for {principal} on {resource_type} {resource_name} in {cluster_id} with pattern {pattern_type}, operation {operation}, permission {permission}.
        slots:
          principal: query.principal
          resource_type: query.resource_type
          resource_name: query.resource_name
          cluster_id: path.cluster_id
          pattern_type: query.pattern_type
          operation: query.operation
          permission: query.permission
      method: generated
      generated: '2026-09-26'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/confluent-the-data-streaming-platform-acl-v3-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

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.