openapi: 3.0.0 info: title: REST Admin API version: 3.0.0 contact: name: Kafka REST Team url: https://confluent.slack.com/app_redirect?channel=kafka-rest-eng email: kafka-clients-proxy-team@confluent.io x-api-id: 499e3476-71e0-4d6f-b4f9-6776cec6df27 x-api-group: v3 x-audience: external-public x-tag-group: Cluster Admin for Kafka (%s) servers: - url: "{protocol}://{address}:{port}/v3" x-audience: component-internal description: Kafka REST Proxy. See https://docs.confluent.io/current/kafka-rest/index.html. variables: address: default: localhost description: Address of the server port: default: "8082" description: Port of the server protocol: default: http description: Protocol for interacting with server enum: - http - https - url: "{protocol}://{address}:{port}/kafka/v3" x-audience: component-internal description: Kafka REST Proxy as part of Confluent Server. variables: protocol: default: http enum: - http - https description: Protocol to communicate with the server address: default: localhost description: Address of the server port: default: "8090" description: Port of the server - url: https://pkc-00000.region.provider.confluent.cloud/kafka/v3 x-audience: business-unit-internal description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud paths: /clusters: x-audience: component-internal get: summary: 'List Clusters' description: |- [](#section/Versioning/API-Lifecycle-Policy) 'Returns a list of known Kafka clusters. Currently both Kafka and Kafka REST Proxy are only aware of the Kafka cluster pointed at by the ``bootstrap.servers`` configuration. Therefore only one Kafka cluster will be returned in the response.' tags: - Cluster responses: '200': $ref: '#/components/responses/ListClustersResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'Get Cluster' operationId: getKafkaV3Cluster description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the Kafka cluster with the specified ``cluster_id``. tags: - Cluster (v3) responses: '200': $ref: '#/components/responses/GetClusterResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/acls: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'Search ACLs' operationId: getKafkaV3Acls description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns a list of ACLs that match the search criteria. tags: - ACL (v3) parameters: - $ref: '#/components/parameters/AclResourceType' - $ref: '#/components/parameters/AclResourceName' - $ref: '#/components/parameters/AclPatternType' - $ref: '#/components/parameters/AclPrincipal' - $ref: '#/components/parameters/AclHost' - $ref: '#/components/parameters/AclOperation' - $ref: '#/components/parameters/AclPermission' responses: '200': $ref: '#/components/responses/SearchAclsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' post: summary: 'Create ACLs' operationId: createKafkaV3Acls description: |- [](#section/Versioning/API-Lifecycle-Policy) Creates an ACL. tags: - ACL (v3) requestBody: $ref: '#/components/requestBodies/CreateAclRequest' responses: '201': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' delete: summary: 'Delete ACLs' operationId: deleteKafkaV3Acls description: |- [](#section/Versioning/API-Lifecycle-Policy) Deletes the list of ACLs that matches the search criteria. tags: - ACL (v3) parameters: - $ref: '#/components/parameters/AclResourceType' - $ref: '#/components/parameters/AclResourceName' - $ref: '#/components/parameters/AclPatternType' - $ref: '#/components/parameters/AclPrincipal' - $ref: '#/components/parameters/AclHost' - $ref: '#/components/parameters/AclOperation' - $ref: '#/components/parameters/AclPermission' responses: '200': $ref: '#/components/responses/DeleteAclsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/broker-configs: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List Cluster Configs' operationId: listKafkaV3ClusterConfigs description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns a list of configuration parameters for the specified Kafka cluster. tags: - Configs (v3) responses: '200': $ref: '#/components/responses/ListClusterConfigsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/broker-configs:alter: parameters: - $ref: '#/components/parameters/ClusterId' post: summary: 'Batch Alter Cluster Configs' operationId: updateKafkaV3ClusterConfigs description: |- [](#section/Versioning/API-Lifecycle-Policy) Updates or deletes a set of Kafka cluster configuration parameters. tags: - Configs (v3) requestBody: $ref: '#/components/requestBodies/AlterClusterConfigBatchRequest' responses: '204': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/broker-configs/{name}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConfigName' get: summary: 'Get Cluster Config' operationId: getKafkaV3ClusterConfig description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the configuration parameter specified by ``name``. tags: - Configs (v3) responses: '200': $ref: '#/components/responses/GetClusterConfigResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' put: summary: 'Update Cluster Config' operationId: updateKafkaV3ClusterConfig description: |- [](#section/Versioning/API-Lifecycle-Policy) Updates the configuration parameter specified by ``name``. tags: - Configs (v3) requestBody: $ref: '#/components/requestBodies/UpdateClusterConfigRequest' responses: '204': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' delete: summary: 'Reset Cluster Config' operationId: deleteKafkaV3ClusterConfig description: |- [](#section/Versioning/API-Lifecycle-Policy) Resets the configuration parameter specified by ``name`` to its default value. tags: - Configs (v3) responses: '204': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/brokers: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List Brokers' description: |- [](#section/Versioning/API-Lifecycle-Policy) Return a list of brokers that belong to the specified Kafka cluster. tags: - Broker responses: '200': $ref: '#/components/responses/ListBrokersResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/brokers/{broker_id}: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/BrokerId' get: summary: 'Get Broker' description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the broker specified by ``broker_id``. tags: - Broker responses: '200': $ref: '#/components/responses/GetBrokerResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/brokers/-/configs: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List All Broker Configs' description: |- [](#section/Versioning/API-Lifecycle-Policy) Return the list of configuration parameters for all the brokers in the given Kafka cluster. tags: - Configs responses: '200': $ref: '#/components/responses/ListBrokerConfigsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/brokers/{broker_id}/configs: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/BrokerId' get: summary: 'List Broker Configs' description: |- [](#section/Versioning/API-Lifecycle-Policy) Return the list of configuration parameters that belong to the specified Kafka broker. tags: - Configs responses: '200': $ref: '#/components/responses/ListBrokerConfigsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/brokers/{broker_id}/configs:alter: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/BrokerId' post: summary: 'Batch Alter Broker Configs' description: |- [](#section/Versioning/API-Lifecycle-Policy) Updates or deletes a set of broker configuration parameters. tags: - Configs requestBody: $ref: '#/components/requestBodies/AlterBrokerConfigBatchRequest' responses: '204': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/brokers/{broker_id}/configs/{name}: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/BrokerId' - $ref: '#/components/parameters/ConfigName' get: summary: 'Get Broker Config' description: |- [](#section/Versioning/API-Lifecycle-Policy) Return the configuration parameter specified by ``name``. tags: - Configs responses: '200': $ref: '#/components/responses/GetBrokerConfigResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' put: summary: 'Update Broker Config' description: |- [](#section/Versioning/API-Lifecycle-Policy) Updates the configuration parameter specified by ``name``. tags: - Configs requestBody: $ref: '#/components/requestBodies/UpdateBrokerConfigRequest' responses: '204': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' delete: summary: 'Reset Broker Config' description: |- [](#section/Versioning/API-Lifecycle-Policy) Resets the configuration parameter specified by ``name`` to its default value. tags: - Configs responses: '204': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/brokers/{broker_id}/partition-replicas: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/BrokerId' get: summary: 'Search Replicas by Broker' description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the list of replicas assigned to the specified broker. tags: - Broker - Replica responses: '200': $ref: '#/components/responses/SearchReplicasByBrokerResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/consumer-groups: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List Consumer Groups' operationId: listKafkaV3ConsumerGroups description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the list of consumer groups that belong to the specified Kafka cluster. tags: - Consumer Group (v3) responses: '200': $ref: '#/components/responses/ListConsumerGroupsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' get: summary: 'Get Consumer Group' operationId: getKafkaV3ConsumerGroup description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the consumer group specified by the ``consumer_group_id``. tags: - Consumer Group (v3) responses: '200': $ref: '#/components/responses/GetConsumerGroupResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' get: summary: 'List Consumers' operationId: listKafkaV3Consumers description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns a list of consumers that belong to the specified consumer group. tags: - Consumer Group (v3) responses: '200': $ref: '#/components/responses/ListConsumersResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lag-summary: x-lifecycle-stage: Early Access x-request-access-name: Cluster Admin For Kafka v3 parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' get: x-lifecycle-stage: Early Access x-request-access-name: Cluster Admin For Kafka v3 summary: 'Get Consumer Group Lag Summary.' operationId: getKafkaV3ConsumerGroupLagSummary description: |- [](#section/Versioning/API-Lifecycle-Policy) [](mailto:ccloud-rest-api+consumer-lag-earlyaccess@confluent.io?subject=Request%20to%20join%20v3%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cluster%20Admin%20For%20Kafka%20v3%20Early%20Access%20to%20provide%20early%20feedback%20on%20consumer%20lag%20apis%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) Returns the max and total lag of the consumers belonging to the specified consumer group. tags: - Consumer Group (v3) responses: '200': $ref: '#/components/responses/GetConsumerGroupLagSummaryResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags: x-lifecycle-stage: Early Access x-request-access-name: Cluster Admin For Kafka v3 parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' get: x-lifecycle-stage: Early Access x-request-access-name: Cluster Admin For Kafka v3 operationId: listKafkaV3ConsumerLags summary: 'List Consumer Lags' description: |- [](#section/Versioning/API-Lifecycle-Policy) [](mailto:ccloud-rest-api+consumer-lag-earlyaccess@confluent.io?subject=Request%20to%20join%20v3%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cluster%20Admin%20For%20Kafka%20v3%20Early%20Access%20to%20provide%20early%20feedback%20on%20consumer%20lag%20apis%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) Returns a list of consumer lags of the consumers belonging to the specified consumer group. tags: - Consumer Group (v3) responses: '200': $ref: '#/components/responses/ListConsumerLagsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags/{topic_name}/partitions/{partition_id}: x-lifecycle-stage: Early Access x-request-access-name: Cluster Admin For Kafka v3 parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/PartitionId' get: x-lifecycle-stage: Early Access x-request-access-name: Cluster Admin For Kafka v3 operationId: getKafkaV3ConsumerLag summary: 'Get Consumer Lag' description: |- [](#section/Versioning/API-Lifecycle-Policy) [](mailto:ccloud-rest-api+consumer-lag-earlyaccess@confluent.io?subject=Request%20to%20join%20v3%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cluster%20Admin%20For%20Kafka%20v3%20Early%20Access%20to%20provide%20early%20feedback%20on%20consumer%20lag%20apis%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) Returns the consumer lag on a partition with the given `partition_id`. tags: - Partition (v3) responses: '200': $ref: '#/components/responses/GetConsumerLagResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers/{consumer_id}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/ConsumerId' get: summary: 'Get Consumer' operationId: getKafkaV3Consumer description: |- [](#section/Versioning/API-Lifecycle-Policy) [](mailto:ccloud-rest-api+consumer-lag-earlyaccess@confluent.io?subject=Request%20to%20join%20v3%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cluster%20Admin%20For%20Kafka%20v3%20Early%20Access%20to%20provide%20early%20feedback%20on%20consumer%20lag%20apis%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) Returns the consumer specified by the ``consumer_id``. tags: - Consumer Group (v3) responses: '200': $ref: '#/components/responses/GetConsumerResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers/{consumer_id}/assignments: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/ConsumerId' get: summary: 'List Consumer Assignments' operationId: listKafkaV3ConsumerAssignment description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns a list of partition assignments for the specified consumer. tags: - Consumer Group (v3) responses: '200': $ref: '#/components/responses/ListConsumerAssignmentsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers/{consumer_id}/assignments/{topic_name}/partitions/{partition_id}: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/ConsumerId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/PartitionId' get: summary: 'Get Consumer Assignment' operationId: getKafkaV3ConsumerAssignment description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns information about the assignment for the specified consumer to the specified partition. tags: - Consumer Group (v3) responses: '200': $ref: '#/components/responses/GetConsumerAssignmentResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List Topics' operationId: listKafkaV3Topics description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the list of topics that belong to the specified Kafka cluster. tags: - Topic (v3) responses: '200': $ref: '#/components/responses/ListTopicsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' post: summary: 'Create Topic' operationId: createKafkaV3Topic description: |- [](#section/Versioning/API-Lifecycle-Policy) Creates a topic. tags: - Topic (v3) requestBody: $ref: '#/components/requestBodies/CreateTopicRequest' responses: '201': $ref: '#/components/responses/CreateTopicResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' get: summary: 'Get Topic' operationId: getKafkaV3Topic description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the topic with the given `topic_name`. tags: - Topic (v3) responses: '200': $ref: '#/components/responses/GetTopicResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' delete: summary: 'Delete Topic' operationId: deleteKafkaV3Topic description: |- [](#section/Versioning/API-Lifecycle-Policy) Deletes the topic with the given `topic_name`. tags: - Topic (v3) responses: '204': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}/configs: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' get: summary: 'List Topic Configs' operationId: listKafkaV3TopicConfigs description: |- [](#section/Versioning/API-Lifecycle-Policy) Return the list of configs that belong to the specified topic. tags: - Configs (v3) responses: '200': $ref: '#/components/responses/ListTopicConfigsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}/configs:alter: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' post: summary: 'Batch Alter Topic Configs' operationId: updateKafkaV3TopicConfigBatch description: |- [](#section/Versioning/API-Lifecycle-Policy) Updates or deletes a set of topic configs. tags: - Configs (v3) requestBody: $ref: '#/components/requestBodies/AlterTopicConfigBatchRequest' responses: '204': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}/configs/{name}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/ConfigName' get: summary: 'Get Topic Config' operationId: getKafkaV3TopicConfig description: |- [](#section/Versioning/API-Lifecycle-Policy) Return the config with the given `name`. tags: - Configs (v3) responses: '200': $ref: '#/components/responses/GetTopicConfigResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' put: summary: 'Update Topic Config' operationId: updateKafkaV3TopicConfig description: |- [](#section/Versioning/API-Lifecycle-Policy) Updates the config with given `name`. tags: - Configs (v3) requestBody: $ref: '#/components/requestBodies/UpdateTopicConfigRequest' responses: '204': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' delete: summary: 'Reset Topic Config' operationId: deleteKafkaV3TopicConfig description: |- [](#section/Versioning/API-Lifecycle-Policy) Resets the config with given `name` to its default value. tags: - Configs (v3) responses: '204': description: 'No Content' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}/partitions: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' get: summary: 'List Partitions' operationId: listKafkaV3Partitions description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the list of partitions that belong to the specified topic. tags: - Partition (v3) responses: '200': $ref: '#/components/responses/ListPartitionsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/PartitionId' get: summary: 'Get Partition' operationId: getKafkaV3Partition description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the partition with the given `partition_id`. tags: - Partition (v3) responses: '200': $ref: '#/components/responses/GetPartitionResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/-/partitions/-/reassignment: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List All Replica Reassignments' description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the list of all ongoing replica reassignments in the given Kafka cluster. tags: - Partition responses: '200': $ref: '#/components/responses/ListAllReassignmentsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}/partitions/-/reassignment: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' get: summary: 'Search Replica Reassignments By Topic' description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the list of ongoing replica reassignments for the given topic. tags: - Partition responses: '200': $ref: '#/components/responses/SearchReassignmentsByTopicResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}/reassignment: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/PartitionId' get: summary: 'Get Replica Reassignments' description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the list of ongoing replica reassignments for the given partition. tags: - Partition responses: '200': $ref: '#/components/responses/GetReassignmentResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}/replicas: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/PartitionId' get: summary: 'List Replicas' description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the list of replicas for the specified partition. tags: - Replica responses: '200': $ref: '#/components/responses/ListReplicasResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}/replicas/{broker_id}: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/PartitionId' - $ref: '#/components/parameters/BrokerId' get: summary: 'Get Replica' description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns the replica for the specified partition assigned to the specified broker. tags: - Replica responses: '200': $ref: '#/components/responses/GetReplicaResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/-/configs: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'Get All Topic Configs' operationId: listKafkaV3AllTopicConfigs description: |- [](#section/Versioning/API-Lifecycle-Policy) Returns all topic configurations for topics hosted by the specified cluster. tags: - Configs (v3) responses: '200': $ref: '#/components/responses/ListTopicConfigsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' /clusters/{cluster_id}/topics/{topic_name}/records: x-audience: component-internal parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' post: summary: 'Produce records to the given topic.' description: |- [](#section/Versioning/API-Lifecycle-Policy) Produce records to the given topic, returning delivery reports for each record produced. This API can be used in streaming mode by setting "Transfer-Encoding: chunked" header. For as long as the connection is kept open, the server will keep accepting records. For each record sent to the server, the server will asynchronously send back a delivery report, in the same order. Records are streamed to and from the server as Concatenated JSON. Errors are reported per record. The HTTP status code will be HTTP 200 OK as long as the connection is successfully established. tags: - Records requestBody: $ref: '#/components/requestBodies/ProduceRequest' responses: '200': $ref: '#/components/responses/ProduceResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' # Apparently trying to produce to non-existing topic with auto-create enabled doesn't # result in a successful message production/topic creation. Check if it throws 40403 if # auto-create is disabled. '429': $ref: '#/components/responses/TooManyRequestsErrorResponse' '5XX': $ref: '#/components/responses/ServerErrorResponse' components: parameters: AclHost: name: 'host' description: 'The ACL host.' in: query required: false schema: type: string AclOperation: name: 'operation' description: 'The ACL operation.' in: query required: false schema: $ref: '#/components/schemas/AclOperation' AclPatternType: name: 'pattern_type' description: 'The ACL pattern type.' in: query required: false schema: $ref: '#/components/schemas/AclPatternType' AclPermission: name: 'permission' description: 'The ACL permission.' in: query required: false schema: $ref: '#/components/schemas/AclPermission' AclPrincipal: name: 'principal' description: 'The ACL principal.' in: query required: false schema: type: string AclResourceName: name: 'resource_name' description: 'The ACL resource name.' in: query required: false schema: type: string AclResourceType: name: 'resource_type' description: 'The ACL resource type.' in: query required: false schema: $ref: '#/components/schemas/AclResourceType' BrokerId: name: 'broker_id' description: 'The broker ID.' in: path required: true schema: type: integer example: 1 ClusterId: name: 'cluster_id' description: 'The Kafka cluster ID.' in: path required: true schema: type: string example: 'cluster-1' ConfigName: name: 'name' description: 'The configuration parameter name.' in: path required: true schema: type: string example: 'compression.type' ConsumerGroupId: name: 'consumer_group_id' description: 'The consumer group ID.' in: path required: true schema: type: string example: 'consumer-group-1' ConsumerId: name: 'consumer_id' description: 'The consumer ID.' in: path required: true schema: type: string example: 'consumer-1' PartitionId: name: 'partition_id' description: 'The partition ID.' in: path required: true schema: type: integer example: 1 TopicName: name: 'topic_name' description: 'The topic name.' in: path required: true schema: type: string example: topic-1 schemas: AbstractConfigData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - name - is_default - is_read_only - is_sensitive - source - synonyms properties: cluster_id: type: string name: type: string value: type: string nullable: true is_default: type: boolean is_read_only: type: boolean is_sensitive: type: boolean source: $ref: '#/components/schemas/ConfigSource' synonyms: type: array items: $ref: '#/components/schemas/ConfigSynonymData' AclData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - resource_type - resource_name - pattern_type - principal - host - operation - permission properties: cluster_id: type: string resource_type: $ref: '#/components/schemas/AclResourceType' resource_name: type: string pattern_type: $ref: '#/components/schemas/AclPatternType' principal: type: string host: type: string operation: $ref: '#/components/schemas/AclOperation' permission: $ref: '#/components/schemas/AclPermission' AclDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/AclData' AclOperation: type: string x-extensible-enum: - UNKNOWN - ANY - ALL - READ - WRITE - CREATE - DELETE - ALTER - DESCRIBE - CLUSTER_ACTION - DESCRIBE_CONFIGS - ALTER_CONFIGS - IDEMPOTENT_WRITE AclPatternType: type: string x-extensible-enum: - UNKNOWN - ANY - MATCH - LITERAL - PREFIXED AclPermission: type: string x-extensible-enum: - UNKNOWN - ANY - DENY - ALLOW AclResourceType: type: string enum: - UNKNOWN - ANY - TOPIC - GROUP - CLUSTER - TRANSACTIONAL_ID - DELEGATION_TOKEN AlterConfigBatchRequestData: type: object required: - data properties: data: type: array items: type: object required: - name properties: name: type: string value: type: string nullable: true operation: type: string x-extensible-enum: - SET - DELETE nullable: true AnyValue: nullable: true BrokerConfigData: allOf: - $ref: '#/components/schemas/AbstractConfigData' - type: object required: - broker_id properties: broker_id: type: integer BrokerConfigDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/BrokerConfigData' BrokerData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - broker_id - configs - partition_replicas properties: cluster_id: type: string broker_id: type: integer host: type: string nullable: true port: type: integer nullable: true rack: type: string nullable: true configs: $ref: '#/components/schemas/Relationship' partition_replicas: $ref: '#/components/schemas/Relationship' BrokerDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/BrokerData' ClusterConfigData: allOf: - $ref: '#/components/schemas/AbstractConfigData' - type: object required: - config_type properties: config_type: $ref: '#/components/schemas/ClusterConfigType' ClusterConfigDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ClusterConfigData' ClusterConfigType: type: string x-extensible-enum: - BROKER ClusterData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - acls - brokers - broker_configs - consumer_groups - topics - partition_reassignments properties: cluster_id: type: string controller: $ref: '#/components/schemas/Relationship' acls: $ref: '#/components/schemas/Relationship' brokers: $ref: '#/components/schemas/Relationship' broker_configs: $ref: '#/components/schemas/Relationship' consumer_groups: $ref: '#/components/schemas/Relationship' topics: $ref: '#/components/schemas/Relationship' partition_reassignments: $ref: '#/components/schemas/Relationship' ClusterDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ClusterData' CreateAclRequestData: type: object required: - resource_type - resource_name - pattern_type - principal - host - operation - permission properties: resource_type: $ref: '#/components/schemas/AclResourceType' resource_name: type: string pattern_type: $ref: '#/components/schemas/AclPatternType' principal: type: string host: type: string operation: $ref: '#/components/schemas/AclOperation' permission: $ref: '#/components/schemas/AclPermission' CreateTopicRequestData: type: object required: - topic_name properties: topic_name: type: string partitions_count: type: integer replication_factor: type: integer replicas_assignments: type: array items: type: object required: - partition_id - broker_ids properties: partition_id: type: integer broker_ids: type: array items: type: integer configs: type: array items: type: object required: - name properties: name: type: string value: type: string nullable: true ConfigSource: type: string x-extensible-enum: - DYNAMIC_CLUSTER_LINK_CONFIG - DYNAMIC_TOPIC_CONFIG - DYNAMIC_BROKER_LOGGER_CONFIG - DYNAMIC_BROKER_CONFIG - DYNAMIC_DEFAULT_BROKER_CONFIG - STATIC_BROKER_CONFIG - DEFAULT_CONFIG - UNKNOWN ConfigSynonymData: type: object required: - name - source properties: name: type: string value: type: string nullable: true source: $ref: '#/components/schemas/ConfigSource' ConsumerAssignmentData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - consumer_group_id - consumer_id - topic_name - partition_id - partition - lag properties: cluster_id: type: string consumer_group_id: type: string consumer_id: type: string topic_name: type: string partition_id: type: integer partition: $ref: '#/components/schemas/Relationship' lag: $ref: '#/components/schemas/Relationship' ConsumerAssignmentDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ConsumerAssignmentData' ConsumerData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - consumer_group_id - consumer_id - client_id - assignments properties: cluster_id: type: string consumer_group_id: type: string consumer_id: type: string instance_id: type: string nullable: true client_id: type: string assignments: $ref: '#/components/schemas/Relationship' ConsumerDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ConsumerData' ConsumerGroupData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - consumer_group_id - is_simple - partition_assignor - state - coordinator - consumers - lag_summary properties: cluster_id: type: string consumer_group_id: type: string is_simple: type: boolean partition_assignor: type: string state: $ref: '#/components/schemas/ConsumerGroupState' coordinator: $ref: '#/components/schemas/Relationship' consumer: $ref: '#/components/schemas/Relationship' lag_summary: $ref: '#/components/schemas/Relationship' ConsumerGroupDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ConsumerGroupData' ConsumerGroupState: type: string x-extensible-enum: - UNKNOWN - PREPARING_REBALANCE - COMPLETING_REBALANCE - STABLE - DEAD - EMPTY ConsumerLagData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - consumer_group_id - topic_name - partition_id - current_offset - log_end_offset - lag - consumer_id - client_id properties: cluster_id: type: string consumer_group_id: type: string topic_name: type: string partition_id: type: integer current_offset: type: integer format: int64 log_end_offset: type: integer format: int64 lag: type: integer format: int64 consumer_id: type: string instance_id: type: string nullable: true client_id: type: string ConsumerLagDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ConsumerLagData' ConsumerGroupLagSummaryData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - consumer_group_id - max_lag_consumer_id - max_lag_client_id - max_lag_topic_name - max_lag_partition_id - max_lag - total_lag - max_lag_consumer - max_lag_partition properties: cluster_id: type: string consumer_group_id: type: string max_lag_consumer_id: type: string max_lag_instance_id: type: string nullable: true max_lag_client_id: type: string max_lag_topic_name: type: string max_lag_partition_id: type: integer max_lag: type: integer format: int64 total_lag: type: integer format: int64 max_lag_consumer: $ref: '#/components/schemas/Relationship' max_lag_partition: $ref: '#/components/schemas/Relationship' Error: type: object required: - error_code - message properties: error_code: type: integer format: int32 message: type: string nullable: true PartitionData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - topic_name - partition_id - replicas - reassignment properties: cluster_id: type: string topic_name: type: string partition_id: type: integer leader: $ref: '#/components/schemas/Relationship' replicas: $ref: '#/components/schemas/Relationship' reassignment: $ref: '#/components/schemas/Relationship' PartitionDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/PartitionData' ProduceResponse: type: object required: - cluster_id - topic_name - partition_id - offset properties: cluster_id: type: string topic_name: type: string partition_id: type: integer offset: type: integer timestamp: type: string format: date-time nullable: true key: $ref: '#/components/schemas/ProduceResponseData' value: $ref: '#/components/schemas/ProduceResponseData' ProduceResponseData: type: object required: - size properties: size: type: integer type: type: string x-extensible-enum: - BINARY - JSON - AVRO - JSONSCHEMA - PROTOBUF nullable: true subject: type: string nullable: true schema_id: type: integer nullable: true schema_version: type: integer nullable: true nullable: true ProduceRequest: type: object properties: partition_id: type: integer nullable: true headers: type: array items: $ref: '#/components/schemas/ProduceRequestHeader' key: $ref: '#/components/schemas/ProduceRequestData' value: $ref: '#/components/schemas/ProduceRequestData' timestamp: type: string format: date-time nullable: true ProduceRequestData: type: object properties: type: type: string x-extensible-enum: - BINARY - JSON - AVRO - JSONSCHEMA - PROTOBUF subject: type: string nullable: true subject_name_strategy: type: string x-extensible-enum: - TOPIC_NAME - RECORD_NAME - TOPIC_RECORD_NAME nullable: true schema_id: type: integer nullable: true schema_version: type: integer nullable: true schema: type: string nullable: true data: $ref: '#/components/schemas/AnyValue' nullable: true ProduceRequestHeader: type: object required: - name properties: name: type: string value: type: string format: byte nullable: true ReassignmentData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - topic_name - partition_id - adding_replicas - removing_replicas - replicas properties: cluster_id: type: string topic_name: type: string partition_id: type: integer adding_replicas: type: array items: type: integer removing_replicas: type: array items: type: integer replicas: $ref: '#/components/schemas/Relationship' ReassignmentDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ReassignmentData' Relationship: type: object required: - related properties: related: type: string ReplicaData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - topic_name - partition_id - broker_id - is_leader - is_in_sync - broker properties: cluster_id: type: string topic_name: type: string partition_id: type: integer broker_id: type: integer is_leader: type: boolean is_in_sync: type: boolean broker: $ref: '#/components/schemas/Relationship' ReplicaDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ReplicaData' Resource: type: object required: - kind - metadata properties: kind: type: string metadata: $ref: '#/components/schemas/ResourceMetadata' ResourceCollection: type: object required: - kind - metadata properties: kind: type: string metadata: $ref: '#/components/schemas/ResourceCollectionMetadata' ResourceCollectionMetadata: type: object required: - self properties: self: type: string next: type: string nullable: true ResourceMetadata: type: object required: - self properties: self: type: string resource_name: type: string nullable: true TopicConfigData: allOf: - $ref: '#/components/schemas/AbstractConfigData' - type: object required: - topic_name properties: topic_name: type: string TopicConfigDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/TopicConfigData' TopicData: allOf: - $ref: '#/components/schemas/Resource' - type: object required: - cluster_id - topic_name - is_internal - replication_factor - partitions_count - partitions - configs - partition_reassignments properties: cluster_id: type: string topic_name: type: string is_internal: type: boolean replication_factor: type: integer partitions_count: type: integer partitions: $ref: '#/components/schemas/Relationship' configs: $ref: '#/components/schemas/Relationship' partition_reassignments: $ref: '#/components/schemas/Relationship' TopicDataList: allOf: - $ref: '#/components/schemas/ResourceCollection' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/TopicData' UpdateConfigRequestData: type: object properties: value: type: string nullable: true requestBodies: AlterBrokerConfigBatchRequest: description: 'The alter broker configuration parameter batch request.' content: application/json: schema: $ref: '#/components/schemas/AlterConfigBatchRequestData' example: data: - name: 'max.connections' operation: 'DELETE' - name: 'compression.type' value: 'gzip' AlterClusterConfigBatchRequest: description: 'The alter cluster configuration parameter batch request.' content: application/json: schema: $ref: '#/components/schemas/AlterConfigBatchRequestData' example: data: - name: 'max.connections' operation: 'DELETE' - name: 'compression.type' value: 'gzip' AlterTopicConfigBatchRequest: description: 'The alter topic configuration parameter batch request.' content: application/json: schema: $ref: '#/components/schemas/AlterConfigBatchRequestData' example: data: - name: 'cleanup.policy' operation: 'DELETE' - name: 'compression.type' value: 'gzip' CreateAclRequest: description: 'The ACL creation request.' content: application/json: schema: $ref: '#/components/schemas/CreateAclRequestData' example: resource_type: 'CLUSTER' resource_name: 'kafka-cluster' pattern_type: 'LITERAL' principal: 'principalType:principalName' host: '*' operation: 'DESCRIBE' permission: 'DENY' CreateTopicRequest: description: 'The topic creation request.' content: application/json: schema: $ref: '#/components/schemas/CreateTopicRequestData' examples: uniform_replication: value: topic_name: 'topic-X' partitions_count: 64 replication_factor: 3 configs: - name: 'cleanup.policy' value: 'compact' - name: 'compression.type' value: 'gzip' explicit_replicas_assignments: value: topic_name: 'topic-Y' replicas_assignments: - partition_id: 0 broker_ids: - 1 - 2 - partition_id: 1 broker_ids: - 2 - 3 - partition_id: 2 broker_ids: - 3 - 1 configs: - name: 'cleanup.policy' value: 'compact' - name: 'compression.type' value: 'gzip' ProduceRequest: description: 'A single record to be produced to Kafka. To produce multiple records on the same connection, simply concatenate all the records, e.g.: {"partition_id":1}{"partition_id":2}. Delivery reports will be concatenated on the same order as the records are sent. See examples for the options available.' content: application/json: schema: $ref: '#/components/schemas/ProduceRequest' examples: binary_and_avro_with_subject_and_raw_schema: description: 'If using type: "BINARY" or type: "JSON", or using the schema field, type is required.' value: partition_id: 1 headers: - name: 'Header-1' value: 'SGVhZGVyLTE=' - name: 'Header-2' value: 'SGVhZGVyLTI=' key: type: 'BINARY' data: 'Zm9vYmFy' value: type: 'AVRO' subject: 'topic-1-key' schema: '{\"type\":\"string\"}' data: 'foobar' timestamp: '2021-02-05T19:14:42Z' schema_id_and_schema_version: description: 'If not setting type, the record is assumed to use a schema. The actual schema is queried from Schema Registry based on the subject, schema_id and schema_version. You can specify the subject directly or you can use subject_name_strategy. If neither is specified, subject_name_strategy is assumed to be TOPIC_NAME. You can use either schema_id or schema_version to identify the actual schema in the subject.' value: key: subject_name_strategy: 'TOPIC_NAME' schema_id: 1 data: 1000 value: schema_version: 1 data: foo: 'bar' latest_schema: description: 'If neither schema_id or schema_version are specified, the latest schema for the subject is used. This should be the preferred way of using the API. You should register the schema with Schema Registry directly, then on Kafka REST you do not need to say anything about the schema and we will fetch the latest one for you.' value: key: data: 1000 value: data: 'foobar' null_and_empty_data: description: 'data can be omitted or can be null.' value: key: schema_id: 1 value: schema_version: 1 data: null empty_value: description: 'key or value can be omitted entirely.' value: key: data: 1000 UpdateBrokerConfigRequest: description: 'The broker configuration parameter update request.' content: application/json: schema: $ref: "#/components/schemas/UpdateConfigRequestData" example: value: 'gzip' UpdateClusterConfigRequest: description: 'The cluster configuration parameter update request.' content: application/json: schema: $ref: "#/components/schemas/UpdateConfigRequestData" example: value: 'gzip' UpdateTopicConfigRequest: description: 'The topic configuration parameter update request.' content: application/json: schema: $ref: "#/components/schemas/UpdateConfigRequestData" example: value: 'gzip' responses: CreateTopicResponse: description: 'The created topic.' content: application/json: schema: $ref: '#/components/schemas/TopicData' example: kind: 'KafkaTopic' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X' resource_name: 'crn:///kafka=cluster-1/topic=topic-X' cluster_id: 'cluster-1' topic_name: 'topic-X' is_internal: false replication_factor: 3 partitions_count: 1 partitions: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/partitions' configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/configs' partition_reassignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/partitions/-/reassignments' DeleteAclsResponse: description: 'The list of deleted ACLs.' content: application/json: schema: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/AclData' example: data: - kind: 'KafkaAcl' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=TOPIC&resource_name=topic-&pattern_type=PREFIXED&principal=alice&host=*&operation=ALL&permission=ALLOW' cluster_id: 'cluster-1' resource_type: 'TOPIC' resource_name: 'topic-' pattern_type: 'PREFIXED' principal: 'alice' host: '*' operation: 'ALL' permission: 'ALLOW' - kind: 'KafkaAcl' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=CLUSTER&resource_name=cluster-1&pattern_type=LITERAL&principal=bob&host=*&operation=DESCRIBE&permission=DENY' cluster_id: 'cluster-1' resource_type: 'CLUSTER' resource_name: 'cluster-2' pattern_type: 'LITERAL' principal: 'alice' host: '*' operation: 'DESCRIBE' permission: 'DENY' GetBrokerConfigResponse: description: 'The broker configuration parameter.' content: application/json: schema: $ref: '#/components/schemas/BrokerConfigData' example: kind: 'KafkaBrokerConfig' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs/compression.type' resource_name: 'crn:///kafka=cluster-1/broker=1/config=compression.type' cluster_id: 'cluster-1' broker_id: 1 name: 'compression.type' value: 'gzip' is_default: false is_read_only: false is_sensitive: false source: 'DYNAMIC_BROKER_CONFIG' synonyms: - name: 'compression.type' value: 'gzip' source: 'DYNAMIC_BROKER_CONFIG' - name: 'compression.type' value: 'producer' source: 'DEFAULT_CONFIG' GetBrokerResponse: description: 'The broker.' content: application/json: schema: $ref: '#/components/schemas/BrokerData' example: kind: 'KafkaBroker' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' resource_name: 'crn:///kafka=cluster-1/broker=1' cluster_id: 'cluster-1' broker_id: 1 host: 'localhost' port: 9291 configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs' partition_replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/partition-replicas' GetClusterConfigResponse: description: 'The cluster configuration parameter.' content: application/json: schema: $ref: '#/components/schemas/ClusterConfigData' example: kind: 'KafkaClusterConfig' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type' resource_name: 'crn:///kafka=cluster-1/broker-config=compression.type' cluster_id: 'cluster-1' config_type: 'BROKER' name: 'compression.type' value: 'gzip' is_default: false is_read_only: false is_sensitive: false source: 'DYNAMIC_DEFAULT_BROKER_CONFIG' synonyms: - name: 'compression.type' value: 'gzip' source: 'DYNAMIC_DEFAULT_BROKER_CONFIG' - name: 'compression.type' value: 'producer' source: 'DEFAULT_CONFIG' GetClusterResponse: description: 'The Kafka cluster.' content: application/json: schema: $ref: '#/components/schemas/ClusterData' example: kind: 'KafkaCluster' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1' resource_name: 'crn:///kafka=cluster-1' cluster_id: 'cluster-1' controller: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' acls: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls' brokers: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers' broker_configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs' consumer_groups: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups' topics: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics' partition_reassignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/partitions/-/reassignment' GetConsumerAssignmentResponse: description: 'The consumer group assignment.' content: application/json: schema: $ref: '#/components/schemas/ConsumerAssignmentData' example: kind: 'KafkaConsumerAssignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments/topic-1/partitions/1' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1/assignment=topic=1/partition=1' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' consumer_id: 'consumer-1' topic_name: 'topic-1' partition_id: 1 partition: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' lag: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1' GetConsumerGroupResponse: description: 'The consumer group.' content: application/json: schema: $ref: '#/components/schemas/ConsumerGroupData' example: kind: 'KafkaConsumerGroup' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' is_simple: false partition_assignor: 'org.apache.kafka.clients.consumer.RoundRobinAssignor' state: 'STABLE' coordinator: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' consumers: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' lag_summary: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary' GetConsumerGroupLagSummaryResponse: description: 'The max and total consumer lag in a consumer group.' content: application/json: schema: $ref: '#/components/schemas/ConsumerGroupLagSummaryData' example: kind: 'KafkaConsumerGroupLagSummary' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary' resource_name: 'crn:///kafka=cluster-1/consumer-groups=consumer-group-1/lag-summary' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' max_lag_consumer_id: 'consumer-1' max_lag_instance_id: 'consumer-instance-1' max_lag_client_id: 'client-1' max_lag_topic_name: 'topic-1' max_lag_partition_id: 1 max_lag: 100 total_lag: 110 max_lag_consumer: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1' max_lag_partition: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' GetConsumerLagResponse: description: 'The consumer lag.' content: application/json: schema: $ref: '#/components/schemas/ConsumerLagData' example: kind: 'KafkaConsumerLag' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=1' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' topic_name: 'topic-1' partition_id: 1 consumer_id: 'consumer-1' instance_id: 'consumer-instance-1' client_id: 'client-1' current_offset: 1 log_end_offset: 101 lag: 100 GetConsumerResponse: description: 'The consumer.' content: application/json: schema: $ref: '#/components/schemas/ConsumerData' example: kind: 'KafkaConsumer' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' consumer_id: 'consumer-1' instance_id: 'consumer-instance-1' client_id: 'client-1' assignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments' GetPartitionResponse: description: 'The partition' content: application/json: schema: $ref: '#/components/schemas/PartitionData' example: kind: 'KafkaPartition' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 1 leader: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1' replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' reassignment: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment' GetReassignmentResponse: description: 'The ongoing replicas reassignments.' content: application/json: schema: $ref: '#/components/schemas/ReassignmentData' example: kind: 'KafkaReassignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1/reassignment' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 1 adding_replicas: - 1 - 2 removing_replicas: - 3 replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' GetReplicaResponse: description: 'The replica.' content: application/json: schema: $ref: '#/components/schemas/ReplicaData' example: kind: 'KafkaReplica' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1/replica=1' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 1 broker_id: 1 is_leader: true is_in_sync: true broker: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' GetTopicConfigResponse: description: 'The topic configuration parameter.' content: application/json: schema: $ref: '#/components/schemas/TopicConfigData' example: kind: 'KafkaTopicConfig' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/compression.type' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/config=compression.type' cluster_id: 'cluster-1' topic_name: 'topic-1' name: 'compression.type' value: 'gzip' is_default: false is_read_only: false is_sensitive: false source: 'DYNAMIC_TOPIC_CONFIG' synonyms: - name: 'compression.type' value: 'gzip' source: 'DYNAMIC_TOPIC_CONFIG' - name: 'compression.type' value: 'producer' source: 'DEFAULT_CONFIG' GetTopicResponse: description: 'The topic.' content: application/json: schema: $ref: '#/components/schemas/TopicData' example: kind: 'KafkaTopic' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1' resource_name: 'crn:///kafka=cluster-1/topic=topic-1' cluster_id: 'cluster-1' topic_name: 'topic-1' is_internal: false replication_factor: 3 partitions_count: 1 partitions: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions' configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs' partition_reassignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/-/reassignments' ListAllReassignmentsResponse: description: "The ongoing replicas reassignments." content: application/json: schema: $ref: '#/components/schemas/ReassignmentDataList' example: kind: 'KafkaReassignmentList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/partitions/-/reassignment' next: null data: - kind: 'KafkaReassignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1/reassignment' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 1 adding_replicas: - 1 - 2 removing_replicas: - 3 replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' - kind: 'KafkaReassignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/2/reassignment' resource_name: 'crn:///kafka=cluster-1/topic=topic-2/partition=2/reassignment' cluster_id: 'cluster-1' topic_name: 'topic-2' partition_id: 2 adding_replicas: - 1 removing_replicas: - 2 - 3 replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/2/replicas' - kind: 'KafkaReassignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/3/reassignment' resource_name: 'crn:///kafka=cluster-1/topic=topic-3/partition=3/reassignment' cluster_id: 'cluster-1' topic_name: 'topic-3' partition_id: 3 adding_replicas: - 3 removing_replicas: - 1 - 2 replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/3/replicas' ListBrokerConfigsResponse: description: 'The list of broker configs.' content: application/json: schema: $ref: '#/components/schemas/BrokerConfigDataList' example: kind: 'KafkaBrokerConfigList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs' next: null data: - kind: 'KafkaBrokerConfig' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs/max.connections' resource_name: 'crn:///kafka=cluster-1/broker=1/config=max.connections' cluster_id: 'cluster-1' broker_id: 1 name: 'max.connections' value: '1000' is_default: false is_read_only: false is_sensitive: false source: 'DYNAMIC_BROKER_CONFIG' synonyms: - name: 'max.connections' value: '1000' source: 'DYNAMIC_BROKER_CONFIG' - name: 'max.connections' value: '2147483647' source: 'DEFAULT_CONFIG' - kind: 'KafkaBrokerConfig' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs/compression.type' resource_name: 'crn:///kafka=cluster-1/broker=1/config=compression.type' cluster_id: 'cluster-1' broker_id: 1 name: 'compression.type' value: 'gzip' is_default: false is_read_only: false is_sensitive: false source: 'DYNAMIC_BROKER_CONFIG' synonyms: - name: 'compression.type' value: 'gzip' source: 'DYNAMIC_BROKER_CONFIG' - name: 'compression.type' value: 'producer' source: 'DEFAULT_CONFIG' ListBrokersResponse: description: 'The list of brokers.' content: application/json: schema: $ref: '#/components/schemas/BrokerDataList' example: kind: 'KafkaBrokerList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers' next: null data: - kind: 'KafkaBroker' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' resource_name: 'crn:///kafka=cluster-1/broker=1' cluster_id: 'cluster-1' broker_id: 1 host: 'localhost' port: 9291 configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/configs' partition_replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/partition-replicas' - kind: 'KafkaBroker' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2' resource_name: 'crn:///kafka=cluster-1/broker=2' cluster_id: 'cluster-1' broker_id: 2 host: 'localhost' port: 9292 configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2/configs' partition_replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2/partition-replicas' - kind: 'KafkaBroker' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3' resource_name: 'crn:///kafka=cluster-1/broker=3' cluster_id: 'cluster-1' broker_id: 3 host: 'localhost' port: 9293 configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3/configs' partition_replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3/partition-replicas' ListClusterConfigsResponse: description: 'The list of cluster configs.' content: application/json: schema: $ref: '#/components/schemas/ClusterConfigDataList' example: kind: 'KafkaClusterConfigList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs' next: null data: - kind: 'KafkaClusterConfig' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/max.connections' resource_name: 'crn:///kafka=cluster-1/broker-config=max.connections' cluster_id: 'cluster-1' config_type: 'BROKER' name: 'max.connections' value: '1000' is_default: false is_read_only: false is_sensitive: false source: 'DYNAMIC_DEFAULT_BROKER_CONFIG' synonyms: - name: 'max.connections' value: '1000' source: 'DYNAMIC_DEFAULT_BROKER_CONFIG' - name: 'max.connections' value: '2147483647' source: 'DEFAULT_CONFIG' - kind: 'KafkaClusterConfig' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type' resource_name: 'crn:///kafka=cluster-1/broker-config=compression.type' cluster_id: 'cluster-1' config_type: 'BROKER' name: 'compression.type' value: 'gzip' is_default: false is_read_only: false is_sensitive: false source: 'DYNAMIC_DEFAULT_BROKER_CONFIG' synonyms: - name: 'compression.type' value: 'gzip' source: 'DYNAMIC_DEFAULT_BROKER_CONFIG' - name: 'compression.type' value: 'producer' source: 'DEFAULT_CONFIG' ListClustersResponse: description: 'The list of Kafka clusters.' content: application/json: schema: $ref: '#/components/schemas/ClusterDataList' example: kind: 'KafkaClusterList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters' next: null data: - kind: 'KafkaCluster' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1' resource_name: 'crn:///kafka=cluster-1' cluster_id: 'cluster-1' controller: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' acls: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls' brokers: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers' broker_configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs' consumer_groups: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups' topics: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics' partition_reassignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/partitions/-/reassignment' ListConsumerAssignmentsResponse: description: 'The list of consumer group assignments.' content: application/json: schema: $ref: '#/components/schemas/ConsumerAssignmentDataList' example: kind: 'KafkaConsumerAssignmentList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments' next: null data: - kind: 'KafkaConsumerAssignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments/topic-1/partitions/1' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1/assignment=topic=1/partition=1' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' consumer_id: 'consumer-1' topic_name: 'topic-1' partition_id: 1 partition: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' lag: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1' - kind: 'KafkaConsumerAssignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments/topic-2/partitions/2' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1/assignment=topic=2/partition=2' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' consumer_id: 'consumer-1' topic_name: 'topic-2' partition_id: 2 partition: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/2' lag: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-2/partitions/2' - kind: 'KafkaConsumerAssignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments/topic-3/partitions/3' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1/assignment=topic=3/partition=3' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' consumer_id: 'consumer-1' topic_name: 'topic-3' partition_id: 3 partition: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/3' lag: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-3/partitions/3' ListConsumerGroupsResponse: description: 'The list of consumer groups.' content: application/json: schema: $ref: '#/components/schemas/ConsumerGroupDataList' example: kind: 'KafkaConsumerGroupList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups' next: null data: - kind: 'KafkaConsumerGroup' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' is_simple: false partition_assignor: 'org.apache.kafka.clients.consumer.RoundRobinAssignor' state: 'STABLE' coordinator: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' consumers: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' lag_summary: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary' - kind: 'KafkaConsumerGroup' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-2' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-2' is_simple: false partition_assignor: 'org.apache.kafka.clients.consumer.StickyAssignor' state: 'PREPARING_REBALANCE' coordinator: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2' consumers: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2/consumers' lag_summary: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2/lag-summary' - kind: 'KafkaConsumerGroup' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-3' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-3' is_simple: false partition_assignor: 'org.apache.kafka.clients.consumer.RangeAssignor' state: 'DEAD' coordinator: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3' consumers: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3/consumers' lag_summary: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3/lag-summary' ListConsumerLagsResponse: description: 'The list of consumer lags.' content: application/json: schema: $ref: '#/components/schemas/ConsumerLagDataList' example: kind: 'KafkaConsumerLagList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags' next: null data: - kind: 'KafkaConsumerLag' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=1' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' topic_name: 'topic-1' partition_id: 1 consumer_id: 'consumer-1' instance_id: 'consumer-instance-1' client_id: 'client-1' current_offset: 1 log_end_offset: 101 lag: 100 - kind: 'KafkaConsumerLag' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/2' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=2' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' topic_name: 'topic-1' partition_id: 2 consumer_id: 'consumer-2' instance_id: 'consumer-instance-2' client_id: 'client-2' current_offset: 1 log_end_offset: 11 lag: 10 - kind: 'KafkaConsumerLag' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/3' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=3' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' topic_name: 'topic-1' partition_id: 3 consumer_id: 'consumer-3' instance_id: 'consumer-instance-3' client_id: 'client-3' current_offset: 1 log_end_offset: 1 lag: 0 ListConsumersResponse: description: 'The list of consumers.' content: application/json: schema: $ref: '#/components/schemas/ConsumerDataList' example: kind: 'KafkaConsumerList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' next: null data: - kind: 'KafkaConsumer' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' consumer_id: 'consumer-1' instance_id: 'consumer-instance-1' client_id: 'client-1' assignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments' - kind: 'KafkaConsumer' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-2' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' consumer_id: 'consumer-2' instance_id: 'consumer-instance-2' client_id: 'client-2' assignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2/assignments' - kind: 'KafkaConsumer' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2' resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-2' cluster_id: 'cluster-1' consumer_group_id: 'consumer-group-1' consumer_id: 'consumer-2' instance_id: 'consumer-instance-2' client_id: 'client-2' assignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2/assignments' ListPartitionsResponse: description: 'The list of partitions.' content: application/json: schema: $ref: '#/components/schemas/PartitionDataList' example: kind: 'KafkaPartitionList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions' next: null data: - kind: 'KafkaPartition' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 1 leader: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1' replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' reassignment: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment' - kind: 'KafkaPartition' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=2' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 2 leader: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas/2' replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas' reassignment: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/reassignment' - kind: 'KafkaPartition' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=3' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 3 leader: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas/3' replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas' reassignment: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/reassignment' ListReplicasResponse: description: 'The list of replicas.' content: application/json: schema: $ref: '#/components/schemas/ReplicaDataList' example: kind: 'KafkaReplicaList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' next: null data: - kind: 'KafkaReplica' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1/replica=1' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 1 broker_id: 1 is_leader: true is_in_sync: true broker: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' - kind: 'KafkaReplica' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/2' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1/replica=2' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 1 broker_id: 2 is_leader: false is_in_sync: true broker: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2' - kind: 'KafkaReplica' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/3' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1/replica=3' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 1 broker_id: 3 is_leader: false is_in_sync: false broker: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3' ListTopicConfigsResponse: description: 'The list of cluster configs.' content: application/json: schema: $ref: '#/components/schemas/TopicConfigDataList' example: kind: 'KafkaTopicConfigList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs' next: null data: - kind: 'KafkaTopicConfig' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/cleanup.policy' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/config=cleanup.policy' cluster_id: 'cluster-1' topic_name: 'topic-1' name: 'cleanup.policy' value: 'compact' is_default: false is_read_only: false is_sensitive: false source: 'DYNAMIC_TOPIC_CONFIG' synonyms: - name: 'cleanup.policy' value: 'compact' source: 'DYNAMIC_TOPIC_CONFIG' - name: 'cleanup.policy' value: 'delete' source: 'DEFAULT_CONFIG' - kind: 'KafkaTopicConfig' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/config=compression.type' cluster_id: 'cluster-1' topic_name: 'topic-1' name: 'compression.type' value: 'gzip' is_default: false is_read_only: false is_sensitive: false source: 'DYNAMIC_TOPIC_CONFIG' synonyms: - name: 'compression.type' value: 'gzip' source: 'DYNAMIC_TOPIC_CONFIG' - name: 'compression.type' value: 'producer' source: 'DEFAULT_CONFIG' ListTopicsResponse: description: 'The list of topics.' content: application/json: schema: $ref: '#/components/schemas/TopicDataList' example: kind: 'KafkaTopicList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics' next: null data: - kind: 'KafkaTopic' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1' resource_name: 'crn:///kafka=cluster-1/topic=topic-1' cluster_id: 'cluster-1' topic_name: 'topic-1' is_internal: false replication_factor: 3 partitions_count: 1 partitions: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions' configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs' partition_reassignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/-/reassignments' - kind: 'KafkaTopic' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2' resource_name: 'crn:///kafka=cluster-1/topic=topic-2' cluster_id: 'cluster-1' topic_name: 'topic-2' is_internal: true replication_factor: 4 partitions_count: 1 partitions: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions' configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/configs' partition_reassignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/-/reassignments' - kind: 'KafkaTopic' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3' resource_name: 'crn:///kafka=cluster-1/topic=topic-3' cluster_id: 'cluster-1' topic_name: 'topic-3' is_internal: false replication_factor: 5 partitions_count: 1 partitions: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions' configs: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/configs' partition_reassignments: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/-/reassignments' ProduceResponse: description: '' content: application/json: schema: $ref: '#/components/schemas/ProduceResponse' example: cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 1 offset: 0 timestamp: '2021-02-05T19:14:42Z' key: type: BINARY size: 7 value: type: AVRO subject: 'topic-1-value' schema_id: 1 schema_version: 1 size: 7 SearchAclsResponse: description: 'The list of ACLs.' content: application/json: schema: $ref: '#/components/schemas/AclDataList' example: kind: 'KafkaAclList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?principal=alice' data: - kind: 'KafkaAcl' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=TOPIC&resource_name=topic-&pattern_type=PREFIXED&principal=alice&host=*&operation=ALL&permission=ALLOW' cluster_id: 'cluster-1' resource_type: 'TOPIC' resource_name: 'topic-' pattern_type: 'PREFIXED' principal: 'alice' host: '*' operation: 'ALL' permission: 'ALLOW' - kind: 'KafkaAcl' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=CLUSTER&resource_name=cluster-1&pattern_type=LITERAL&principal=bob&host=*&operation=DESCRIBE&permission=DENY' cluster_id: 'cluster-1' resource_type: 'CLUSTER' resource_name: 'cluster-2' pattern_type: 'LITERAL' principal: 'alice' host: '*' operation: 'DESCRIBE' permission: 'DENY' SearchReassignmentsByTopicResponse: description: "The ongoing replicas reassignments." content: application/json: schema: $ref: '#/components/schemas/ReassignmentDataList' example: kind: 'KafkaReassignmentList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/partitions/-/reassignment' next: null data: - kind: 'KafkaReassignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1/reassignment' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 1 adding_replicas: - 1 - 2 removing_replicas: - 3 replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' - kind: 'KafkaReassignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/reassignment' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=2/reassignment' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 2 adding_replicas: - 1 removing_replicas: - 2 - 3 replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas' - kind: 'KafkaReassignment' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/reassignment' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=3/reassignment' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 3 adding_replicas: - 3 removing_replicas: - 1 - 2 replicas: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas' SearchReplicasByBrokerResponse: description: 'The list of replicas.' content: application/json: schema: $ref: '#/components/schemas/ReplicaDataList' example: kind: 'KafkaReplicaList' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1/partition-replicas' next: null data: - kind: 'KafkaReplica' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas/1' resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=2/replica=1' cluster_id: 'cluster-1' topic_name: 'topic-1' partition_id: 2 broker_id: 1 is_leader: true is_in_sync: true broker: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' - kind: 'KafkaReplica' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/3/replicas/1' resource_name: 'crn:///kafka=cluster-1/topic=topic-3/partition=3/replica=1' cluster_id: 'cluster-1' topic_name: 'topic-2' partition_id: 3 broker_id: 1 is_leader: false is_in_sync: true broker: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' - kind: 'KafkaReplica' metadata: self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/1/replicas/1' resource_name: 'crn:///kafka=cluster-1/topic=topic-3/partition=1/replica=1' cluster_id: 'cluster-1' topic_name: 'topic-3' partition_id: 1 broker_id: 1 is_leader: false is_in_sync: false broker: related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' # Error responses BadRequestErrorResponse: description: 'Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. Usually serves application/json content, although in some cases simple text/plain content can be returned.' content: application/json: schema: $ref: '#/components/schemas/Error' examples: create_topic_already_exists: description: "Thrown when trying to create a topic with a name already used by an existing topic." value: error_code: 40002 message: "Topic 'my-topic' already exists." produce_message_badly_escaped: description: "Thrown when using unescaped single quotes within a single-quote-delimited record." value: error_code: 400 message: "Unexpected character ('k' (code 107)): was expecting double-quote to start field name\n at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 3]" text/plain: schema: type: string example: description: "Thrown when trying to create a topic and passing a string for the replication factor." value: 'Cannot deserialize value of type `java.lang.Integer` from String "all": not a valid Integer value\n at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 53] (through reference chain: io.confluent.kafkarest.entities.v3.CreateTopicRequest["partitions_count"])' UnauthorizedErrorResponse: description: 'Indicates a client authentication error. Kafka authentication failures will contain error code 40101 in the response body.' content: application/json: schema: $ref: '#/components/schemas/Error' examples: kafka_authentication_failed: description: "Thrown when using Basic authentication with wrong Kafka credentials." value: error_code: 40101 message: "Authentication failed" NotFoundErrorResponse: description: 'Indicates attempted access to an unreachable or non-existing resource like e.g. an unknown topic or partition. GET requests to endpoints not allowed in the accesslists will also result in this response.' content: application/json: schema: $ref: '#/components/schemas/Error' examples: endpoint_not_found: description: "Thrown for generic HTTP 404 errors." value: error_code: 404 message: "HTTP 404 Not Found" cluster_not_found: description: "Thrown when using a non-existing cluster ID." value: error_code: 404 message: "Cluster my-cluster cannot be found." unknown_topic_or_partition: description: "Thrown when using a non-existing topic name or partition ID." value: error_code: 40403 message: "This server does not host this topic-partition." TooManyRequestsErrorResponse: description: 'Indicates that a rate limit threshold has been reached, and the client should retry again later.' content: text/html: schema: type: string example: description: "A sample response from Jetty's DoSFilter." value: '
| URI: | /v3/clusters/my-cluster |
|---|---|
| STATUS: | 429 |
| MESSAGE: | Too Many Requests |
| SERVLET: | default |