openapi: 3.1.0 info: title: Confluent Kafka REST Proxy API description: >- The Kafka REST Proxy provides a RESTful interface to an Apache Kafka cluster, making it easy to produce and consume messages, view the state of the cluster, and perform administrative actions without using the native Kafka protocol or clients. version: 3.0.0 contact: name: Apache Kafka url: https://kafka.apache.org/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: http://localhost:8082 description: Default Kafka REST Proxy paths: /clusters: get: summary: Apache kafka List Clusters operationId: listClusters tags: - Cluster responses: '200': description: List of Kafka clusters content: application/json: schema: type: object properties: kind: type: string metadata: type: object data: type: array items: $ref: '#/components/schemas/Cluster' examples: listClusters200Example: summary: Default listClusters 200 response x-microcks-default: true value: kind: example-value metadata: {} data: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /clusters/{cluster_id}: get: summary: Apache kafka Get Cluster operationId: getCluster tags: - Cluster parameters: - name: cluster_id in: path required: true schema: type: string example: item-6938 responses: '200': description: Cluster details content: application/json: schema: $ref: '#/components/schemas/Cluster' examples: getCluster200Example: summary: Default getCluster 200 response x-microcks-default: true value: kind: example-value metadata: {} cluster_id: item-9562 controller: {} brokers: {} topics: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /clusters/{cluster_id}/topics: get: summary: Apache kafka List Topics operationId: listTopics tags: - Topic parameters: - name: cluster_id in: path required: true schema: type: string example: item-8966 responses: '200': description: List of topics content: application/json: schema: type: object properties: kind: type: string metadata: type: object data: type: array items: $ref: '#/components/schemas/Topic' examples: listTopics200Example: summary: Default listTopics 200 response x-microcks-default: true value: kind: example-value metadata: {} data: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK post: summary: Apache kafka Create Topic operationId: createTopic tags: - Topic parameters: - name: cluster_id in: path required: true schema: type: string example: item-1233 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateTopicRequest' examples: createTopicRequestExample: summary: Default createTopic request x-microcks-default: true value: topic_name: example-name partitions_count: 41 replication_factor: 98 configs: [] responses: '201': description: Topic created content: application/json: schema: $ref: '#/components/schemas/Topic' examples: createTopic201Example: summary: Default createTopic 201 response x-microcks-default: true value: kind: example-value metadata: {} cluster_id: item-7996 topic_name: example-name is_internal: true replication_factor: 37 partitions_count: 24 partitions: {} configs: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /clusters/{cluster_id}/topics/{topic_name}: get: summary: Apache kafka Get Topic operationId: getTopic tags: - Topic parameters: - name: cluster_id in: path required: true schema: type: string example: item-8264 - name: topic_name in: path required: true schema: type: string example: example-name responses: '200': description: Topic details content: application/json: schema: $ref: '#/components/schemas/Topic' examples: getTopic200Example: summary: Default getTopic 200 response x-microcks-default: true value: kind: example-value metadata: {} cluster_id: item-5190 topic_name: example-name is_internal: true replication_factor: 52 partitions_count: 28 partitions: {} configs: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: summary: Apache kafka Delete Topic operationId: deleteTopic tags: - Topic parameters: - name: cluster_id in: path required: true schema: type: string example: item-9796 - name: topic_name in: path required: true schema: type: string example: example-name responses: '204': description: Topic deleted x-microcks-operation: delay: 0 dispatcher: FALLBACK /clusters/{cluster_id}/topics/{topic_name}/partitions: get: summary: Apache kafka List Partitions operationId: listPartitions tags: - Partition parameters: - name: cluster_id in: path required: true schema: type: string example: item-7679 - name: topic_name in: path required: true schema: type: string example: example-name responses: '200': description: List of partitions content: application/json: schema: type: object properties: kind: type: string data: type: array items: $ref: '#/components/schemas/Partition' examples: listPartitions200Example: summary: Default listPartitions 200 response x-microcks-default: true value: kind: example-value data: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /clusters/{cluster_id}/consumer-groups: get: summary: Apache kafka List Consumer Groups operationId: listConsumerGroups tags: - Consumer Group parameters: - name: cluster_id in: path required: true schema: type: string example: item-6701 responses: '200': description: List of consumer groups content: application/json: schema: type: object properties: kind: type: string data: type: array items: $ref: '#/components/schemas/ConsumerGroup' examples: listConsumerGroups200Example: summary: Default listConsumerGroups 200 response x-microcks-default: true value: kind: example-value data: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /clusters/{cluster_id}/consumer-groups/{consumer_group_id}: get: summary: Apache kafka Get Consumer Group operationId: getConsumerGroup tags: - Consumer Group parameters: - name: cluster_id in: path required: true schema: type: string example: item-8506 - name: consumer_group_id in: path required: true schema: type: string example: item-4788 responses: '200': description: Consumer group details content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' examples: getConsumerGroup200Example: summary: Default getConsumerGroup 200 response x-microcks-default: true value: kind: example-value metadata: {} cluster_id: item-8575 consumer_group_id: item-7715 is_simple: true partition_assignor: example-value state: UNKNOWN coordinator: {} consumers: {} lag_summary: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /clusters/{cluster_id}/brokers: get: summary: Apache kafka List Brokers operationId: listBrokers tags: - Broker parameters: - name: cluster_id in: path required: true schema: type: string example: item-2365 responses: '200': description: List of brokers content: application/json: schema: type: object properties: kind: type: string data: type: array items: $ref: '#/components/schemas/Broker' examples: listBrokers200Example: summary: Default listBrokers 200 response x-microcks-default: true value: kind: example-value data: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /clusters/{cluster_id}/acls: get: summary: Apache kafka Search ACLs operationId: searchAcls tags: - ACL parameters: - name: cluster_id in: path required: true schema: type: string example: item-5726 - name: resource_type in: query schema: type: string enum: [UNKNOWN, ANY, TOPIC, GROUP, CLUSTER, TRANSACTIONAL_ID, DELEGATION_TOKEN] example: UNKNOWN - name: pattern_type in: query schema: type: string enum: [UNKNOWN, ANY, MATCH, LITERAL, PREFIXED] example: UNKNOWN responses: '200': description: List of ACLs content: application/json: schema: type: object properties: kind: type: string data: type: array items: $ref: '#/components/schemas/Acl' examples: searchAcls200Example: summary: Default searchAcls 200 response x-microcks-default: true value: kind: example-value data: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK post: summary: Apache kafka Create ACLs operationId: createAcls tags: - ACL parameters: - name: cluster_id in: path required: true schema: type: string example: item-7456 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAclRequest' examples: createAclsRequestExample: summary: Default createAcls request x-microcks-default: true value: resource_type: example-value resource_name: example-name pattern_type: example-value principal: example-value host: example-value operation: example-value permission: example-value responses: '201': description: ACL created x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: summary: Apache kafka Delete ACLs operationId: deleteAcls tags: - ACL parameters: - name: cluster_id in: path required: true schema: type: string example: item-2190 responses: '200': description: ACLs deleted x-microcks-operation: delay: 0 dispatcher: FALLBACK /topics/{topic_name}/records: post: summary: Apache kafka Produce Records to a Topic operationId: produceRecords tags: - Records parameters: - name: topic_name in: path required: true schema: type: string example: example-name requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProduceRequest' examples: produceRecordsRequestExample: summary: Default produceRecords request x-microcks-default: true value: partition_id: 46 headers: [] key: {} value: {} responses: '200': description: Records produced content: application/json: schema: $ref: '#/components/schemas/ProduceResponse' examples: produceRecords200Example: summary: Default produceRecords 200 response x-microcks-default: true value: error_code: 17 cluster_id: item-5744 topic_name: example-name partition_id: 25 offset: 62 timestamp: '2025-03-15T14:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: Cluster: type: object properties: kind: type: string metadata: type: object properties: self: type: string resource_name: type: string cluster_id: type: string controller: type: object properties: related: type: string brokers: type: object properties: related: type: string topics: type: object properties: related: type: string Topic: type: object properties: kind: type: string metadata: type: object cluster_id: type: string topic_name: type: string is_internal: type: boolean replication_factor: type: integer partitions_count: type: integer partitions: type: object properties: related: type: string configs: type: object properties: related: type: string CreateTopicRequest: type: object required: - topic_name properties: topic_name: type: string partitions_count: type: integer replication_factor: type: integer configs: type: array items: type: object properties: name: type: string value: type: string Partition: type: object properties: kind: type: string metadata: type: object cluster_id: type: string topic_name: type: string partition_id: type: integer leader: type: object replicas: type: array items: type: object ConsumerGroup: type: object properties: kind: type: string metadata: type: object cluster_id: type: string consumer_group_id: type: string is_simple: type: boolean partition_assignor: type: string state: type: string enum: [UNKNOWN, PREPARING_REBALANCE, COMPLETING_REBALANCE, STABLE, DEAD, EMPTY] coordinator: type: object consumers: type: object lag_summary: type: object Broker: type: object properties: kind: type: string metadata: type: object cluster_id: type: string broker_id: type: integer host: type: string port: type: integer Acl: type: object properties: kind: type: string metadata: type: object cluster_id: type: string resource_type: type: string resource_name: type: string pattern_type: type: string principal: type: string host: type: string operation: type: string permission: type: string CreateAclRequest: type: object required: - resource_type - resource_name - pattern_type - principal - host - operation - permission properties: resource_type: type: string resource_name: type: string pattern_type: type: string principal: type: string host: type: string operation: type: string permission: type: string ProduceRequest: type: object properties: partition_id: type: integer headers: type: array items: type: object properties: name: type: string value: type: string key: type: object properties: type: type: string enum: [BINARY, JSON, AVRO, PROTOBUF, JSONSCHEMA] data: {} value: type: object properties: type: type: string enum: [BINARY, JSON, AVRO, PROTOBUF, JSONSCHEMA] data: {} ProduceResponse: type: object properties: error_code: type: integer cluster_id: type: string topic_name: type: string partition_id: type: integer offset: type: integer timestamp: type: string format: date-time