# generated code, do not edit! #ApiKey: Produce, 0 ProduceRequestV0 => acks timeout [topic_data] acks => INT16 timeout => INT32 topic_data => topic [data] topic => STRING data => partition record_set partition => INT32 record_set => RECORDS # acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR. # timeout: The time to await a response in ms. # topic: Name of topic # partition: Topic partition id ProduceRequestV1 => acks timeout [topic_data] acks => INT16 timeout => INT32 topic_data => topic [data] topic => STRING data => partition record_set partition => INT32 record_set => RECORDS # acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR. # timeout: The time to await a response in ms. # topic: Name of topic # partition: Topic partition id ProduceRequestV2 => acks timeout [topic_data] acks => INT16 timeout => INT32 topic_data => topic [data] topic => STRING data => partition record_set partition => INT32 record_set => RECORDS # acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR. # timeout: The time to await a response in ms. # topic: Name of topic # partition: Topic partition id ProduceRequestV3 => transactional_id acks timeout [topic_data] transactional_id => NULLABLE_STRING acks => INT16 timeout => INT32 topic_data => topic [data] topic => STRING data => partition record_set partition => INT32 record_set => RECORDS # transactional_id: The transactional id or null if the producer is not transactional # acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR. # timeout: The time to await a response in ms. # topic: Name of topic # partition: Topic partition id ProduceRequestV4 => transactional_id acks timeout [topic_data] transactional_id => NULLABLE_STRING acks => INT16 timeout => INT32 topic_data => topic [data] topic => STRING data => partition record_set partition => INT32 record_set => RECORDS # transactional_id: The transactional id or null if the producer is not transactional # acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR. # timeout: The time to await a response in ms. # topic: Name of topic # partition: Topic partition id ProduceRequestV5 => transactional_id acks timeout [topic_data] transactional_id => NULLABLE_STRING acks => INT16 timeout => INT32 topic_data => topic [data] topic => STRING data => partition record_set partition => INT32 record_set => RECORDS # transactional_id: The transactional id or null if the producer is not transactional # acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR. # timeout: The time to await a response in ms. # topic: Name of topic # partition: Topic partition id ProduceRequestV6 => transactional_id acks timeout [topic_data] transactional_id => NULLABLE_STRING acks => INT16 timeout => INT32 topic_data => topic [data] topic => STRING data => partition record_set partition => INT32 record_set => RECORDS # transactional_id: The transactional id or null if the producer is not transactional # acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR. # timeout: The time to await a response in ms. # topic: Name of topic # partition: Topic partition id ProduceRequestV7 => transactional_id acks timeout [topic_data] transactional_id => NULLABLE_STRING acks => INT16 timeout => INT32 topic_data => topic [data] topic => STRING data => partition record_set partition => INT32 record_set => RECORDS # transactional_id: The transactional id or null if the producer is not transactional # acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR. # timeout: The time to await a response in ms. # topic: Name of topic # partition: Topic partition id ProduceResponseV0 => [responses] responses => topic [partition_responses] topic => STRING partition_responses => partition error_code base_offset partition => INT32 error_code => INT16 base_offset => INT64 # topic: Name of topic # partition: Topic partition id # error_code: Response error code ProduceResponseV1 => [responses] throttle_time_ms responses => topic [partition_responses] topic => STRING partition_responses => partition error_code base_offset partition => INT32 error_code => INT16 base_offset => INT64 throttle_time_ms => INT32 # topic: Name of topic # partition: Topic partition id # error_code: Response error code # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) ProduceResponseV2 => [responses] throttle_time_ms responses => topic [partition_responses] topic => STRING partition_responses => partition error_code base_offset log_append_time partition => INT32 error_code => INT16 base_offset => INT64 log_append_time => INT64 throttle_time_ms => INT32 # topic: Name of topic # partition: Topic partition id # error_code: Response error code # log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) ProduceResponseV3 => [responses] throttle_time_ms responses => topic [partition_responses] topic => STRING partition_responses => partition error_code base_offset log_append_time partition => INT32 error_code => INT16 base_offset => INT64 log_append_time => INT64 throttle_time_ms => INT32 # topic: Name of topic # partition: Topic partition id # error_code: Response error code # log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) ProduceResponseV4 => [responses] throttle_time_ms responses => topic [partition_responses] topic => STRING partition_responses => partition error_code base_offset log_append_time partition => INT32 error_code => INT16 base_offset => INT64 log_append_time => INT64 throttle_time_ms => INT32 # topic: Name of topic # partition: Topic partition id # error_code: Response error code # log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) ProduceResponseV5 => [responses] throttle_time_ms responses => topic [partition_responses] topic => STRING partition_responses => partition error_code base_offset log_append_time log_start_offset partition => INT32 error_code => INT16 base_offset => INT64 log_append_time => INT64 log_start_offset => INT64 throttle_time_ms => INT32 # topic: Name of topic # partition: Topic partition id # error_code: Response error code # log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended. # log_start_offset: The start offset of the log at the time this produce response was created # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) ProduceResponseV6 => [responses] throttle_time_ms responses => topic [partition_responses] topic => STRING partition_responses => partition error_code base_offset log_append_time log_start_offset partition => INT32 error_code => INT16 base_offset => INT64 log_append_time => INT64 log_start_offset => INT64 throttle_time_ms => INT32 # topic: Name of topic # partition: Topic partition id # error_code: Response error code # log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended. # log_start_offset: The start offset of the log at the time this produce response was created # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) ProduceResponseV7 => [responses] throttle_time_ms responses => topic [partition_responses] topic => STRING partition_responses => partition error_code base_offset log_append_time log_start_offset partition => INT32 error_code => INT16 base_offset => INT64 log_append_time => INT64 log_start_offset => INT64 throttle_time_ms => INT32 # topic: Name of topic # partition: Topic partition id # error_code: Response error code # log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended. # log_start_offset: The start offset of the log at the time this produce response was created # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) #ApiKey: Fetch, 1 FetchRequestV0 => replica_id max_wait_time min_bytes [topics] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 topics => topic [partitions] topic => STRING partitions => partition fetch_offset partition_max_bytes partition => INT32 fetch_offset => INT64 partition_max_bytes => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # fetch_offset: Message offset. # partition_max_bytes: Maximum bytes to fetch. FetchRequestV1 => replica_id max_wait_time min_bytes [topics] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 topics => topic [partitions] topic => STRING partitions => partition fetch_offset partition_max_bytes partition => INT32 fetch_offset => INT64 partition_max_bytes => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # fetch_offset: Message offset. # partition_max_bytes: Maximum bytes to fetch. FetchRequestV2 => replica_id max_wait_time min_bytes [topics] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 topics => topic [partitions] topic => STRING partitions => partition fetch_offset partition_max_bytes partition => INT32 fetch_offset => INT64 partition_max_bytes => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # fetch_offset: Message offset. # partition_max_bytes: Maximum bytes to fetch. FetchRequestV3 => replica_id max_wait_time min_bytes max_bytes [topics] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 max_bytes => INT32 topics => topic [partitions] topic => STRING partitions => partition fetch_offset partition_max_bytes partition => INT32 fetch_offset => INT64 partition_max_bytes => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made. # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # fetch_offset: Message offset. # partition_max_bytes: Maximum bytes to fetch. FetchRequestV4 => replica_id max_wait_time min_bytes max_bytes isolation_level [topics] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 max_bytes => INT32 isolation_level => INT8 topics => topic [partitions] topic => STRING partitions => partition fetch_offset partition_max_bytes partition => INT32 fetch_offset => INT64 partition_max_bytes => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # fetch_offset: Message offset. # partition_max_bytes: Maximum bytes to fetch. FetchRequestV5 => replica_id max_wait_time min_bytes max_bytes isolation_level [topics] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 max_bytes => INT32 isolation_level => INT8 topics => topic [partitions] topic => STRING partitions => partition fetch_offset log_start_offset partition_max_bytes partition => INT32 fetch_offset => INT64 log_start_offset => INT64 partition_max_bytes => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # fetch_offset: Message offset. # log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower. # partition_max_bytes: Maximum bytes to fetch. FetchRequestV6 => replica_id max_wait_time min_bytes max_bytes isolation_level [topics] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 max_bytes => INT32 isolation_level => INT8 topics => topic [partitions] topic => STRING partitions => partition fetch_offset log_start_offset partition_max_bytes partition => INT32 fetch_offset => INT64 log_start_offset => INT64 partition_max_bytes => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # fetch_offset: Message offset. # log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower. # partition_max_bytes: Maximum bytes to fetch. FetchRequestV7 => replica_id max_wait_time min_bytes max_bytes isolation_level session_id session_epoch [topics] [forgotten_topics_data] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 max_bytes => INT32 isolation_level => INT8 session_id => INT32 session_epoch => INT32 topics => topic [partitions] topic => STRING partitions => partition fetch_offset log_start_offset partition_max_bytes partition => INT32 fetch_offset => INT64 log_start_offset => INT64 partition_max_bytes => INT32 forgotten_topics_data => topic [partitions] topic => STRING partitions => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # session_id: The fetch session ID # session_epoch: The fetch session epoch # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # fetch_offset: Message offset. # log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower. # partition_max_bytes: Maximum bytes to fetch. # forgotten_topics_data: Topics to remove from the fetch session. # topic: Name of topic # partitions: Partitions to remove from the fetch session. FetchRequestV8 => replica_id max_wait_time min_bytes max_bytes isolation_level session_id session_epoch [topics] [forgotten_topics_data] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 max_bytes => INT32 isolation_level => INT8 session_id => INT32 session_epoch => INT32 topics => topic [partitions] topic => STRING partitions => partition fetch_offset log_start_offset partition_max_bytes partition => INT32 fetch_offset => INT64 log_start_offset => INT64 partition_max_bytes => INT32 forgotten_topics_data => topic [partitions] topic => STRING partitions => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # session_id: The fetch session ID # session_epoch: The fetch session epoch # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # fetch_offset: Message offset. # log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower. # partition_max_bytes: Maximum bytes to fetch. # forgotten_topics_data: Topics to remove from the fetch session. # topic: Name of topic # partitions: Partitions to remove from the fetch session. FetchRequestV9 => replica_id max_wait_time min_bytes max_bytes isolation_level session_id session_epoch [topics] [forgotten_topics_data] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 max_bytes => INT32 isolation_level => INT8 session_id => INT32 session_epoch => INT32 topics => topic [partitions] topic => STRING partitions => partition current_leader_epoch fetch_offset log_start_offset partition_max_bytes partition => INT32 current_leader_epoch => INT32 fetch_offset => INT64 log_start_offset => INT64 partition_max_bytes => INT32 forgotten_topics_data => topic [partitions] topic => STRING partitions => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # session_id: The fetch session ID # session_epoch: The fetch session epoch # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # current_leader_epoch: The current leader epoch, if provided, is used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch known to the broker, then the UNKNOWN_LEADER_EPOCH error code will be returned. If the provided epoch is smaller, then the FENCED_LEADER_EPOCH error code will be returned. # fetch_offset: Message offset. # log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower. # partition_max_bytes: Maximum bytes to fetch. # forgotten_topics_data: Topics to remove from the fetch session. # topic: Name of topic # partitions: Partitions to remove from the fetch session. FetchRequestV10 => replica_id max_wait_time min_bytes max_bytes isolation_level session_id session_epoch [topics] [forgotten_topics_data] replica_id => INT32 max_wait_time => INT32 min_bytes => INT32 max_bytes => INT32 isolation_level => INT8 session_id => INT32 session_epoch => INT32 topics => topic [partitions] topic => STRING partitions => partition current_leader_epoch fetch_offset log_start_offset partition_max_bytes partition => INT32 current_leader_epoch => INT32 fetch_offset => INT64 log_start_offset => INT64 partition_max_bytes => INT32 forgotten_topics_data => topic [partitions] topic => STRING partitions => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # max_wait_time: Maximum time in ms to wait for the response. # min_bytes: Minimum bytes to accumulate in the response. # max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # session_id: The fetch session ID # session_epoch: The fetch session epoch # topics: Topics to fetch in the order provided. # topic: Name of topic # partitions: Partitions to fetch. # partition: Topic partition id # current_leader_epoch: The current leader epoch, if provided, is used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch known to the broker, then the UNKNOWN_LEADER_EPOCH error code will be returned. If the provided epoch is smaller, then the FENCED_LEADER_EPOCH error code will be returned. # fetch_offset: Message offset. # log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower. # partition_max_bytes: Maximum bytes to fetch. # forgotten_topics_data: Topics to remove from the fetch session. # topic: Name of topic # partitions: Partitions to remove from the fetch session. FetchResponseV0 => [responses] responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark partition => INT32 error_code => INT16 high_watermark => INT64 record_set => RECORDS # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. FetchResponseV1 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark partition => INT32 error_code => INT16 high_watermark => INT64 record_set => RECORDS # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. FetchResponseV2 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark partition => INT32 error_code => INT16 high_watermark => INT64 record_set => RECORDS # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. FetchResponseV3 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark partition => INT32 error_code => INT16 high_watermark => INT64 record_set => RECORDS # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. FetchResponseV4 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark last_stable_offset [aborted_transactions] partition => INT32 error_code => INT16 high_watermark => INT64 last_stable_offset => INT64 aborted_transactions => producer_id first_offset producer_id => INT64 first_offset => INT64 record_set => RECORDS # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. # last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED) # producer_id: The producer id associated with the aborted transactions # first_offset: The first offset in the aborted transaction FetchResponseV5 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions] partition => INT32 error_code => INT16 high_watermark => INT64 last_stable_offset => INT64 log_start_offset => INT64 aborted_transactions => producer_id first_offset producer_id => INT64 first_offset => INT64 record_set => RECORDS # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. # last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED) # log_start_offset: Earliest available offset. # producer_id: The producer id associated with the aborted transactions # first_offset: The first offset in the aborted transaction FetchResponseV6 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions] partition => INT32 error_code => INT16 high_watermark => INT64 last_stable_offset => INT64 log_start_offset => INT64 aborted_transactions => producer_id first_offset producer_id => INT64 first_offset => INT64 record_set => RECORDS # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. # last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED) # log_start_offset: Earliest available offset. # producer_id: The producer id associated with the aborted transactions # first_offset: The first offset in the aborted transaction FetchResponseV7 => throttle_time_ms error_code session_id [responses] throttle_time_ms => INT32 error_code => INT16 session_id => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions] partition => INT32 error_code => INT16 high_watermark => INT64 last_stable_offset => INT64 log_start_offset => INT64 aborted_transactions => producer_id first_offset producer_id => INT64 first_offset => INT64 record_set => RECORDS # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # session_id: The fetch session ID # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. # last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED) # log_start_offset: Earliest available offset. # producer_id: The producer id associated with the aborted transactions # first_offset: The first offset in the aborted transaction FetchResponseV8 => throttle_time_ms error_code session_id [responses] throttle_time_ms => INT32 error_code => INT16 session_id => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions] partition => INT32 error_code => INT16 high_watermark => INT64 last_stable_offset => INT64 log_start_offset => INT64 aborted_transactions => producer_id first_offset producer_id => INT64 first_offset => INT64 record_set => RECORDS # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # session_id: The fetch session ID # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. # last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED) # log_start_offset: Earliest available offset. # producer_id: The producer id associated with the aborted transactions # first_offset: The first offset in the aborted transaction FetchResponseV9 => throttle_time_ms error_code session_id [responses] throttle_time_ms => INT32 error_code => INT16 session_id => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions] partition => INT32 error_code => INT16 high_watermark => INT64 last_stable_offset => INT64 log_start_offset => INT64 aborted_transactions => producer_id first_offset producer_id => INT64 first_offset => INT64 record_set => RECORDS # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # session_id: The fetch session ID # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. # last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED) # log_start_offset: Earliest available offset. # producer_id: The producer id associated with the aborted transactions # first_offset: The first offset in the aborted transaction FetchResponseV10 => throttle_time_ms error_code session_id [responses] throttle_time_ms => INT32 error_code => INT16 session_id => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition_header record_set partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions] partition => INT32 error_code => INT16 high_watermark => INT64 last_stable_offset => INT64 log_start_offset => INT64 aborted_transactions => producer_id first_offset producer_id => INT64 first_offset => INT64 record_set => RECORDS # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # session_id: The fetch session ID # topic: Name of topic # partition: Topic partition id # error_code: Response error code # high_watermark: Last committed offset. # last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED) # log_start_offset: Earliest available offset. # producer_id: The producer id associated with the aborted transactions # first_offset: The first offset in the aborted transaction #ApiKey: ListOffsets, 2 ListOffsetsRequestV0 => replica_id [topics] replica_id => INT32 topics => topic [partitions] topic => STRING partitions => partition timestamp max_num_offsets partition => INT32 timestamp => INT64 max_num_offsets => INT32 # replica_id: Broker id of the follower. For normal consumers, use -1. # topics: Topics to list offsets. # topic: Name of topic # partitions: Partitions to list offsets. # partition: Topic partition id # timestamp: The target timestamp for the partition. # max_num_offsets: Maximum offsets to return. ListOffsetsRequestV1 => replica_id [topics] replica_id => INT32 topics => topic [partitions] topic => STRING partitions => partition timestamp partition => INT32 timestamp => INT64 # replica_id: Broker id of the follower. For normal consumers, use -1. # topics: Topics to list offsets. # topic: Name of topic # partitions: Partitions to list offsets. # partition: Topic partition id # timestamp: The target timestamp for the partition. ListOffsetsRequestV2 => replica_id isolation_level [topics] replica_id => INT32 isolation_level => INT8 topics => topic [partitions] topic => STRING partitions => partition timestamp partition => INT32 timestamp => INT64 # replica_id: Broker id of the follower. For normal consumers, use -1. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # topics: Topics to list offsets. # topic: Name of topic # partitions: Partitions to list offsets. # partition: Topic partition id # timestamp: The target timestamp for the partition. ListOffsetsRequestV3 => replica_id isolation_level [topics] replica_id => INT32 isolation_level => INT8 topics => topic [partitions] topic => STRING partitions => partition timestamp partition => INT32 timestamp => INT64 # replica_id: Broker id of the follower. For normal consumers, use -1. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # topics: Topics to list offsets. # topic: Name of topic # partitions: Partitions to list offsets. # partition: Topic partition id # timestamp: The target timestamp for the partition. ListOffsetsRequestV4 => replica_id isolation_level [topics] replica_id => INT32 isolation_level => INT8 topics => topic [partitions] topic => STRING partitions => partition current_leader_epoch timestamp partition => INT32 current_leader_epoch => INT32 timestamp => INT64 # replica_id: Broker id of the follower. For normal consumers, use -1. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # topics: Topics to list offsets. # topic: Name of topic # partitions: Partitions to list offsets. # partition: Topic partition id # current_leader_epoch: The current leader epoch, if provided, is used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch known to the broker, then the UNKNOWN_LEADER_EPOCH error code will be returned. If the provided epoch is smaller, then the FENCED_LEADER_EPOCH error code will be returned. # timestamp: The target timestamp for the partition. ListOffsetsRequestV5 => replica_id isolation_level [topics] replica_id => INT32 isolation_level => INT8 topics => topic [partitions] topic => STRING partitions => partition current_leader_epoch timestamp partition => INT32 current_leader_epoch => INT32 timestamp => INT64 # replica_id: Broker id of the follower. For normal consumers, use -1. # isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records # topics: Topics to list offsets. # topic: Name of topic # partitions: Partitions to list offsets. # partition: Topic partition id # current_leader_epoch: The current leader epoch, if provided, is used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch known to the broker, then the UNKNOWN_LEADER_EPOCH error code will be returned. If the provided epoch is smaller, then the FENCED_LEADER_EPOCH error code will be returned. # timestamp: The target timestamp for the partition. ListOffsetsResponseV0 => [responses] responses => topic [partition_responses] topic => STRING partition_responses => partition error_code [offsets'] partition => INT32 error_code => INT16 offsets' => INT64 # responses: The listed offsets by topic # topic: Name of topic # partition_responses: The listed offsets by partition # partition: Topic partition id # error_code: Response error code # offsets': A list of offsets. ListOffsetsResponseV1 => [responses] responses => topic [partition_responses] topic => STRING partition_responses => partition error_code timestamp offset partition => INT32 error_code => INT16 timestamp => INT64 offset => INT64 # responses: The listed offsets by topic # topic: Name of topic # partition_responses: The listed offsets by partition # partition: Topic partition id # error_code: Response error code # timestamp: The timestamp associated with the returned offset # offset: The offset found ListOffsetsResponseV2 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition error_code timestamp offset partition => INT32 error_code => INT16 timestamp => INT64 offset => INT64 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: The listed offsets by topic # topic: Name of topic # partition_responses: The listed offsets by partition # partition: Topic partition id # error_code: Response error code # timestamp: The timestamp associated with the returned offset # offset: The offset found ListOffsetsResponseV3 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition error_code timestamp offset partition => INT32 error_code => INT16 timestamp => INT64 offset => INT64 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: The listed offsets by topic # topic: Name of topic # partition_responses: The listed offsets by partition # partition: Topic partition id # error_code: Response error code # timestamp: The timestamp associated with the returned offset # offset: The offset found ListOffsetsResponseV4 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition error_code timestamp offset leader_epoch partition => INT32 error_code => INT16 timestamp => INT64 offset => INT64 leader_epoch => INT32 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: The listed offsets by topic # topic: Name of topic # partition_responses: The listed offsets by partition # partition: Topic partition id # error_code: Response error code # timestamp: The timestamp associated with the returned offset # offset: The offset found # leader_epoch: The leader epoch ListOffsetsResponseV5 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition error_code timestamp offset leader_epoch partition => INT32 error_code => INT16 timestamp => INT64 offset => INT64 leader_epoch => INT32 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: The listed offsets by topic # topic: Name of topic # partition_responses: The listed offsets by partition # partition: Topic partition id # error_code: Response error code # timestamp: The timestamp associated with the returned offset # offset: The offset found # leader_epoch: The leader epoch #ApiKey: Metadata, 3 MetadataRequestV0 => [topics] topics => STRING # topics: An array of topics to fetch metadata for. If no topics are specified fetch metadata for all topics. MetadataRequestV1 => [topics] topics => STRING # topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics. MetadataRequestV2 => [topics] topics => STRING # topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics. MetadataRequestV3 => [topics] topics => STRING # topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics. MetadataRequestV4 => [topics] allow_auto_topic_creation topics => STRING allow_auto_topic_creation => BOOLEAN # topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics. # allow_auto_topic_creation: If this and the broker config auto.create.topics.enable are true, topics that don't exist will be created by the broker. Otherwise, no topics will be created by the broker. MetadataRequestV5 => [topics] allow_auto_topic_creation topics => STRING allow_auto_topic_creation => BOOLEAN # topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics. # allow_auto_topic_creation: If this and the broker config auto.create.topics.enable are true, topics that don't exist will be created by the broker. Otherwise, no topics will be created by the broker. MetadataRequestV6 => [topics] allow_auto_topic_creation topics => STRING allow_auto_topic_creation => BOOLEAN # topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics. # allow_auto_topic_creation: If this and the broker config auto.create.topics.enable are true, topics that don't exist will be created by the broker. Otherwise, no topics will be created by the broker. MetadataRequestV7 => [topics] allow_auto_topic_creation topics => STRING allow_auto_topic_creation => BOOLEAN # topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics. # allow_auto_topic_creation: If this and the broker config auto.create.topics.enable are true, topics that don't exist will be created by the broker. Otherwise, no topics will be created by the broker. MetadataResponseV0 => [brokers] [topic_metadata] brokers => node_id host port node_id => INT32 host => STRING port => INT32 topic_metadata => error_code topic [partition_metadata] error_code => INT16 topic => STRING partition_metadata => error_code partition leader [replicas] [isr] error_code => INT16 partition => INT32 leader => INT32 replicas => INT32 isr => INT32 # brokers: Host and port information for all brokers. # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. # topic_metadata: Metadata for requested topics # error_code: Response error code # topic: Name of topic # partition_metadata: Metadata for each partition of the topic. # error_code: Response error code # partition: Topic partition id # leader: The id of the broker acting as leader for this partition. # replicas: The set of all nodes that host this partition. # isr: The set of nodes that are in sync with the leader for this partition. MetadataResponseV1 => [brokers] controller_id [topic_metadata] brokers => node_id host port rack node_id => INT32 host => STRING port => INT32 rack => NULLABLE_STRING controller_id => INT32 topic_metadata => error_code topic is_internal [partition_metadata] error_code => INT16 topic => STRING is_internal => BOOLEAN partition_metadata => error_code partition leader [replicas] [isr] error_code => INT16 partition => INT32 leader => INT32 replicas => INT32 isr => INT32 # brokers: Host and port information for all brokers. # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. # rack: The rack of the broker. # controller_id: The broker id of the controller broker. # topic_metadata: Metadata for requested topics # error_code: Response error code # topic: Name of topic # is_internal: Indicates if the topic is considered a Kafka internal topic # partition_metadata: Metadata for each partition of the topic. # error_code: Response error code # partition: Topic partition id # leader: The id of the broker acting as leader for this partition. # replicas: The set of all nodes that host this partition. # isr: The set of nodes that are in sync with the leader for this partition. MetadataResponseV2 => [brokers] cluster_id controller_id [topic_metadata] brokers => node_id host port rack node_id => INT32 host => STRING port => INT32 rack => NULLABLE_STRING cluster_id => NULLABLE_STRING controller_id => INT32 topic_metadata => error_code topic is_internal [partition_metadata] error_code => INT16 topic => STRING is_internal => BOOLEAN partition_metadata => error_code partition leader [replicas] [isr] error_code => INT16 partition => INT32 leader => INT32 replicas => INT32 isr => INT32 # brokers: Host and port information for all brokers. # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. # rack: The rack of the broker. # cluster_id: The cluster id that this broker belongs to. # controller_id: The broker id of the controller broker. # topic_metadata: Metadata for requested topics # error_code: Response error code # topic: Name of topic # is_internal: Indicates if the topic is considered a Kafka internal topic # partition_metadata: Metadata for each partition of the topic. # error_code: Response error code # partition: Topic partition id # leader: The id of the broker acting as leader for this partition. # replicas: The set of all nodes that host this partition. # isr: The set of nodes that are in sync with the leader for this partition. MetadataResponseV3 => throttle_time_ms [brokers] cluster_id controller_id [topic_metadata] throttle_time_ms => INT32 brokers => node_id host port rack node_id => INT32 host => STRING port => INT32 rack => NULLABLE_STRING cluster_id => NULLABLE_STRING controller_id => INT32 topic_metadata => error_code topic is_internal [partition_metadata] error_code => INT16 topic => STRING is_internal => BOOLEAN partition_metadata => error_code partition leader [replicas] [isr] error_code => INT16 partition => INT32 leader => INT32 replicas => INT32 isr => INT32 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # brokers: Host and port information for all brokers. # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. # rack: The rack of the broker. # cluster_id: The cluster id that this broker belongs to. # controller_id: The broker id of the controller broker. # topic_metadata: Metadata for requested topics # error_code: Response error code # topic: Name of topic # is_internal: Indicates if the topic is considered a Kafka internal topic # partition_metadata: Metadata for each partition of the topic. # error_code: Response error code # partition: Topic partition id # leader: The id of the broker acting as leader for this partition. # replicas: The set of all nodes that host this partition. # isr: The set of nodes that are in sync with the leader for this partition. MetadataResponseV4 => throttle_time_ms [brokers] cluster_id controller_id [topic_metadata] throttle_time_ms => INT32 brokers => node_id host port rack node_id => INT32 host => STRING port => INT32 rack => NULLABLE_STRING cluster_id => NULLABLE_STRING controller_id => INT32 topic_metadata => error_code topic is_internal [partition_metadata] error_code => INT16 topic => STRING is_internal => BOOLEAN partition_metadata => error_code partition leader [replicas] [isr] error_code => INT16 partition => INT32 leader => INT32 replicas => INT32 isr => INT32 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # brokers: Host and port information for all brokers. # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. # rack: The rack of the broker. # cluster_id: The cluster id that this broker belongs to. # controller_id: The broker id of the controller broker. # topic_metadata: Metadata for requested topics # error_code: Response error code # topic: Name of topic # is_internal: Indicates if the topic is considered a Kafka internal topic # partition_metadata: Metadata for each partition of the topic. # error_code: Response error code # partition: Topic partition id # leader: The id of the broker acting as leader for this partition. # replicas: The set of all nodes that host this partition. # isr: The set of nodes that are in sync with the leader for this partition. MetadataResponseV5 => throttle_time_ms [brokers] cluster_id controller_id [topic_metadata] throttle_time_ms => INT32 brokers => node_id host port rack node_id => INT32 host => STRING port => INT32 rack => NULLABLE_STRING cluster_id => NULLABLE_STRING controller_id => INT32 topic_metadata => error_code topic is_internal [partition_metadata] error_code => INT16 topic => STRING is_internal => BOOLEAN partition_metadata => error_code partition leader [replicas] [isr] [offline_replicas] error_code => INT16 partition => INT32 leader => INT32 replicas => INT32 isr => INT32 offline_replicas => INT32 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # brokers: Host and port information for all brokers. # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. # rack: The rack of the broker. # cluster_id: The cluster id that this broker belongs to. # controller_id: The broker id of the controller broker. # topic_metadata: Metadata for requested topics # error_code: Response error code # topic: Name of topic # is_internal: Indicates if the topic is considered a Kafka internal topic # partition_metadata: Metadata for each partition of the topic. # error_code: Response error code # partition: Topic partition id # leader: The id of the broker acting as leader for this partition. # replicas: The set of all nodes that host this partition. # isr: The set of nodes that are in sync with the leader for this partition. # offline_replicas: The set of offline replicas of this partition. MetadataResponseV6 => throttle_time_ms [brokers] cluster_id controller_id [topic_metadata] throttle_time_ms => INT32 brokers => node_id host port rack node_id => INT32 host => STRING port => INT32 rack => NULLABLE_STRING cluster_id => NULLABLE_STRING controller_id => INT32 topic_metadata => error_code topic is_internal [partition_metadata] error_code => INT16 topic => STRING is_internal => BOOLEAN partition_metadata => error_code partition leader [replicas] [isr] [offline_replicas] error_code => INT16 partition => INT32 leader => INT32 replicas => INT32 isr => INT32 offline_replicas => INT32 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # brokers: Host and port information for all brokers. # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. # rack: The rack of the broker. # cluster_id: The cluster id that this broker belongs to. # controller_id: The broker id of the controller broker. # topic_metadata: Metadata for requested topics # error_code: Response error code # topic: Name of topic # is_internal: Indicates if the topic is considered a Kafka internal topic # partition_metadata: Metadata for each partition of the topic. # error_code: Response error code # partition: Topic partition id # leader: The id of the broker acting as leader for this partition. # replicas: The set of all nodes that host this partition. # isr: The set of nodes that are in sync with the leader for this partition. # offline_replicas: The set of offline replicas of this partition. MetadataResponseV7 => throttle_time_ms [brokers] cluster_id controller_id [topic_metadata] throttle_time_ms => INT32 brokers => node_id host port rack node_id => INT32 host => STRING port => INT32 rack => NULLABLE_STRING cluster_id => NULLABLE_STRING controller_id => INT32 topic_metadata => error_code topic is_internal [partition_metadata] error_code => INT16 topic => STRING is_internal => BOOLEAN partition_metadata => error_code partition leader leader_epoch [replicas] [isr] [offline_replicas] error_code => INT16 partition => INT32 leader => INT32 leader_epoch => INT32 replicas => INT32 isr => INT32 offline_replicas => INT32 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # brokers: Host and port information for all brokers. # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. # rack: The rack of the broker. # cluster_id: The cluster id that this broker belongs to. # controller_id: The broker id of the controller broker. # topic_metadata: Metadata for requested topics # error_code: Response error code # topic: Name of topic # is_internal: Indicates if the topic is considered a Kafka internal topic # partition_metadata: Metadata for each partition of the topic. # error_code: Response error code # partition: Topic partition id # leader: The id of the broker acting as leader for this partition. # leader_epoch: The leader epoch # replicas: The set of all nodes that host this partition. # isr: The set of nodes that are in sync with the leader for this partition. # offline_replicas: The set of offline replicas of this partition. #ApiKey: OffsetCommit, 8 OffsetCommitRequestV0 => group_id [topics] group_id => STRING topics => topic [partitions] topic => STRING partitions => partition offset metadata partition => INT32 offset => INT64 metadata => NULLABLE_STRING # group_id: The unique group identifier # topics: Topics to commit offsets # topic: Name of topic # partitions: Partitions to commit offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. OffsetCommitRequestV1 => group_id generation_id member_id [topics] group_id => STRING generation_id => INT32 member_id => STRING topics => topic [partitions] topic => STRING partitions => partition offset timestamp metadata partition => INT32 offset => INT64 timestamp => INT64 metadata => NULLABLE_STRING # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. # topics: Topics to commit offsets # topic: Name of topic # partitions: Partitions to commit offsets # partition: Topic partition id # offset: Message offset to be committed # timestamp: Timestamp of the commit # metadata: Any associated metadata the client wants to keep. OffsetCommitRequestV2 => group_id generation_id member_id retention_time [topics] group_id => STRING generation_id => INT32 member_id => STRING retention_time => INT64 topics => topic [partitions] topic => STRING partitions => partition offset metadata partition => INT32 offset => INT64 metadata => NULLABLE_STRING # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. # retention_time: Time period in ms to retain the offset. # topics: Topics to commit offsets # topic: Name of topic # partitions: Partitions to commit offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. OffsetCommitRequestV3 => group_id generation_id member_id retention_time [topics] group_id => STRING generation_id => INT32 member_id => STRING retention_time => INT64 topics => topic [partitions] topic => STRING partitions => partition offset metadata partition => INT32 offset => INT64 metadata => NULLABLE_STRING # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. # retention_time: Time period in ms to retain the offset. # topics: Topics to commit offsets # topic: Name of topic # partitions: Partitions to commit offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. OffsetCommitRequestV4 => group_id generation_id member_id retention_time [topics] group_id => STRING generation_id => INT32 member_id => STRING retention_time => INT64 topics => topic [partitions] topic => STRING partitions => partition offset metadata partition => INT32 offset => INT64 metadata => NULLABLE_STRING # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. # retention_time: Time period in ms to retain the offset. # topics: Topics to commit offsets # topic: Name of topic # partitions: Partitions to commit offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. OffsetCommitRequestV5 => group_id generation_id member_id [topics] group_id => STRING generation_id => INT32 member_id => STRING topics => topic [partitions] topic => STRING partitions => partition offset metadata partition => INT32 offset => INT64 metadata => NULLABLE_STRING # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. # topics: Topics to commit offsets # topic: Name of topic # partitions: Partitions to commit offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. OffsetCommitRequestV6 => group_id generation_id member_id [topics] group_id => STRING generation_id => INT32 member_id => STRING topics => topic [partitions] topic => STRING partitions => partition offset leader_epoch metadata partition => INT32 offset => INT64 leader_epoch => INT32 metadata => NULLABLE_STRING # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. # topics: Topics to commit offsets # topic: Name of topic # partitions: Partitions to commit offsets # partition: Topic partition id # offset: Message offset to be committed # leader_epoch: The leader epoch, if provided is derived from the last consumed record. This is used by the consumer to check for log truncation and to ensure partition metadata is up to date following a group rebalance. # metadata: Any associated metadata the client wants to keep. OffsetCommitResponseV0 => [responses] responses => topic [partition_responses] topic => STRING partition_responses => partition error_code partition => INT32 error_code => INT16 # responses: Responses by topic for committed partitions # topic: Name of topic # partition_responses: Responses for committed partitions # partition: Topic partition id # error_code: Response error code OffsetCommitResponseV1 => [responses] responses => topic [partition_responses] topic => STRING partition_responses => partition error_code partition => INT32 error_code => INT16 # responses: Responses by topic for committed partitions # topic: Name of topic # partition_responses: Responses for committed partitions # partition: Topic partition id # error_code: Response error code OffsetCommitResponseV2 => [responses] responses => topic [partition_responses] topic => STRING partition_responses => partition error_code partition => INT32 error_code => INT16 # responses: Responses by topic for committed partitions # topic: Name of topic # partition_responses: Responses for committed partitions # partition: Topic partition id # error_code: Response error code OffsetCommitResponseV3 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: Responses by topic for committed partitions # topic: Name of topic # partition_responses: Responses for committed partitions # partition: Topic partition id # error_code: Response error code OffsetCommitResponseV4 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: Responses by topic for committed partitions # topic: Name of topic # partition_responses: Responses for committed partitions # partition: Topic partition id # error_code: Response error code OffsetCommitResponseV5 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: Responses by topic for committed partitions # topic: Name of topic # partition_responses: Responses for committed partitions # partition: Topic partition id # error_code: Response error code OffsetCommitResponseV6 => throttle_time_ms [responses] throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: Responses by topic for committed partitions # topic: Name of topic # partition_responses: Responses for committed partitions # partition: Topic partition id # error_code: Response error code #ApiKey: OffsetFetch, 9 OffsetFetchRequestV0 => group_id [topics] group_id => STRING topics => topic [partitions] topic => STRING partitions => partition partition => INT32 # group_id: The unique group identifier # topics: Topics to fetch offsets. # topic: Name of topic # partitions: Partitions to fetch offsets. # partition: Topic partition id OffsetFetchRequestV1 => group_id [topics] group_id => STRING topics => topic [partitions] topic => STRING partitions => partition partition => INT32 # group_id: The unique group identifier # topics: Topics to fetch offsets. # topic: Name of topic # partitions: Partitions to fetch offsets. # partition: Topic partition id OffsetFetchRequestV2 => group_id [topics] group_id => STRING topics => topic [partitions] topic => STRING partitions => partition partition => INT32 # group_id: The unique group identifier # topics: Topics to fetch offsets. If the topic array is null fetch offsets for all topics. # topic: Name of topic # partitions: Partitions to fetch offsets. # partition: Topic partition id OffsetFetchRequestV3 => group_id [topics] group_id => STRING topics => topic [partitions] topic => STRING partitions => partition partition => INT32 # group_id: The unique group identifier # topics: Topics to fetch offsets. If the topic array is null fetch offsets for all topics. # topic: Name of topic # partitions: Partitions to fetch offsets. # partition: Topic partition id OffsetFetchRequestV4 => group_id [topics] group_id => STRING topics => topic [partitions] topic => STRING partitions => partition partition => INT32 # group_id: The unique group identifier # topics: Topics to fetch offsets. If the topic array is null fetch offsets for all topics. # topic: Name of topic # partitions: Partitions to fetch offsets. # partition: Topic partition id OffsetFetchRequestV5 => group_id [topics] group_id => STRING topics => topic [partitions] topic => STRING partitions => partition partition => INT32 # group_id: The unique group identifier # topics: Topics to fetch offsets. If the topic array is null fetch offsets for all topics. # topic: Name of topic # partitions: Partitions to fetch offsets. # partition: Topic partition id OffsetFetchResponseV0 => [responses] responses => topic [partition_responses] topic => STRING partition_responses => partition offset metadata error_code partition => INT32 offset => INT64 metadata => NULLABLE_STRING error_code => INT16 # responses: Responses by topic for fetched offsets # topic: Name of topic # partition_responses: Responses by partition for fetched offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. # error_code: Response error code OffsetFetchResponseV1 => [responses] responses => topic [partition_responses] topic => STRING partition_responses => partition offset metadata error_code partition => INT32 offset => INT64 metadata => NULLABLE_STRING error_code => INT16 # responses: Responses by topic for fetched offsets # topic: Name of topic # partition_responses: Responses by partition for fetched offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. # error_code: Response error code OffsetFetchResponseV2 => [responses] error_code responses => topic [partition_responses] topic => STRING partition_responses => partition offset metadata error_code partition => INT32 offset => INT64 metadata => NULLABLE_STRING error_code => INT16 error_code => INT16 # responses: Responses by topic for fetched offsets # topic: Name of topic # partition_responses: Responses by partition for fetched offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. # error_code: Response error code # error_code: Response error code OffsetFetchResponseV3 => throttle_time_ms [responses] error_code throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition offset metadata error_code partition => INT32 offset => INT64 metadata => NULLABLE_STRING error_code => INT16 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: Responses by topic for fetched offsets # topic: Name of topic # partition_responses: Responses by partition for fetched offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. # error_code: Response error code # error_code: Response error code OffsetFetchResponseV4 => throttle_time_ms [responses] error_code throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition offset metadata error_code partition => INT32 offset => INT64 metadata => NULLABLE_STRING error_code => INT16 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: Responses by topic for fetched offsets # topic: Name of topic # partition_responses: Responses by partition for fetched offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. # error_code: Response error code # error_code: Response error code OffsetFetchResponseV5 => throttle_time_ms [responses] error_code throttle_time_ms => INT32 responses => topic [partition_responses] topic => STRING partition_responses => partition offset leader_epoch metadata error_code partition => INT32 offset => INT64 leader_epoch => INT32 metadata => NULLABLE_STRING error_code => INT16 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # responses: Responses by topic for fetched offsets # topic: Name of topic # partition_responses: Responses by partition for fetched offsets # partition: Topic partition id # offset: Message offset to be committed # leader_epoch: The leader epoch, if provided is derived from the last consumed record. This is used by the consumer to check for log truncation and to ensure partition metadata is up to date following a group rebalance. # metadata: Any associated metadata the client wants to keep. # error_code: Response error code # error_code: Response error code #ApiKey: FindCoordinator, 10 FindCoordinatorRequestV0 => group_id group_id => STRING # group_id: The unique group identifier FindCoordinatorRequestV1 => coordinator_key coordinator_type coordinator_key => STRING coordinator_type => INT8 # coordinator_key: Id to use for finding the coordinator (for groups, this is the groupId, for transactional producers, this is the transactional id) # coordinator_type: The type of coordinator to find (0 = group, 1 = transaction) FindCoordinatorRequestV2 => coordinator_key coordinator_type coordinator_key => STRING coordinator_type => INT8 # coordinator_key: Id to use for finding the coordinator (for groups, this is the groupId, for transactional producers, this is the transactional id) # coordinator_type: The type of coordinator to find (0 = group, 1 = transaction) FindCoordinatorResponseV0 => error_code coordinator error_code => INT16 coordinator => node_id host port node_id => INT32 host => STRING port => INT32 # error_code: Response error code # coordinator: Host and port information for the coordinator for a consumer group. # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. FindCoordinatorResponseV1 => throttle_time_ms error_code error_message coordinator throttle_time_ms => INT32 error_code => INT16 error_message => NULLABLE_STRING coordinator => node_id host port node_id => INT32 host => STRING port => INT32 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message # coordinator: Host and port information for the coordinator # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. FindCoordinatorResponseV2 => throttle_time_ms error_code error_message coordinator throttle_time_ms => INT32 error_code => INT16 error_message => NULLABLE_STRING coordinator => node_id host port node_id => INT32 host => STRING port => INT32 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message # coordinator: Host and port information for the coordinator # node_id: The broker id. # host: The hostname of the broker. # port: The port on which the broker accepts requests. #ApiKey: JoinGroup, 11 JoinGroupRequestV0 => group_id session_timeout member_id protocol_type [group_protocols] group_id => STRING session_timeout => INT32 member_id => STRING protocol_type => STRING group_protocols => protocol_name protocol_metadata protocol_name => STRING protocol_metadata => BYTES # group_id: The unique group identifier # session_timeout: The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms. # member_id: The member id assigned by the group coordinator or null if joining for the first time. # protocol_type: Unique name for class of protocols implemented by group # group_protocols: List of protocols that the member supports JoinGroupRequestV1 => group_id session_timeout rebalance_timeout member_id protocol_type [group_protocols] group_id => STRING session_timeout => INT32 rebalance_timeout => INT32 member_id => STRING protocol_type => STRING group_protocols => protocol_name protocol_metadata protocol_name => STRING protocol_metadata => BYTES # group_id: The unique group identifier # session_timeout: The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms. # rebalance_timeout: The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group # member_id: The member id assigned by the group coordinator or null if joining for the first time. # protocol_type: Unique name for class of protocols implemented by group # group_protocols: List of protocols that the member supports JoinGroupRequestV2 => group_id session_timeout rebalance_timeout member_id protocol_type [group_protocols] group_id => STRING session_timeout => INT32 rebalance_timeout => INT32 member_id => STRING protocol_type => STRING group_protocols => protocol_name protocol_metadata protocol_name => STRING protocol_metadata => BYTES # group_id: The unique group identifier # session_timeout: The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms. # rebalance_timeout: The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group # member_id: The member id assigned by the group coordinator or null if joining for the first time. # protocol_type: Unique name for class of protocols implemented by group # group_protocols: List of protocols that the member supports JoinGroupRequestV3 => group_id session_timeout rebalance_timeout member_id protocol_type [group_protocols] group_id => STRING session_timeout => INT32 rebalance_timeout => INT32 member_id => STRING protocol_type => STRING group_protocols => protocol_name protocol_metadata protocol_name => STRING protocol_metadata => BYTES # group_id: The unique group identifier # session_timeout: The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms. # rebalance_timeout: The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group # member_id: The member id assigned by the group coordinator or null if joining for the first time. # protocol_type: Unique name for class of protocols implemented by group # group_protocols: List of protocols that the member supports JoinGroupRequestV4 => group_id session_timeout rebalance_timeout member_id protocol_type [group_protocols] group_id => STRING session_timeout => INT32 rebalance_timeout => INT32 member_id => STRING protocol_type => STRING group_protocols => protocol_name protocol_metadata protocol_name => STRING protocol_metadata => BYTES # group_id: The unique group identifier # session_timeout: The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms. # rebalance_timeout: The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group # member_id: The member id assigned by the group coordinator or null if joining for the first time. # protocol_type: Unique name for class of protocols implemented by group # group_protocols: List of protocols that the member supports JoinGroupResponseV0 => error_code generation_id group_protocol leader_id member_id [members] error_code => INT16 generation_id => INT32 group_protocol => STRING leader_id => STRING member_id => STRING members => member_id member_metadata member_id => STRING member_metadata => BYTES # error_code: Response error code # generation_id: The generation of the group. # group_protocol: The group protocol selected by the coordinator # leader_id: The leader of the group # member_id: The member id assigned by the group coordinator or null if joining for the first time. # member_id: The member id assigned by the group coordinator or null if joining for the first time. JoinGroupResponseV1 => error_code generation_id group_protocol leader_id member_id [members] error_code => INT16 generation_id => INT32 group_protocol => STRING leader_id => STRING member_id => STRING members => member_id member_metadata member_id => STRING member_metadata => BYTES # error_code: Response error code # generation_id: The generation of the group. # group_protocol: The group protocol selected by the coordinator # leader_id: The leader of the group # member_id: The member id assigned by the group coordinator or null if joining for the first time. # member_id: The member id assigned by the group coordinator or null if joining for the first time. JoinGroupResponseV2 => throttle_time_ms error_code generation_id group_protocol leader_id member_id [members] throttle_time_ms => INT32 error_code => INT16 generation_id => INT32 group_protocol => STRING leader_id => STRING member_id => STRING members => member_id member_metadata member_id => STRING member_metadata => BYTES # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # generation_id: The generation of the group. # group_protocol: The group protocol selected by the coordinator # leader_id: The leader of the group # member_id: The member id assigned by the group coordinator or null if joining for the first time. # member_id: The member id assigned by the group coordinator or null if joining for the first time. JoinGroupResponseV3 => throttle_time_ms error_code generation_id group_protocol leader_id member_id [members] throttle_time_ms => INT32 error_code => INT16 generation_id => INT32 group_protocol => STRING leader_id => STRING member_id => STRING members => member_id member_metadata member_id => STRING member_metadata => BYTES # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # generation_id: The generation of the group. # group_protocol: The group protocol selected by the coordinator # leader_id: The leader of the group # member_id: The member id assigned by the group coordinator or null if joining for the first time. # member_id: The member id assigned by the group coordinator or null if joining for the first time. JoinGroupResponseV4 => throttle_time_ms error_code generation_id group_protocol leader_id member_id [members] throttle_time_ms => INT32 error_code => INT16 generation_id => INT32 group_protocol => STRING leader_id => STRING member_id => STRING members => member_id member_metadata member_id => STRING member_metadata => BYTES # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # generation_id: The generation of the group. # group_protocol: The group protocol selected by the coordinator # leader_id: The leader of the group # member_id: The member id assigned by the group coordinator or null if joining for the first time. # member_id: The member id assigned by the group coordinator or null if joining for the first time. #ApiKey: Heartbeat, 12 HeartbeatRequestV0 => group_id generation_id member_id group_id => STRING generation_id => INT32 member_id => STRING # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. HeartbeatRequestV1 => group_id generation_id member_id group_id => STRING generation_id => INT32 member_id => STRING # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. HeartbeatRequestV2 => group_id generation_id member_id group_id => STRING generation_id => INT32 member_id => STRING # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. HeartbeatResponseV0 => error_code error_code => INT16 # error_code: Response error code HeartbeatResponseV1 => throttle_time_ms error_code throttle_time_ms => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code HeartbeatResponseV2 => throttle_time_ms error_code throttle_time_ms => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code #ApiKey: LeaveGroup, 13 LeaveGroupRequestV0 => group_id member_id group_id => STRING member_id => STRING # group_id: The ID of the group to leave. # member_id: The member ID to remove from the group. LeaveGroupRequestV1 => group_id member_id group_id => STRING member_id => STRING # group_id: The ID of the group to leave. # member_id: The member ID to remove from the group. LeaveGroupRequestV2 => group_id member_id group_id => STRING member_id => STRING # group_id: The ID of the group to leave. # member_id: The member ID to remove from the group. LeaveGroupResponseV0 => error_code error_code => INT16 # error_code: The error code, or 0 if there was no error. LeaveGroupResponseV1 => throttle_time_ms error_code throttle_time_ms => INT32 error_code => INT16 # throttle_time_ms: The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota. # error_code: The error code, or 0 if there was no error. LeaveGroupResponseV2 => throttle_time_ms error_code throttle_time_ms => INT32 error_code => INT16 # throttle_time_ms: The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota. # error_code: The error code, or 0 if there was no error. #ApiKey: SyncGroup, 14 SyncGroupRequestV0 => group_id generation_id member_id [group_assignment] group_id => STRING generation_id => INT32 member_id => STRING group_assignment => member_id member_assignment member_id => STRING member_assignment => BYTES # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. # member_id: The member id assigned by the group coordinator or null if joining for the first time. SyncGroupRequestV1 => group_id generation_id member_id [group_assignment] group_id => STRING generation_id => INT32 member_id => STRING group_assignment => member_id member_assignment member_id => STRING member_assignment => BYTES # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. # member_id: The member id assigned by the group coordinator or null if joining for the first time. SyncGroupRequestV2 => group_id generation_id member_id [group_assignment] group_id => STRING generation_id => INT32 member_id => STRING group_assignment => member_id member_assignment member_id => STRING member_assignment => BYTES # group_id: The unique group identifier # generation_id: The generation of the group. # member_id: The member id assigned by the group coordinator or null if joining for the first time. # member_id: The member id assigned by the group coordinator or null if joining for the first time. SyncGroupResponseV0 => error_code member_assignment error_code => INT16 member_assignment => BYTES # error_code: Response error code SyncGroupResponseV1 => throttle_time_ms error_code member_assignment throttle_time_ms => INT32 error_code => INT16 member_assignment => BYTES # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code SyncGroupResponseV2 => throttle_time_ms error_code member_assignment throttle_time_ms => INT32 error_code => INT16 member_assignment => BYTES # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code #ApiKey: DescribeGroups, 15 DescribeGroupsRequestV0 => [group_ids] group_ids => STRING # group_ids: List of groupIds to request metadata for (an empty groupId array will return empty group metadata). DescribeGroupsRequestV1 => [group_ids] group_ids => STRING # group_ids: List of groupIds to request metadata for (an empty groupId array will return empty group metadata). DescribeGroupsRequestV2 => [group_ids] group_ids => STRING # group_ids: List of groupIds to request metadata for (an empty groupId array will return empty group metadata). DescribeGroupsResponseV0 => [groups] groups => error_code group_id state protocol_type protocol [members] error_code => INT16 group_id => STRING state => STRING protocol_type => STRING protocol => STRING members => member_id client_id client_host member_metadata member_assignment member_id => STRING client_id => STRING client_host => STRING member_metadata => BYTES member_assignment => BYTES # error_code: Response error code # group_id: The unique group identifier # state: The current state of the group (one of: Dead, Stable, CompletingRebalance, PreparingRebalance, or empty if there is no active group) # protocol_type: The current group protocol type (will be empty if there is no active group) # protocol: The current group protocol (only provided if the group is Stable) # members: Current group members (only provided if the group is not Dead) # member_id: The member id assigned by the group coordinator or null if joining for the first time. # client_id: The client id used in the member's latest join group request # client_host: The client host used in the request session corresponding to the member's join group. # member_metadata: The metadata corresponding to the current group protocol in use (will only be present if the group is stable). # member_assignment: The current assignment provided by the group leader (will only be present if the group is stable). DescribeGroupsResponseV1 => throttle_time_ms [groups] throttle_time_ms => INT32 groups => error_code group_id state protocol_type protocol [members] error_code => INT16 group_id => STRING state => STRING protocol_type => STRING protocol => STRING members => member_id client_id client_host member_metadata member_assignment member_id => STRING client_id => STRING client_host => STRING member_metadata => BYTES member_assignment => BYTES # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # group_id: The unique group identifier # state: The current state of the group (one of: Dead, Stable, CompletingRebalance, PreparingRebalance, or empty if there is no active group) # protocol_type: The current group protocol type (will be empty if there is no active group) # protocol: The current group protocol (only provided if the group is Stable) # members: Current group members (only provided if the group is not Dead) # member_id: The member id assigned by the group coordinator or null if joining for the first time. # client_id: The client id used in the member's latest join group request # client_host: The client host used in the request session corresponding to the member's join group. # member_metadata: The metadata corresponding to the current group protocol in use (will only be present if the group is stable). # member_assignment: The current assignment provided by the group leader (will only be present if the group is stable). DescribeGroupsResponseV2 => throttle_time_ms [groups] throttle_time_ms => INT32 groups => error_code group_id state protocol_type protocol [members] error_code => INT16 group_id => STRING state => STRING protocol_type => STRING protocol => STRING members => member_id client_id client_host member_metadata member_assignment member_id => STRING client_id => STRING client_host => STRING member_metadata => BYTES member_assignment => BYTES # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # group_id: The unique group identifier # state: The current state of the group (one of: Dead, Stable, CompletingRebalance, PreparingRebalance, or empty if there is no active group) # protocol_type: The current group protocol type (will be empty if there is no active group) # protocol: The current group protocol (only provided if the group is Stable) # members: Current group members (only provided if the group is not Dead) # member_id: The member id assigned by the group coordinator or null if joining for the first time. # client_id: The client id used in the member's latest join group request # client_host: The client host used in the request session corresponding to the member's join group. # member_metadata: The metadata corresponding to the current group protocol in use (will only be present if the group is stable). # member_assignment: The current assignment provided by the group leader (will only be present if the group is stable). #ApiKey: ListGroups, 16 ListGroupsRequestV0 => ListGroupsRequestV1 => ListGroupsRequestV2 => ListGroupsResponseV0 => error_code [groups] error_code => INT16 groups => group_id protocol_type group_id => STRING protocol_type => STRING # error_code: Response error code # group_id: The unique group identifier ListGroupsResponseV1 => throttle_time_ms error_code [groups] throttle_time_ms => INT32 error_code => INT16 groups => group_id protocol_type group_id => STRING protocol_type => STRING # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # group_id: The unique group identifier ListGroupsResponseV2 => throttle_time_ms error_code [groups] throttle_time_ms => INT32 error_code => INT16 groups => group_id protocol_type group_id => STRING protocol_type => STRING # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # group_id: The unique group identifier #ApiKey: SaslHandshake, 17 SaslHandshakeRequestV0 => mechanism mechanism => STRING # mechanism: SASL Mechanism chosen by the client. SaslHandshakeRequestV1 => mechanism mechanism => STRING # mechanism: SASL Mechanism chosen by the client. SaslHandshakeResponseV0 => error_code [enabled_mechanisms] error_code => INT16 enabled_mechanisms => STRING # error_code: Response error code # enabled_mechanisms: Array of mechanisms enabled in the server. SaslHandshakeResponseV1 => error_code [enabled_mechanisms] error_code => INT16 enabled_mechanisms => STRING # error_code: Response error code # enabled_mechanisms: Array of mechanisms enabled in the server. #ApiKey: ApiVersions, 18 ApiVersionsRequestV0 => ApiVersionsRequestV1 => ApiVersionsRequestV2 => ApiVersionsResponseV0 => error_code [api_versions] error_code => INT16 api_versions => api_key min_version max_version api_key => INT16 min_version => INT16 max_version => INT16 # error_code: Response error code # api_versions: API versions supported by the broker. # api_key: API key. # min_version: Minimum supported version. # max_version: Maximum supported version. ApiVersionsResponseV1 => error_code [api_versions] throttle_time_ms error_code => INT16 api_versions => api_key min_version max_version api_key => INT16 min_version => INT16 max_version => INT16 throttle_time_ms => INT32 # error_code: Response error code # api_versions: API versions supported by the broker. # api_key: API key. # min_version: Minimum supported version. # max_version: Maximum supported version. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) ApiVersionsResponseV2 => error_code [api_versions] throttle_time_ms error_code => INT16 api_versions => api_key min_version max_version api_key => INT16 min_version => INT16 max_version => INT16 throttle_time_ms => INT32 # error_code: Response error code # api_versions: API versions supported by the broker. # api_key: API key. # min_version: Minimum supported version. # max_version: Maximum supported version. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) #ApiKey: CreateTopics, 19 CreateTopicsRequestV0 => [create_topic_requests] timeout create_topic_requests => topic num_partitions replication_factor [replica_assignment] [config_entries] topic => STRING num_partitions => INT32 replication_factor => INT16 replica_assignment => partition [replicas] partition => INT32 replicas => INT32 config_entries => config_name config_value config_name => STRING config_value => NULLABLE_STRING timeout => INT32 # create_topic_requests: An array of single topic creation requests. Can not have multiple entries for the same topic. # topic: Name of topic # num_partitions: Number of partitions to be created. -1 indicates unset. # replication_factor: Replication factor for the topic. -1 indicates unset. # replica_assignment: Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset. # partition: Topic partition id # replicas: The set of all nodes that should host this partition. The first replica in the list is the preferred leader. # config_entries: Topic level configuration for topic to be set. # config_name: Configuration name # config_value: Configuration value # timeout: The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately CreateTopicsRequestV1 => [create_topic_requests] timeout validate_only create_topic_requests => topic num_partitions replication_factor [replica_assignment] [config_entries] topic => STRING num_partitions => INT32 replication_factor => INT16 replica_assignment => partition [replicas] partition => INT32 replicas => INT32 config_entries => config_name config_value config_name => STRING config_value => NULLABLE_STRING timeout => INT32 validate_only => BOOLEAN # create_topic_requests: An array of single topic creation requests. Can not have multiple entries for the same topic. # topic: Name of topic # num_partitions: Number of partitions to be created. -1 indicates unset. # replication_factor: Replication factor for the topic. -1 indicates unset. # replica_assignment: Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset. # partition: Topic partition id # replicas: The set of all nodes that should host this partition. The first replica in the list is the preferred leader. # config_entries: Topic level configuration for topic to be set. # config_name: Configuration name # config_value: Configuration value # timeout: The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately # validate_only: If this is true, the request will be validated, but the topic won't be created. CreateTopicsRequestV2 => [create_topic_requests] timeout validate_only create_topic_requests => topic num_partitions replication_factor [replica_assignment] [config_entries] topic => STRING num_partitions => INT32 replication_factor => INT16 replica_assignment => partition [replicas] partition => INT32 replicas => INT32 config_entries => config_name config_value config_name => STRING config_value => NULLABLE_STRING timeout => INT32 validate_only => BOOLEAN # create_topic_requests: An array of single topic creation requests. Can not have multiple entries for the same topic. # topic: Name of topic # num_partitions: Number of partitions to be created. -1 indicates unset. # replication_factor: Replication factor for the topic. -1 indicates unset. # replica_assignment: Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset. # partition: Topic partition id # replicas: The set of all nodes that should host this partition. The first replica in the list is the preferred leader. # config_entries: Topic level configuration for topic to be set. # config_name: Configuration name # config_value: Configuration value # timeout: The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately # validate_only: If this is true, the request will be validated, but the topic won't be created. CreateTopicsRequestV3 => [create_topic_requests] timeout validate_only create_topic_requests => topic num_partitions replication_factor [replica_assignment] [config_entries] topic => STRING num_partitions => INT32 replication_factor => INT16 replica_assignment => partition [replicas] partition => INT32 replicas => INT32 config_entries => config_name config_value config_name => STRING config_value => NULLABLE_STRING timeout => INT32 validate_only => BOOLEAN # create_topic_requests: An array of single topic creation requests. Can not have multiple entries for the same topic. # topic: Name of topic # num_partitions: Number of partitions to be created. -1 indicates unset. # replication_factor: Replication factor for the topic. -1 indicates unset. # replica_assignment: Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset. # partition: Topic partition id # replicas: The set of all nodes that should host this partition. The first replica in the list is the preferred leader. # config_entries: Topic level configuration for topic to be set. # config_name: Configuration name # config_value: Configuration value # timeout: The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately # validate_only: If this is true, the request will be validated, but the topic won't be created. CreateTopicsResponseV0 => [topic_errors] topic_errors => topic error_code topic => STRING error_code => INT16 # topic_errors: An array of per topic error codes. # topic: Name of topic # error_code: Response error code CreateTopicsResponseV1 => [topic_errors] topic_errors => topic error_code error_message topic => STRING error_code => INT16 error_message => NULLABLE_STRING # topic_errors: An array of per topic errors. # topic: Name of topic # error_code: Response error code # error_message: Response error message CreateTopicsResponseV2 => throttle_time_ms [topic_errors] throttle_time_ms => INT32 topic_errors => topic error_code error_message topic => STRING error_code => INT16 error_message => NULLABLE_STRING # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic_errors: An array of per topic errors. # topic: Name of topic # error_code: Response error code # error_message: Response error message CreateTopicsResponseV3 => throttle_time_ms [topic_errors] throttle_time_ms => INT32 topic_errors => topic error_code error_message topic => STRING error_code => INT16 error_message => NULLABLE_STRING # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic_errors: An array of per topic errors. # topic: Name of topic # error_code: Response error code # error_message: Response error message #ApiKey: DeleteTopics, 20 DeleteTopicsRequestV0 => [topics] timeout topics => STRING timeout => INT32 # topics: An array of topics to be deleted. # timeout: The time in ms to wait for a topic to be completely deleted on the controller node. Values <= 0 will trigger topic deletion and return immediately DeleteTopicsRequestV1 => [topics] timeout topics => STRING timeout => INT32 # topics: An array of topics to be deleted. # timeout: The time in ms to wait for a topic to be completely deleted on the controller node. Values <= 0 will trigger topic deletion and return immediately DeleteTopicsRequestV2 => [topics] timeout topics => STRING timeout => INT32 # topics: An array of topics to be deleted. # timeout: The time in ms to wait for a topic to be completely deleted on the controller node. Values <= 0 will trigger topic deletion and return immediately DeleteTopicsRequestV3 => [topics] timeout topics => STRING timeout => INT32 # topics: An array of topics to be deleted. # timeout: The time in ms to wait for a topic to be completely deleted on the controller node. Values <= 0 will trigger topic deletion and return immediately DeleteTopicsResponseV0 => [topic_error_codes] topic_error_codes => topic error_code topic => STRING error_code => INT16 # topic_error_codes: An array of per topic error codes. # topic: Name of topic # error_code: Response error code DeleteTopicsResponseV1 => throttle_time_ms [topic_error_codes] throttle_time_ms => INT32 topic_error_codes => topic error_code topic => STRING error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic_error_codes: An array of per topic error codes. # topic: Name of topic # error_code: Response error code DeleteTopicsResponseV2 => throttle_time_ms [topic_error_codes] throttle_time_ms => INT32 topic_error_codes => topic error_code topic => STRING error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic_error_codes: An array of per topic error codes. # topic: Name of topic # error_code: Response error code DeleteTopicsResponseV3 => throttle_time_ms [topic_error_codes] throttle_time_ms => INT32 topic_error_codes => topic error_code topic => STRING error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic_error_codes: An array of per topic error codes. # topic: Name of topic # error_code: Response error code #ApiKey: DeleteRecords, 21 DeleteRecordsRequestV0 => [topics] timeout topics => topic [partitions] topic => STRING partitions => partition offset partition => INT32 offset => INT64 timeout => INT32 # topic: Name of topic # partition: Topic partition id # offset: The offset before which the messages will be deleted. -1 means high-watermark for the partition. # timeout: The maximum time to await a response in ms. DeleteRecordsRequestV1 => [topics] timeout topics => topic [partitions] topic => STRING partitions => partition offset partition => INT32 offset => INT64 timeout => INT32 # topic: Name of topic # partition: Topic partition id # offset: The offset before which the messages will be deleted. -1 means high-watermark for the partition. # timeout: The maximum time to await a response in ms. DeleteRecordsResponseV0 => throttle_time_ms [topics] throttle_time_ms => INT32 topics => topic [partitions] topic => STRING partitions => partition low_watermark error_code partition => INT32 low_watermark => INT64 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # low_watermark: Smallest available offset of all live replicas # error_code: Response error code DeleteRecordsResponseV1 => throttle_time_ms [topics] throttle_time_ms => INT32 topics => topic [partitions] topic => STRING partitions => partition low_watermark error_code partition => INT32 low_watermark => INT64 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # low_watermark: Smallest available offset of all live replicas # error_code: Response error code #ApiKey: InitProducerId, 22 InitProducerIdRequestV0 => transactional_id transaction_timeout_ms transactional_id => NULLABLE_STRING transaction_timeout_ms => INT32 # transactional_id: The transactional id or null if the producer is not transactional # transaction_timeout_ms: The time in ms to wait for before aborting idle transactions sent by this producer. InitProducerIdRequestV1 => transactional_id transaction_timeout_ms transactional_id => NULLABLE_STRING transaction_timeout_ms => INT32 # transactional_id: The transactional id or null if the producer is not transactional # transaction_timeout_ms: The time in ms to wait for before aborting idle transactions sent by this producer. InitProducerIdResponseV0 => throttle_time_ms error_code producer_id producer_epoch throttle_time_ms => INT32 error_code => INT16 producer_id => INT64 producer_epoch => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. InitProducerIdResponseV1 => throttle_time_ms error_code producer_id producer_epoch throttle_time_ms => INT32 error_code => INT16 producer_id => INT64 producer_epoch => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. #ApiKey: OffsetForLeaderEpoch, 23 OffsetForLeaderEpochRequestV0 => [topics] topics => topic [partitions] topic => STRING partitions => partition leader_epoch partition => INT32 leader_epoch => INT32 # topics: An array of topics to get epochs for # topic: Name of topic # partitions: An array of partitions to get epochs for # partition: Topic partition id # leader_epoch: The epoch to lookup an offset for. OffsetForLeaderEpochRequestV1 => [topics] topics => topic [partitions] topic => STRING partitions => partition leader_epoch partition => INT32 leader_epoch => INT32 # topics: An array of topics to get epochs for # topic: Name of topic # partitions: An array of partitions to get epochs for # partition: Topic partition id # leader_epoch: The epoch to lookup an offset for. OffsetForLeaderEpochRequestV2 => [topics] topics => topic [partitions] topic => STRING partitions => partition current_leader_epoch leader_epoch partition => INT32 current_leader_epoch => INT32 leader_epoch => INT32 # topics: An array of topics to get epochs for # topic: Name of topic # partitions: An array of partitions to get epochs for # partition: Topic partition id # current_leader_epoch: The current leader epoch, if provided, is used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch known to the broker, then the UNKNOWN_LEADER_EPOCH error code will be returned. If the provided epoch is smaller, then the FENCED_LEADER_EPOCH error code will be returned. # leader_epoch: The epoch to lookup an offset for. OffsetForLeaderEpochResponseV0 => [topics] topics => topic [partitions] topic => STRING partitions => error_code partition end_offset error_code => INT16 partition => INT32 end_offset => INT64 # topics: An array of topics for which we have leader offsets for some requested partition leader epoch # topic: Name of topic # partitions: An array of offsets by partition # error_code: Response error code # partition: Topic partition id # end_offset: The end offset OffsetForLeaderEpochResponseV1 => [topics] topics => topic [partitions] topic => STRING partitions => error_code partition leader_epoch end_offset error_code => INT16 partition => INT32 leader_epoch => INT32 end_offset => INT64 # topics: An array of topics for which we have leader offsets for some requested partition leader epoch # topic: Name of topic # partitions: An array of offsets by partition # error_code: Response error code # partition: Topic partition id # leader_epoch: The leader epoch # end_offset: The end offset OffsetForLeaderEpochResponseV2 => throttle_time_ms [topics] throttle_time_ms => INT32 topics => topic [partitions] topic => STRING partitions => error_code partition leader_epoch end_offset error_code => INT16 partition => INT32 leader_epoch => INT32 end_offset => INT64 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topics: An array of topics for which we have leader offsets for some requested partition leader epoch # topic: Name of topic # partitions: An array of offsets by partition # error_code: Response error code # partition: Topic partition id # leader_epoch: The leader epoch # end_offset: The end offset #ApiKey: AddPartitionsToTxn, 24 AddPartitionsToTxnRequestV0 => transactional_id producer_id producer_epoch [topics] transactional_id => STRING producer_id => INT64 producer_epoch => INT16 topics => topic [partitions] topic => STRING partitions => INT32 # transactional_id: The transactional id corresponding to the transaction. # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. # topics: The partitions to add to the transaction. # topic: Name of topic AddPartitionsToTxnRequestV1 => transactional_id producer_id producer_epoch [topics] transactional_id => STRING producer_id => INT64 producer_epoch => INT16 topics => topic [partitions] topic => STRING partitions => INT32 # transactional_id: The transactional id corresponding to the transaction. # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. # topics: The partitions to add to the transaction. # topic: Name of topic AddPartitionsToTxnResponseV0 => throttle_time_ms [errors] throttle_time_ms => INT32 errors => topic [partition_errors] topic => STRING partition_errors => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # error_code: Response error code AddPartitionsToTxnResponseV1 => throttle_time_ms [errors] throttle_time_ms => INT32 errors => topic [partition_errors] topic => STRING partition_errors => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # error_code: Response error code #ApiKey: AddOffsetsToTxn, 25 AddOffsetsToTxnRequestV0 => transactional_id producer_id producer_epoch group_id transactional_id => STRING producer_id => INT64 producer_epoch => INT16 group_id => STRING # transactional_id: The transactional id corresponding to the transaction. # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. # group_id: The unique group identifier AddOffsetsToTxnRequestV1 => transactional_id producer_id producer_epoch group_id transactional_id => STRING producer_id => INT64 producer_epoch => INT16 group_id => STRING # transactional_id: The transactional id corresponding to the transaction. # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. # group_id: The unique group identifier AddOffsetsToTxnResponseV0 => throttle_time_ms error_code throttle_time_ms => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code AddOffsetsToTxnResponseV1 => throttle_time_ms error_code throttle_time_ms => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code #ApiKey: EndTxn, 26 EndTxnRequestV0 => transactional_id producer_id producer_epoch transaction_result transactional_id => STRING producer_id => INT64 producer_epoch => INT16 transaction_result => BOOLEAN # transactional_id: The transactional id corresponding to the transaction. # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. # transaction_result: The result of the transaction (0 = ABORT, 1 = COMMIT) EndTxnRequestV1 => transactional_id producer_id producer_epoch transaction_result transactional_id => STRING producer_id => INT64 producer_epoch => INT16 transaction_result => BOOLEAN # transactional_id: The transactional id corresponding to the transaction. # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. # transaction_result: The result of the transaction (0 = ABORT, 1 = COMMIT) EndTxnResponseV0 => throttle_time_ms error_code throttle_time_ms => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code EndTxnResponseV1 => throttle_time_ms error_code throttle_time_ms => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code #ApiKey: TxnOffsetCommit, 28 TxnOffsetCommitRequestV0 => transactional_id group_id producer_id producer_epoch [topics] transactional_id => STRING group_id => STRING producer_id => INT64 producer_epoch => INT16 topics => topic [partitions] topic => STRING partitions => partition offset metadata partition => INT32 offset => INT64 metadata => NULLABLE_STRING # transactional_id: The transactional id corresponding to the transaction. # group_id: The unique group identifier # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. # topics: Topics to commit offsets # topic: Name of topic # partitions: Partitions to commit offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. TxnOffsetCommitRequestV1 => transactional_id group_id producer_id producer_epoch [topics] transactional_id => STRING group_id => STRING producer_id => INT64 producer_epoch => INT16 topics => topic [partitions] topic => STRING partitions => partition offset metadata partition => INT32 offset => INT64 metadata => NULLABLE_STRING # transactional_id: The transactional id corresponding to the transaction. # group_id: The unique group identifier # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. # topics: Topics to commit offsets # topic: Name of topic # partitions: Partitions to commit offsets # partition: Topic partition id # offset: Message offset to be committed # metadata: Any associated metadata the client wants to keep. TxnOffsetCommitRequestV2 => transactional_id group_id producer_id producer_epoch [topics] transactional_id => STRING group_id => STRING producer_id => INT64 producer_epoch => INT16 topics => topic [partitions] topic => STRING partitions => partition offset leader_epoch metadata partition => INT32 offset => INT64 leader_epoch => INT32 metadata => NULLABLE_STRING # transactional_id: The transactional id corresponding to the transaction. # group_id: The unique group identifier # producer_id: Current producer id in use by the transactional id. # producer_epoch: Current epoch associated with the producer id. # topics: Topics to commit offsets # topic: Name of topic # partitions: Partitions to commit offsets # partition: Topic partition id # offset: Message offset to be committed # leader_epoch: The leader epoch, if provided is derived from the last consumed record. This is used by the consumer to check for log truncation and to ensure partition metadata is up to date following a group rebalance. # metadata: Any associated metadata the client wants to keep. TxnOffsetCommitResponseV0 => throttle_time_ms [topics] throttle_time_ms => INT32 topics => topic [partitions] topic => STRING partitions => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topics: Responses by topic for committed offsets # topic: Name of topic # partitions: Responses by partition for committed offsets # partition: Topic partition id # error_code: Response error code TxnOffsetCommitResponseV1 => throttle_time_ms [topics] throttle_time_ms => INT32 topics => topic [partitions] topic => STRING partitions => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topics: Responses by topic for committed offsets # topic: Name of topic # partitions: Responses by partition for committed offsets # partition: Topic partition id # error_code: Response error code TxnOffsetCommitResponseV2 => throttle_time_ms [topics] throttle_time_ms => INT32 topics => topic [partitions] topic => STRING partitions => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topics: Responses by topic for committed offsets # topic: Name of topic # partitions: Responses by partition for committed offsets # partition: Topic partition id # error_code: Response error code #ApiKey: DescribeAcls, 29 DescribeAclsRequestV0 => resource_type resource_name principal host operation permission_type resource_type => INT8 resource_name => NULLABLE_STRING principal => NULLABLE_STRING host => NULLABLE_STRING operation => INT8 permission_type => INT8 # resource_type: The resource type # resource_name: The resource name filter # principal: The ACL principal filter # host: The ACL host filter # operation: The ACL operation # permission_type: The ACL permission type DescribeAclsRequestV1 => resource_type resource_name resource_pattern_type_filter principal host operation permission_type resource_type => INT8 resource_name => NULLABLE_STRING resource_pattern_type_filter => INT8 principal => NULLABLE_STRING host => NULLABLE_STRING operation => INT8 permission_type => INT8 # resource_type: The resource type # resource_name: The resource name filter # resource_pattern_type_filter: The resource pattern type filter # principal: The ACL principal filter # host: The ACL host filter # operation: The ACL operation # permission_type: The ACL permission type DescribeAclsResponseV0 => throttle_time_ms error_code error_message [resources] throttle_time_ms => INT32 error_code => INT16 error_message => NULLABLE_STRING resources => resource_type resource_name [acls] resource_type => INT8 resource_name => STRING acls => principal host operation permission_type principal => STRING host => STRING operation => INT8 permission_type => INT8 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message # resources: The resources and their associated ACLs. # resource_type: The resource type # resource_name: The resource name # principal: The ACL principal # host: The ACL host # operation: The ACL operation # permission_type: The ACL permission type DescribeAclsResponseV1 => throttle_time_ms error_code error_message [resources] throttle_time_ms => INT32 error_code => INT16 error_message => NULLABLE_STRING resources => resource_type resource_name resource_pattten_type [acls] resource_type => INT8 resource_name => STRING resource_pattten_type => INT8 acls => principal host operation permission_type principal => STRING host => STRING operation => INT8 permission_type => INT8 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message # resources: The resources and their associated ACLs. # resource_type: The resource type # resource_name: The resource name # resource_pattten_type: The resource pattern type # principal: The ACL principal # host: The ACL host # operation: The ACL operation # permission_type: The ACL permission type #ApiKey: CreateAcls, 30 CreateAclsRequestV0 => [creations] creations => resource_type resource_name principal host operation permission_type resource_type => INT8 resource_name => STRING principal => STRING host => STRING operation => INT8 permission_type => INT8 # resource_type: The resource type # resource_name: The resource name # principal: The ACL principal # host: The ACL host # operation: The ACL operation # permission_type: The ACL permission type CreateAclsRequestV1 => [creations] creations => resource_type resource_name resource_pattten_type principal host operation permission_type resource_type => INT8 resource_name => STRING resource_pattten_type => INT8 principal => STRING host => STRING operation => INT8 permission_type => INT8 # resource_type: The resource type # resource_name: The resource name # resource_pattten_type: The resource pattern type # principal: The ACL principal # host: The ACL host # operation: The ACL operation # permission_type: The ACL permission type CreateAclsResponseV0 => throttle_time_ms [creation_responses] throttle_time_ms => INT32 creation_responses => error_code error_message error_code => INT16 error_message => NULLABLE_STRING # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message CreateAclsResponseV1 => throttle_time_ms [creation_responses] throttle_time_ms => INT32 creation_responses => error_code error_message error_code => INT16 error_message => NULLABLE_STRING # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message #ApiKey: DeleteAcls, 31 DeleteAclsRequestV0 => [filters] filters => resource_type resource_name principal host operation permission_type resource_type => INT8 resource_name => NULLABLE_STRING principal => NULLABLE_STRING host => NULLABLE_STRING operation => INT8 permission_type => INT8 # resource_type: The resource type # resource_name: The resource name filter # principal: The ACL principal filter # host: The ACL host filter # operation: The ACL operation # permission_type: The ACL permission type DeleteAclsRequestV1 => [filters] filters => resource_type resource_name resource_pattern_type_filter principal host operation permission_type resource_type => INT8 resource_name => NULLABLE_STRING resource_pattern_type_filter => INT8 principal => NULLABLE_STRING host => NULLABLE_STRING operation => INT8 permission_type => INT8 # resource_type: The resource type # resource_name: The resource name filter # resource_pattern_type_filter: The resource pattern type filter # principal: The ACL principal filter # host: The ACL host filter # operation: The ACL operation # permission_type: The ACL permission type DeleteAclsResponseV0 => throttle_time_ms [filter_responses] throttle_time_ms => INT32 filter_responses => error_code error_message [matching_acls] error_code => INT16 error_message => NULLABLE_STRING matching_acls => error_code error_message resource_type resource_name principal host operation permission_type error_code => INT16 error_message => NULLABLE_STRING resource_type => INT8 resource_name => STRING principal => STRING host => STRING operation => INT8 permission_type => INT8 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message # matching_acls: The matching ACLs # error_code: Response error code # error_message: Response error message # resource_type: The resource type # resource_name: The resource name # principal: The ACL principal # host: The ACL host # operation: The ACL operation # permission_type: The ACL permission type DeleteAclsResponseV1 => throttle_time_ms [filter_responses] throttle_time_ms => INT32 filter_responses => error_code error_message [matching_acls] error_code => INT16 error_message => NULLABLE_STRING matching_acls => error_code error_message resource_type resource_name resource_pattten_type principal host operation permission_type error_code => INT16 error_message => NULLABLE_STRING resource_type => INT8 resource_name => STRING resource_pattten_type => INT8 principal => STRING host => STRING operation => INT8 permission_type => INT8 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message # matching_acls: The matching ACLs # error_code: Response error code # error_message: Response error message # resource_type: The resource type # resource_name: The resource name # resource_pattten_type: The resource pattern type # principal: The ACL principal # host: The ACL host # operation: The ACL operation # permission_type: The ACL permission type #ApiKey: DescribeConfigs, 32 DescribeConfigsRequestV0 => [resources] resources => resource_type resource_name [config_names] resource_type => INT8 resource_name => STRING config_names => STRING # resources: An array of config resources to be returned. DescribeConfigsRequestV1 => [resources] include_synonyms resources => resource_type resource_name [config_names] resource_type => INT8 resource_name => STRING config_names => STRING include_synonyms => BOOLEAN # resources: An array of config resources to be returned. DescribeConfigsRequestV2 => [resources] include_synonyms resources => resource_type resource_name [config_names] resource_type => INT8 resource_name => STRING config_names => STRING include_synonyms => BOOLEAN # resources: An array of config resources to be returned. DescribeConfigsResponseV0 => throttle_time_ms [resources] throttle_time_ms => INT32 resources => error_code error_message resource_type resource_name [config_entries] error_code => INT16 error_message => NULLABLE_STRING resource_type => INT8 resource_name => STRING config_entries => config_name config_value read_only is_default is_sensitive config_name => STRING config_value => NULLABLE_STRING read_only => BOOLEAN is_default => BOOLEAN is_sensitive => BOOLEAN # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message DescribeConfigsResponseV1 => throttle_time_ms [resources] throttle_time_ms => INT32 resources => error_code error_message resource_type resource_name [config_entries] error_code => INT16 error_message => NULLABLE_STRING resource_type => INT8 resource_name => STRING config_entries => config_name config_value read_only config_source is_sensitive [config_synonyms] config_name => STRING config_value => NULLABLE_STRING read_only => BOOLEAN config_source => INT8 is_sensitive => BOOLEAN config_synonyms => config_name config_value config_source config_name => STRING config_value => NULLABLE_STRING config_source => INT8 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message DescribeConfigsResponseV2 => throttle_time_ms [resources] throttle_time_ms => INT32 resources => error_code error_message resource_type resource_name [config_entries] error_code => INT16 error_message => NULLABLE_STRING resource_type => INT8 resource_name => STRING config_entries => config_name config_value read_only config_source is_sensitive [config_synonyms] config_name => STRING config_value => NULLABLE_STRING read_only => BOOLEAN config_source => INT8 is_sensitive => BOOLEAN config_synonyms => config_name config_value config_source config_name => STRING config_value => NULLABLE_STRING config_source => INT8 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message #ApiKey: AlterConfigs, 33 AlterConfigsRequestV0 => [resources] validate_only resources => resource_type resource_name [config_entries] resource_type => INT8 resource_name => STRING config_entries => config_name config_value config_name => STRING config_value => NULLABLE_STRING validate_only => BOOLEAN # resources: An array of resources to update with the provided configs. # config_name: Configuration name # config_value: Configuration value AlterConfigsRequestV1 => [resources] validate_only resources => resource_type resource_name [config_entries] resource_type => INT8 resource_name => STRING config_entries => config_name config_value config_name => STRING config_value => NULLABLE_STRING validate_only => BOOLEAN # resources: An array of resources to update with the provided configs. # config_name: Configuration name # config_value: Configuration value AlterConfigsResponseV0 => throttle_time_ms [resources] throttle_time_ms => INT32 resources => error_code error_message resource_type resource_name error_code => INT16 error_message => NULLABLE_STRING resource_type => INT8 resource_name => STRING # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message AlterConfigsResponseV1 => throttle_time_ms [resources] throttle_time_ms => INT32 resources => error_code error_message resource_type resource_name error_code => INT16 error_message => NULLABLE_STRING resource_type => INT8 resource_name => STRING # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # error_message: Response error message #ApiKey: AlterReplicaLogDirs, 34 AlterReplicaLogDirsRequestV0 => [log_dirs] log_dirs => log_dir [topics] log_dir => STRING topics => topic [partitions] topic => STRING partitions => INT32 # log_dir: The absolute log directory path. # topic: Name of topic # partitions: List of partition ids of the topic. AlterReplicaLogDirsRequestV1 => [log_dirs] log_dirs => log_dir [topics] log_dir => STRING topics => topic [partitions] topic => STRING partitions => INT32 # log_dir: The absolute log directory path. # topic: Name of topic # partitions: List of partition ids of the topic. AlterReplicaLogDirsResponseV0 => throttle_time_ms [topics] throttle_time_ms => INT32 topics => topic [partitions] topic => STRING partitions => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # error_code: Response error code AlterReplicaLogDirsResponseV1 => throttle_time_ms [topics] throttle_time_ms => INT32 topics => topic [partitions] topic => STRING partitions => partition error_code partition => INT32 error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic: Name of topic # partition: Topic partition id # error_code: Response error code #ApiKey: DescribeLogDirs, 35 DescribeLogDirsRequestV0 => [topics] topics => topic [partitions] topic => STRING partitions => INT32 # topic: Name of topic # partitions: List of partition ids of the topic. DescribeLogDirsRequestV1 => [topics] topics => topic [partitions] topic => STRING partitions => INT32 # topic: Name of topic # partitions: List of partition ids of the topic. DescribeLogDirsResponseV0 => throttle_time_ms [log_dirs] throttle_time_ms => INT32 log_dirs => error_code log_dir [topics] error_code => INT16 log_dir => STRING topics => topic [partitions] topic => STRING partitions => partition size offset_lag is_future partition => INT32 size => INT64 offset_lag => INT64 is_future => BOOLEAN # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # log_dir: The absolute log directory path. # topic: Name of topic # partition: Topic partition id # size: The size of the log segments of the partition in bytes. # offset_lag: The lag of the log's LEO w.r.t. partition's HW (if it is the current log for the partition) or current replica's LEO (if it is the future log for the partition) # is_future: True if this log is created by AlterReplicaLogDirsRequest and will replace the current log of the replica in the future. DescribeLogDirsResponseV1 => throttle_time_ms [log_dirs] throttle_time_ms => INT32 log_dirs => error_code log_dir [topics] error_code => INT16 log_dir => STRING topics => topic [partitions] topic => STRING partitions => partition size offset_lag is_future partition => INT32 size => INT64 offset_lag => INT64 is_future => BOOLEAN # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # error_code: Response error code # log_dir: The absolute log directory path. # topic: Name of topic # partition: Topic partition id # size: The size of the log segments of the partition in bytes. # offset_lag: The lag of the log's LEO w.r.t. partition's HW (if it is the current log for the partition) or current replica's LEO (if it is the future log for the partition) # is_future: True if this log is created by AlterReplicaLogDirsRequest and will replace the current log of the replica in the future. #ApiKey: SaslAuthenticate, 36 SaslAuthenticateRequestV0 => sasl_auth_bytes sasl_auth_bytes => BYTES # sasl_auth_bytes: SASL authentication bytes from client as defined by the SASL mechanism. SaslAuthenticateRequestV1 => sasl_auth_bytes sasl_auth_bytes => BYTES # sasl_auth_bytes: SASL authentication bytes from client as defined by the SASL mechanism. SaslAuthenticateResponseV0 => error_code error_message sasl_auth_bytes error_code => INT16 error_message => NULLABLE_STRING sasl_auth_bytes => BYTES # error_code: Response error code # error_message: Response error message # sasl_auth_bytes: SASL authentication bytes from server as defined by the SASL mechanism. SaslAuthenticateResponseV1 => error_code error_message sasl_auth_bytes session_lifetime_ms error_code => INT16 error_message => NULLABLE_STRING sasl_auth_bytes => BYTES session_lifetime_ms => INT64 # error_code: Response error code # error_message: Response error message # sasl_auth_bytes: SASL authentication bytes from server as defined by the SASL mechanism. # session_lifetime_ms: Number of milliseconds after which only re-authentication over the existing connection to create a new session can occur. #ApiKey: CreatePartitions, 37 CreatePartitionsRequestV0 => [topic_partitions] timeout validate_only topic_partitions => topic new_partitions topic => STRING new_partitions => count [assignment] count => INT32 assignment => ARRAY(INT32) timeout => INT32 validate_only => BOOLEAN # topic_partitions: List of topic and the corresponding new partitions. # topic: Name of topic # count: The new partition count. # assignment: The assigned brokers. # timeout: The time in ms to wait for the partitions to be created. # validate_only: If true then validate the request, but don't actually increase the number of partitions. CreatePartitionsRequestV1 => [topic_partitions] timeout validate_only topic_partitions => topic new_partitions topic => STRING new_partitions => count [assignment] count => INT32 assignment => ARRAY(INT32) timeout => INT32 validate_only => BOOLEAN # topic_partitions: List of topic and the corresponding new partitions. # topic: Name of topic # count: The new partition count. # assignment: The assigned brokers. # timeout: The time in ms to wait for the partitions to be created. # validate_only: If true then validate the request, but don't actually increase the number of partitions. CreatePartitionsResponseV0 => throttle_time_ms [topic_errors] throttle_time_ms => INT32 topic_errors => topic error_code error_message topic => STRING error_code => INT16 error_message => NULLABLE_STRING # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic_errors: Per topic results for the create partitions request # topic: Name of topic # error_code: Response error code # error_message: Response error message CreatePartitionsResponseV1 => throttle_time_ms [topic_errors] throttle_time_ms => INT32 topic_errors => topic error_code error_message topic => STRING error_code => INT16 error_message => NULLABLE_STRING # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # topic_errors: Per topic results for the create partitions request # topic: Name of topic # error_code: Response error code # error_message: Response error message #ApiKey: CreateDelegationToken, 38 CreateDelegationTokenRequestV0 => [renewers] max_life_time renewers => principal_type name principal_type => STRING name => STRING max_life_time => INT64 # renewers: An array of token renewers. Renewer is an Kafka PrincipalType and name string, who is allowed to renew this token before the max lifetime expires. # principal_type: principalType of the Kafka principal # name: name of the Kafka principal # max_life_time: Max lifetime period for token in milli seconds. if value is -1, then max lifetime will default to a server side config value. CreateDelegationTokenRequestV1 => [renewers] max_life_time renewers => principal_type name principal_type => STRING name => STRING max_life_time => INT64 # renewers: An array of token renewers. Renewer is an Kafka PrincipalType and name string, who is allowed to renew this token before the max lifetime expires. # principal_type: principalType of the Kafka principal # name: name of the Kafka principal # max_life_time: Max lifetime period for token in milli seconds. if value is -1, then max lifetime will default to a server side config value. CreateDelegationTokenResponseV0 => error_code owner issue_timestamp expiry_timestamp max_timestamp token_id hmac throttle_time_ms error_code => INT16 owner => principal_type name principal_type => STRING name => STRING issue_timestamp => INT64 expiry_timestamp => INT64 max_timestamp => INT64 token_id => STRING hmac => BYTES throttle_time_ms => INT32 # error_code: Response error code # owner: token owner. # principal_type: principalType of the Kafka principal # name: name of the Kafka principal # issue_timestamp: timestamp (in msec) when this token was generated. # expiry_timestamp: timestamp (in msec) at which this token expires. # max_timestamp: max life time of this token. # token_id: UUID to ensure uniqueness. # hmac: HMAC of the delegation token. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) CreateDelegationTokenResponseV1 => error_code owner issue_timestamp expiry_timestamp max_timestamp token_id hmac throttle_time_ms error_code => INT16 owner => principal_type name principal_type => STRING name => STRING issue_timestamp => INT64 expiry_timestamp => INT64 max_timestamp => INT64 token_id => STRING hmac => BYTES throttle_time_ms => INT32 # error_code: Response error code # owner: token owner. # principal_type: principalType of the Kafka principal # name: name of the Kafka principal # issue_timestamp: timestamp (in msec) when this token was generated. # expiry_timestamp: timestamp (in msec) at which this token expires. # max_timestamp: max life time of this token. # token_id: UUID to ensure uniqueness. # hmac: HMAC of the delegation token. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) #ApiKey: RenewDelegationToken, 39 RenewDelegationTokenRequestV0 => hmac renew_time_period hmac => BYTES renew_time_period => INT64 # hmac: HMAC of the delegation token to be renewed. # renew_time_period: Renew time period in milli seconds. RenewDelegationTokenRequestV1 => hmac renew_time_period hmac => BYTES renew_time_period => INT64 # hmac: HMAC of the delegation token to be renewed. # renew_time_period: Renew time period in milli seconds. RenewDelegationTokenResponseV0 => error_code expiry_timestamp throttle_time_ms error_code => INT16 expiry_timestamp => INT64 throttle_time_ms => INT32 # error_code: Response error code # expiry_timestamp: timestamp (in msec) at which this token expires.. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) RenewDelegationTokenResponseV1 => error_code expiry_timestamp throttle_time_ms error_code => INT16 expiry_timestamp => INT64 throttle_time_ms => INT32 # error_code: Response error code # expiry_timestamp: timestamp (in msec) at which this token expires.. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) #ApiKey: ExpireDelegationToken, 40 ExpireDelegationTokenRequestV0 => hmac expiry_time_period hmac => BYTES expiry_time_period => INT64 # hmac: HMAC of the delegation token to be expired. # expiry_time_period: expiry time period in milli seconds. ExpireDelegationTokenRequestV1 => hmac expiry_time_period hmac => BYTES expiry_time_period => INT64 # hmac: HMAC of the delegation token to be expired. # expiry_time_period: expiry time period in milli seconds. ExpireDelegationTokenResponseV0 => error_code expiry_timestamp throttle_time_ms error_code => INT16 expiry_timestamp => INT64 throttle_time_ms => INT32 # error_code: Response error code # expiry_timestamp: timestamp (in msec) at which this token expires.. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) ExpireDelegationTokenResponseV1 => error_code expiry_timestamp throttle_time_ms error_code => INT16 expiry_timestamp => INT64 throttle_time_ms => INT32 # error_code: Response error code # expiry_timestamp: timestamp (in msec) at which this token expires.. # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) #ApiKey: DescribeDelegationToken, 41 DescribeDelegationTokenRequestV0 => [owners] owners => principal_type name principal_type => STRING name => STRING # owners: An array of token owners. # principal_type: principalType of the Kafka principal # name: name of the Kafka principal DescribeDelegationTokenRequestV1 => [owners] owners => principal_type name principal_type => STRING name => STRING # owners: An array of token owners. # principal_type: principalType of the Kafka principal # name: name of the Kafka principal DescribeDelegationTokenResponseV0 => error_code [token_details] throttle_time_ms error_code => INT16 token_details => owner issue_timestamp expiry_timestamp max_timestamp token_id hmac [renewers] owner => principal_type name principal_type => STRING name => STRING issue_timestamp => INT64 expiry_timestamp => INT64 max_timestamp => INT64 token_id => STRING hmac => BYTES renewers => principal_type name principal_type => STRING name => STRING throttle_time_ms => INT32 # error_code: Response error code # owner: token owner. # principal_type: principalType of the Kafka principal # name: name of the Kafka principal # issue_timestamp: timestamp (in msec) when this token was generated. # expiry_timestamp: timestamp (in msec) at which this token expires. # max_timestamp: max life time of this token. # token_id: UUID to ensure uniqueness. # hmac: HMAC of the delegation token to be expired. # renewers: An array of token renewers. Renewer is an Kafka PrincipalType and name string, who is allowed to renew this token before the max lifetime expires. # principal_type: principalType of the Kafka principal # name: name of the Kafka principal # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) DescribeDelegationTokenResponseV1 => error_code [token_details] throttle_time_ms error_code => INT16 token_details => owner issue_timestamp expiry_timestamp max_timestamp token_id hmac [renewers] owner => principal_type name principal_type => STRING name => STRING issue_timestamp => INT64 expiry_timestamp => INT64 max_timestamp => INT64 token_id => STRING hmac => BYTES renewers => principal_type name principal_type => STRING name => STRING throttle_time_ms => INT32 # error_code: Response error code # owner: token owner. # principal_type: principalType of the Kafka principal # name: name of the Kafka principal # issue_timestamp: timestamp (in msec) when this token was generated. # expiry_timestamp: timestamp (in msec) at which this token expires. # max_timestamp: max life time of this token. # token_id: UUID to ensure uniqueness. # hmac: HMAC of the delegation token to be expired. # renewers: An array of token renewers. Renewer is an Kafka PrincipalType and name string, who is allowed to renew this token before the max lifetime expires. # principal_type: principalType of the Kafka principal # name: name of the Kafka principal # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) #ApiKey: DeleteGroups, 42 DeleteGroupsRequestV0 => [groups] groups => STRING # groups: An array of groups to be deleted. DeleteGroupsRequestV1 => [groups] groups => STRING # groups: An array of groups to be deleted. DeleteGroupsResponseV0 => throttle_time_ms [group_error_codes] throttle_time_ms => INT32 group_error_codes => group_id error_code group_id => STRING error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # group_error_codes: An array of per group error codes. # group_id: The unique group identifier # error_code: Response error code DeleteGroupsResponseV1 => throttle_time_ms [group_error_codes] throttle_time_ms => INT32 group_error_codes => group_id error_code group_id => STRING error_code => INT16 # throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota) # group_error_codes: An array of per group error codes. # group_id: The unique group identifier # error_code: Response error code #ApiKey: ElectPreferredLeaders, 43 ElectPreferredLeadersRequestV0 => [topic_partitions] timeout_ms topic_partitions => topic [partition_id] topic => STRING partition_id => INT32 timeout_ms => INT32 # topic_partitions: The topic partitions to elect the preferred leader of. # topic: The name of a topic. # partition_id: The partitions of this topic whose preferred leader should be elected # timeout_ms: The time in ms to wait for the election to complete. ElectPreferredLeadersResponseV0 => throttle_time_ms [replica_election_results] throttle_time_ms => INT32 replica_election_results => topic [partition_result] topic => STRING partition_result => partition_id error_code error_message partition_id => INT32 error_code => INT16 error_message => NULLABLE_STRING # throttle_time_ms: The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota. # replica_election_results: The error code, or 0 if there was no error. # topic: The topic name # partition_result: The results for each partition # partition_id: The partition id # error_code: The result error, or zero if there was no error. # error_message: The result message, or null if there was no error.