openapi: 3.0.0 info: title: Kafka HTTP API version: 3.0.0 servers: - url: "{protocol}://{address}:{port}/v3" 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" 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 paths: /clusters: get: summary: 'List Clusters' description: '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' /clusters/{cluster_id}: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'Get Cluster' description: 'Returns the Kafka cluster with the specified ``cluster_id``.' tags: - Cluster responses: '200': $ref: '#/components/responses/GetClusterResponse' /clusters/{cluster_id}/acls: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'Search ACLs' description: 'Returns a list of ACLs that match the search criteria.' tags: - ACL 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' post: summary: 'Create ACLs' description: 'Creates an ACL.' tags: - ACL requestBody: $ref: '#/components/requestBodies/CreateAclRequest' responses: '201': description: 'No Content' delete: summary: 'Delete ACLs' description: 'Deletes the list of ACLs that matches the search criteria.' tags: - ACL 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' /clusters/{cluster_id}/broker-configs: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List Cluster Configs' description: 'Returns a list of configuration parameters for the specified Kafka cluster.' tags: - Configs responses: '200': $ref: '#/components/responses/ListClusterConfigsResponse' /clusters/{cluster_id}/broker-configs:alter: parameters: - $ref: '#/components/parameters/ClusterId' post: summary: 'Batch Alter Cluster Configs' description: 'Updates or deletes a set of Kafka cluster configuration parameters.' tags: - Configs requestBody: $ref: '#/components/requestBodies/AlterClusterConfigBatchRequest' responses: '204': description: 'No Content' /clusters/{cluster_id}/broker-configs/{name}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConfigName' get: summary: 'Get Cluster Config' description: 'Returns the configuration parameter specified by ``name``.' tags: - Configs responses: '200': $ref: '#/components/responses/GetClusterConfigResponse' put: summary: 'Update Cluster Config' description: 'Updates the configuration parameter specified by ``name``.' tags: - Configs requestBody: $ref: '#/components/requestBodies/UpdateClusterConfigRequest' responses: '204': description: 'No Content' delete: summary: 'Reset Cluster Config' description: 'Resets the configuration parameter specified by ``name`` to its default value.' tags: - Configs responses: '204': description: 'No Content' /clusters/{cluster_id}/brokers: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List Brokers' description: 'Return a list of brokers that belong to the specified Kafka cluster.' tags: - Broker responses: '200': $ref: '#/components/responses/ListBrokersResponse' /clusters/{cluster_id}/brokers/{broker_id}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/BrokerId' get: summary: 'Get Broker' description: 'Returns the broker specified by ``broker_id``.' tags: - Broker responses: '200': $ref: '#/components/responses/GetBrokerResponse' /clusters/{cluster_id}/brokers/-/configs: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List All Broker Configs' description: 'Return the list of configuration parameters for all the brokers in the given Kafka cluster.' tags: - Configs responses: '200': $ref: '#/components/responses/ListBrokerConfigsResponse' /clusters/{cluster_id}/brokers/{broker_id}/configs: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/BrokerId' get: summary: 'List Broker Configs' description: 'Return the list of configuration parameters that belong to the specified Kafka broker.' tags: - Configs responses: '200': $ref: '#/components/responses/ListBrokerConfigsResponse' /clusters/{cluster_id}/brokers/{broker_id}/configs:alter: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/BrokerId' post: summary: 'Batch Alter Broker Configs' description: 'Updates or deletes a set of broker configuration parameters.' tags: - Configs requestBody: $ref: '#/components/requestBodies/AlterBrokerConfigBatchRequest' responses: '204': description: 'No Content' /clusters/{cluster_id}/brokers/{broker_id}/configs/{name}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/BrokerId' - $ref: '#/components/parameters/ConfigName' get: summary: 'Get Broker Config' description: 'Return the configuration parameter specified by ``name``.' tags: - Configs responses: '200': $ref: '#/components/responses/GetBrokerConfigResponse' put: summary: 'Update Broker Config' description: 'Updates the configuration parameter specified by ``name``.' tags: - Configs requestBody: $ref: '#/components/requestBodies/UpdateBrokerConfigRequest' responses: '204': description: 'No Content' delete: summary: 'Reset Broker Config' description: 'Resets the configuration parameter specified by ``name`` to its default value.' tags: - Configs responses: '204': description: 'No Content' /clusters/{cluster_id}/brokers/{broker_id}/partition-replicas: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/BrokerId' get: summary: 'Search Replicas by Broker' description: 'Returns the list of replicas assigned to the specified broker.' tags: - Broker - Replica responses: '200': $ref: '#/components/responses/SearchReplicasByBrokerResponse' /clusters/{cluster_id}/consumer-groups: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List Consumer Groups' description: 'Returns the list of consumer groups that belong to the specified Kafka cluster.' tags: - Consumer Group responses: '200': $ref: '#/components/responses/ListConsumerGroupsResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' get: summary: 'Get Consumer Group' description: 'Returns the consumer group specified by the ``consumer_group_id``.' tags: - Consumer Group responses: '200': $ref: '#/components/responses/GetConsumerGroupResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' get: summary: 'List Consumers' description: 'Returns a list of consumers that belong to the specified consumer group.' tags: - Consumer Group responses: '200': $ref: '#/components/responses/ListConsumersResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lag-summary: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' get: summary: 'Get Consumer Group Lag Summary.' description: 'Returns the max and total lag of the consumers belonging to the specified consumer group.' tags: - Consumer Group responses: '200': $ref: '#/components/responses/GetConsumerGroupLagSummaryResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' get: summary: 'List Consumer Lags' description: 'Returns a list of consumer lags of the consumers belonging to the specified consumer group.' tags: - Consumer Group responses: '200': $ref: '#/components/responses/ListConsumerLagsResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags/{topic_name}/partitions/{partition_id}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/PartitionId' get: summary: 'Get Consumer Lag' description: 'Returns the consumer lag on a partition with the given `partition_id`.' tags: - Partition responses: '200': $ref: '#/components/responses/GetConsumerLagResponse' /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' description: 'Returns the consumer specified by the ``consumer_id``.' tags: - Consumer Group responses: '200': $ref: '#/components/responses/GetConsumerResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers/{consumer_id}/assignments: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/ConsumerId' get: summary: 'List Consumer Assignments' description: 'Returns a list of partition assignments for the specified consumer.' tags: - Consumer Group responses: '200': $ref: '#/components/responses/ListConsumerAssignmentsResponse' /clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers/{consumer_id}/assignments/{topic_name}/partitions/{partition_id}: 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' description: 'Returns information about the assignment for the specified consumer to the specified partition.' tags: - Consumer Group responses: '200': $ref: '#/components/responses/GetConsumerAssignmentResponse' /clusters/{cluster_id}/topics: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List Topics' description: 'Returns the list of topics that belong to the specified Kafka cluster.' tags: - Topic responses: '200': $ref: '#/components/responses/ListTopicsResponse' post: summary: 'Create Topic' description: 'Creates a topic.' tags: - Topic requestBody: $ref: '#/components/requestBodies/CreateTopicRequest' responses: '201': $ref: '#/components/responses/CreateTopicResponse' /clusters/{cluster_id}/topics/{topic_name}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' get: summary: 'Get Topic' description: 'Returns the topic with the given `topic_name`.' tags: - Topic responses: '200': $ref: '#/components/responses/GetTopicResponse' delete: summary: 'Delete Topic' description: 'Deletes the topic with the given `topic_name`.' tags: - Topic responses: '204': description: 'No Content' /clusters/{cluster_id}/topics/{topic_name}/configs: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' get: summary: 'List Topic Configs' description: 'Return the list of configs that belong to the specified topic.' tags: - Configs responses: '200': $ref: '#/components/responses/ListTopicConfigsResponse' /clusters/{cluster_id}/topics/{topic_name}/configs:alter: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' post: summary: 'Batch Alter Topic Configs' description: 'Updates or deletes a set of topic configs.' tags: - Configs requestBody: $ref: '#/components/requestBodies/AlterTopicConfigBatchRequest' responses: '204': description: 'No Content' /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' description: 'Return the config with the given `name`.' tags: - Configs responses: '200': $ref: '#/components/responses/GetTopicConfigResponse' put: summary: 'Update Topic Config' description: 'Updates the config with given `name`.' tags: - Configs requestBody: $ref: '#/components/requestBodies/UpdateTopicConfigRequest' responses: '204': description: 'No Content' delete: summary: 'Reset Topic Config' description: 'Resets the config with given `name` to its default value.' tags: - Configs responses: '204': description: 'No Content' /clusters/{cluster_id}/topics/{topic_name}/partitions: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' get: summary: 'List Partitions' description: 'Returns the list of partitions that belong to the specified topic.' tags: - Partition responses: '200': $ref: '#/components/responses/ListPartitionsResponse' /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' description: 'Returns the partition with the given `partition_id`.' tags: - Partition responses: '200': $ref: '#/components/responses/GetPartitionResponse' /clusters/{cluster_id}/topics/-/partitions/-/reassignment: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'List All Replica Reassignments' description: 'Returns the list of all ongoing replica reassignments in the given Kafka cluster.' tags: - Partition responses: '200': $ref: '#/components/responses/ListAllReassignmentsResponse' /clusters/{cluster_id}/topics/{topic_name}/partitions/-/reassignment: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' get: summary: 'Search Replica Reassignments By Topic' description: 'Returns the list of ongoing replica reassignments for the given topic.' tags: - Partition responses: '200': $ref: '#/components/responses/SearchReassignmentsByTopicResponse' /clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}/reassignment: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/PartitionId' get: summary: 'Get Replica Reassignments' description: 'Returns the list of ongoing replica reassignments for the given partition.' tags: - Partition responses: '200': $ref: '#/components/responses/GetReassignmentResponse' /clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}/replicas: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/PartitionId' get: summary: 'List Replicas' description: 'Returns the list of replicas for the specified partition.' tags: - Replica responses: '200': $ref: '#/components/responses/ListReplicasResponse' /clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}/replicas/{broker_id}: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' - $ref: '#/components/parameters/PartitionId' - $ref: '#/components/parameters/BrokerId' get: summary: 'Get Replica' description: 'Returns the replica for the specified partition assigned to the specified broker.' tags: - Replica responses: '200': $ref: '#/components/responses/GetReplicaResponse' /clusters/{cluster_id}/topics/-/configs: parameters: - $ref: '#/components/parameters/ClusterId' get: summary: 'Get All Topic Configs' description: 'Returns all topic configurations for topics hosted by the specified cluster.' tags: - Configs responses: '200': $ref: '#/components/responses/ListTopicConfigsResponse' /clusters/{cluster_id}/topics/{topic_name}/records: parameters: - $ref: '#/components/parameters/ClusterId' - $ref: '#/components/parameters/TopicName' post: summary: 'Produce records to the given topic.' description: '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' 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 enum: - UNKNOWN - ANY - ALL - READ - WRITE - CREATE - DELETE - ALTER - DESCRIBE - CLUSTER_ACTION - DESCRIBE_CONFIGS - ALTER_CONFIGS - IDEMPOTENT_WRITE AclPatternType: type: string enum: - UNKNOWN - ANY - MATCH - LITERAL - PREFIXED AclPermission: type: string 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 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 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 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 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' 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: type: type: string 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 enum: - BINARY - JSON - AVRO - JSONSCHEMA - PROTOBUF subject: type: string nullable: true subject_name_strategy: type: string enum: - TOPIC_NAME - RECORD_NAME - TOPIC_RECORD_NAME nullable: true schema_id: type: integer nullable: true schema_version: type: integer nullable: true raw_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: 'cluster-1' pattern_type: 'LITERAL' principal: 'alice' 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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-X/partitions' configs: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-X/configs' partition_reassignments: related: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1/configs' partition_replicas: related: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1' resource_name: 'crn:///kafka=cluster-1' cluster_id: 'cluster-1' controller: related: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1' acls: related: 'http://localhost:9391/v3/clusters/cluster-1/acls' brokers: related: 'http://localhost:9391/v3/clusters/cluster-1/brokers' broker_configs: related: 'http://localhost:9391/v3/clusters/cluster-1/broker-configs' consumer_groups: related: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups' topics: related: 'http://localhost:9391/v3/clusters/cluster-1/topics' partition_reassignments: related: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/1' lag: related: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1' consumers: related: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' lag_summary: related: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1' max_lag_partition: related: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1' replicas: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' reassignment: related: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions' configs: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/configs' partition_reassignments: related: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/-/partitions/-/reassignment' next: null data: - kind: 'KafkaReassignment' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' - kind: 'KafkaReassignment' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-2/partitions/2/replicas' - kind: 'KafkaReassignment' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1/configs' next: null data: - kind: 'KafkaBrokerConfig' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers' next: null data: - kind: 'KafkaBroker' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1/configs' partition_replicas: related: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1/partition-replicas' - kind: 'KafkaBroker' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/2/configs' partition_replicas: related: 'http://localhost:9391/v3/clusters/cluster-1/brokers/2/partition-replicas' - kind: 'KafkaBroker' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/3/configs' partition_replicas: related: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/broker-configs' next: null data: - kind: 'KafkaClusterConfig' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters' next: null data: - kind: 'KafkaCluster' metadata: self: 'http://localhost:9391/v3/clusters/cluster-1' resource_name: 'crn:///kafka=cluster-1' cluster_id: 'cluster-1' controller: related: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1' acls: related: 'http://localhost:9391/v3/clusters/cluster-1/acls' brokers: related: 'http://localhost:9391/v3/clusters/cluster-1/brokers' broker_configs: related: 'http://localhost:9391/v3/clusters/cluster-1/broker-configs' consumer_groups: related: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups' topics: related: 'http://localhost:9391/v3/clusters/cluster-1/topics' partition_reassignments: related: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments' next: null data: - kind: 'KafkaConsumerAssignment' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/1' lag: related: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1' - kind: 'KafkaConsumerAssignment' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-2/partitions/2' lag: related: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-2/partitions/2' - kind: 'KafkaConsumerAssignment' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-3/partitions/3' lag: related: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups' next: null data: - kind: 'KafkaConsumerGroup' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1' consumers: related: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' lag_summary: related: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary' - kind: 'KafkaConsumerGroup' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/2' consumers: related: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-2/consumers' lag_summary: related: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-2/lag-summary' - kind: 'KafkaConsumerGroup' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/3' consumers: related: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-3/consumers' lag_summary: related: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags' next: null data: - kind: 'KafkaConsumerLag' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' next: null data: - kind: 'KafkaConsumer' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments' - kind: 'KafkaConsumer' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2/assignments' - kind: 'KafkaConsumer' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions' next: null data: - kind: 'KafkaPartition' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1' replicas: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' reassignment: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment' - kind: 'KafkaPartition' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas/2' replicas: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas' reassignment: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/2/reassignment' - kind: 'KafkaPartition' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas/3' replicas: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas' reassignment: related: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' next: null data: - kind: 'KafkaReplica' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1' - kind: 'KafkaReplica' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/2' - kind: 'KafkaReplica' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/configs' next: null data: - kind: 'KafkaTopicConfig' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics' next: null data: - kind: 'KafkaTopic' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions' configs: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/configs' partition_reassignments: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/-/reassignments' - kind: 'KafkaTopic' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-2/partitions' configs: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-2/configs' partition_reassignments: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-2/partitions/-/reassignments' - kind: 'KafkaTopic' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-3/partitions' configs: related: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-3/configs' partition_reassignments: related: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/acls?principal=alice' data: - kind: 'KafkaAcl' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/-/partitions/-/reassignment' next: null data: - kind: 'KafkaReassignment' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' - kind: 'KafkaReassignment' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas' - kind: 'KafkaReassignment' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1/partition-replicas' next: null data: - kind: 'KafkaReplica' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1' - kind: 'KafkaReplica' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1' - kind: 'KafkaReplica' metadata: self: 'http://localhost:9391/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: 'http://localhost:9391/v3/clusters/cluster-1/brokers/1'