<h5>Headers:</h5>
<pre class="line-numbers"><code class="language-java">Request Header => api_key api_version correlation_id client_id 
  api_key => INT16
  api_version => INT16
  correlation_id => INT32
  client_id => NULLABLE_STRING
</code></pre>
<table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>api_key</td><td>The id of the request type.</td></tr>
<tr>
<td>api_version</td><td>The version of the API.</td></tr>
<tr>
<td>correlation_id</td><td>A user-supplied integer value that will be passed back with the response</td></tr>
<tr>
<td>client_id</td><td>A user specified identifier for the client making the request.</td></tr>
</table>
<pre class="line-numbers"><code class="language-java">Response Header => correlation_id 
  correlation_id => INT32
</code></pre>
<table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>correlation_id</td><td>The user-supplied value passed in with the request</td></tr>
</table>
<h5><a name="The_Messages_Produce">Produce API (Key: 0):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">Produce Request (Version: 0) => acks timeout [topic_data] 
  acks => INT16
  timeout => INT32
  topic_data => topic [data] 
    topic => STRING
    data => partition record_set 
      partition => INT32
      record_set => RECORDS
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>acks</td><td>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.</td></tr>
<tr>
<td>timeout</td><td>The time to await a response in ms.</td></tr>
<tr>
<td>topic_data</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>data</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Request (Version: 1) => acks timeout [topic_data] 
  acks => INT16
  timeout => INT32
  topic_data => topic [data] 
    topic => STRING
    data => partition record_set 
      partition => INT32
      record_set => RECORDS
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>acks</td><td>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.</td></tr>
<tr>
<td>timeout</td><td>The time to await a response in ms.</td></tr>
<tr>
<td>topic_data</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>data</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Request (Version: 2) => acks timeout [topic_data] 
  acks => INT16
  timeout => INT32
  topic_data => topic [data] 
    topic => STRING
    data => partition record_set 
      partition => INT32
      record_set => RECORDS
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>acks</td><td>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.</td></tr>
<tr>
<td>timeout</td><td>The time to await a response in ms.</td></tr>
<tr>
<td>topic_data</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>data</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Request (Version: 3) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id or null if the producer is not transactional</td></tr>
<tr>
<td>acks</td><td>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.</td></tr>
<tr>
<td>timeout</td><td>The time to await a response in ms.</td></tr>
<tr>
<td>topic_data</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>data</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Request (Version: 4) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id or null if the producer is not transactional</td></tr>
<tr>
<td>acks</td><td>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.</td></tr>
<tr>
<td>timeout</td><td>The time to await a response in ms.</td></tr>
<tr>
<td>topic_data</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>data</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Request (Version: 5) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id or null if the producer is not transactional</td></tr>
<tr>
<td>acks</td><td>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.</td></tr>
<tr>
<td>timeout</td><td>The time to await a response in ms.</td></tr>
<tr>
<td>topic_data</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>data</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Request (Version: 6) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id or null if the producer is not transactional</td></tr>
<tr>
<td>acks</td><td>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.</td></tr>
<tr>
<td>timeout</td><td>The time to await a response in ms.</td></tr>
<tr>
<td>topic_data</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>data</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Request (Version: 7) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id or null if the producer is not transactional</td></tr>
<tr>
<td>acks</td><td>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.</td></tr>
<tr>
<td>timeout</td><td>The time to await a response in ms.</td></tr>
<tr>
<td>topic_data</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>data</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">Produce Response (Version: 0) => [responses] 
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition error_code base_offset 
      partition => INT32
      error_code => INT16
      base_offset => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>base_offset</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Response (Version: 1) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>base_offset</td><td>null</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Response (Version: 2) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>base_offset</td><td>null</td></tr>
<tr>
<td>log_append_time</td><td>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.</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Response (Version: 3) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>base_offset</td><td>null</td></tr>
<tr>
<td>log_append_time</td><td>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.</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Response (Version: 4) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>base_offset</td><td>null</td></tr>
<tr>
<td>log_append_time</td><td>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.</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Response (Version: 5) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>base_offset</td><td>null</td></tr>
<tr>
<td>log_append_time</td><td>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.</td></tr>
<tr>
<td>log_start_offset</td><td>The start offset of the log at the time this produce response was created</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Response (Version: 6) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>base_offset</td><td>null</td></tr>
<tr>
<td>log_append_time</td><td>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.</td></tr>
<tr>
<td>log_start_offset</td><td>The start offset of the log at the time this produce response was created</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Produce Response (Version: 7) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>base_offset</td><td>null</td></tr>
<tr>
<td>log_append_time</td><td>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.</td></tr>
<tr>
<td>log_start_offset</td><td>The start offset of the log at the time this produce response was created</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<h5><a name="The_Messages_Fetch">Fetch API (Key: 1):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 3) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>max_bytes</td><td>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.</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 4) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>max_bytes</td><td>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.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 5) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>max_bytes</td><td>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.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset of the follower replica. The field is only used when request is sent by follower. </td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 6) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>max_bytes</td><td>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.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset of the follower replica. The field is only used when request is sent by follower. </td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 7) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>max_bytes</td><td>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.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>session_id</td><td>The fetch session ID</td></tr>
<tr>
<td>session_epoch</td><td>The fetch session epoch</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset of the follower replica. The field is only used when request is sent by follower. </td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
<tr>
<td>forgotten_topics_data</td><td>Topics to remove from the fetch session.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to remove from the fetch session.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 8) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>max_bytes</td><td>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.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>session_id</td><td>The fetch session ID</td></tr>
<tr>
<td>session_epoch</td><td>The fetch session epoch</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset of the follower replica. The field is only used when request is sent by follower. </td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
<tr>
<td>forgotten_topics_data</td><td>Topics to remove from the fetch session.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to remove from the fetch session.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 9) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>max_bytes</td><td>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.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>session_id</td><td>The fetch session ID</td></tr>
<tr>
<td>session_epoch</td><td>The fetch session epoch</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>current_leader_epoch</td><td>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.</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset of the follower replica. The field is only used when request is sent by follower. </td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
<tr>
<td>forgotten_topics_data</td><td>Topics to remove from the fetch session.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to remove from the fetch session.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Request (Version: 10) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>max_wait_time</td><td>Maximum time in ms to wait for the response.</td></tr>
<tr>
<td>min_bytes</td><td>Minimum bytes to accumulate in the response.</td></tr>
<tr>
<td>max_bytes</td><td>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.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>session_id</td><td>The fetch session ID</td></tr>
<tr>
<td>session_epoch</td><td>The fetch session epoch</td></tr>
<tr>
<td>topics</td><td>Topics to fetch in the order provided.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>current_leader_epoch</td><td>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.</td></tr>
<tr>
<td>fetch_offset</td><td>Message offset.</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset of the follower replica. The field is only used when request is sent by follower. </td></tr>
<tr>
<td>partition_max_bytes</td><td>Maximum bytes to fetch.</td></tr>
<tr>
<td>forgotten_topics_data</td><td>Topics to remove from the fetch session.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to remove from the fetch session.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 0) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 3) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 4) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>last_stable_offset</td><td>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)</td></tr>
<tr>
<td>aborted_transactions</td><td>null</td></tr>
<tr>
<td>producer_id</td><td>The producer id associated with the aborted transactions</td></tr>
<tr>
<td>first_offset</td><td>The first offset in the aborted transaction</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 5) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>last_stable_offset</td><td>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)</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset.</td></tr>
<tr>
<td>aborted_transactions</td><td>null</td></tr>
<tr>
<td>producer_id</td><td>The producer id associated with the aborted transactions</td></tr>
<tr>
<td>first_offset</td><td>The first offset in the aborted transaction</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 6) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>last_stable_offset</td><td>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)</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset.</td></tr>
<tr>
<td>aborted_transactions</td><td>null</td></tr>
<tr>
<td>producer_id</td><td>The producer id associated with the aborted transactions</td></tr>
<tr>
<td>first_offset</td><td>The first offset in the aborted transaction</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 7) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>session_id</td><td>The fetch session ID</td></tr>
<tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>last_stable_offset</td><td>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)</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset.</td></tr>
<tr>
<td>aborted_transactions</td><td>null</td></tr>
<tr>
<td>producer_id</td><td>The producer id associated with the aborted transactions</td></tr>
<tr>
<td>first_offset</td><td>The first offset in the aborted transaction</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 8) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>session_id</td><td>The fetch session ID</td></tr>
<tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>last_stable_offset</td><td>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)</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset.</td></tr>
<tr>
<td>aborted_transactions</td><td>null</td></tr>
<tr>
<td>producer_id</td><td>The producer id associated with the aborted transactions</td></tr>
<tr>
<td>first_offset</td><td>The first offset in the aborted transaction</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 9) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>session_id</td><td>The fetch session ID</td></tr>
<tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>last_stable_offset</td><td>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)</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset.</td></tr>
<tr>
<td>aborted_transactions</td><td>null</td></tr>
<tr>
<td>producer_id</td><td>The producer id associated with the aborted transactions</td></tr>
<tr>
<td>first_offset</td><td>The first offset in the aborted transaction</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Fetch Response (Version: 10) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>session_id</td><td>The fetch session ID</td></tr>
<tr>
<td>responses</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>null</td></tr>
<tr>
<td>partition_header</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>high_watermark</td><td>Last committed offset.</td></tr>
<tr>
<td>last_stable_offset</td><td>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)</td></tr>
<tr>
<td>log_start_offset</td><td>Earliest available offset.</td></tr>
<tr>
<td>aborted_transactions</td><td>null</td></tr>
<tr>
<td>producer_id</td><td>The producer id associated with the aborted transactions</td></tr>
<tr>
<td>first_offset</td><td>The first offset in the aborted transaction</td></tr>
<tr>
<td>record_set</td><td>null</td></tr>
</table>
</p>
<h5><a name="The_Messages_ListOffsets">ListOffsets API (Key: 2):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Request (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>topics</td><td>Topics to list offsets.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to list offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>timestamp</td><td>The target timestamp for the partition.</td></tr>
<tr>
<td>max_num_offsets</td><td>Maximum offsets to return.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Request (Version: 1) => replica_id [topics] 
  replica_id => INT32
  topics => topic [partitions] 
    topic => STRING
    partitions => partition timestamp 
      partition => INT32
      timestamp => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>topics</td><td>Topics to list offsets.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to list offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>timestamp</td><td>The target timestamp for the partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Request (Version: 2) => replica_id isolation_level [topics] 
  replica_id => INT32
  isolation_level => INT8
  topics => topic [partitions] 
    topic => STRING
    partitions => partition timestamp 
      partition => INT32
      timestamp => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>topics</td><td>Topics to list offsets.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to list offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>timestamp</td><td>The target timestamp for the partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Request (Version: 3) => replica_id isolation_level [topics] 
  replica_id => INT32
  isolation_level => INT8
  topics => topic [partitions] 
    topic => STRING
    partitions => partition timestamp 
      partition => INT32
      timestamp => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>topics</td><td>Topics to list offsets.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to list offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>timestamp</td><td>The target timestamp for the partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Request (Version: 4) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>topics</td><td>Topics to list offsets.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to list offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>current_leader_epoch</td><td>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.</td></tr>
<tr>
<td>timestamp</td><td>The target timestamp for the partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Request (Version: 5) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>replica_id</td><td>Broker id of the follower. For normal consumers, use -1.</td></tr>
<tr>
<td>isolation_level</td><td>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</td></tr>
<tr>
<td>topics</td><td>Topics to list offsets.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to list offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>current_leader_epoch</td><td>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.</td></tr>
<tr>
<td>timestamp</td><td>The target timestamp for the partition.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Response (Version: 0) => [responses] 
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition error_code [offsets'] 
      partition => INT32
      error_code => INT16
      offsets' => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>The listed offsets by topic</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>The listed offsets by partition</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>offsets'</td><td>A list of offsets.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Response (Version: 1) => [responses] 
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition error_code timestamp offset 
      partition => INT32
      error_code => INT16
      timestamp => INT64
      offset => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>The listed offsets by topic</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>The listed offsets by partition</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>timestamp</td><td>The timestamp associated with the returned offset</td></tr>
<tr>
<td>offset</td><td>The offset found</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Response (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>The listed offsets by topic</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>The listed offsets by partition</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>timestamp</td><td>The timestamp associated with the returned offset</td></tr>
<tr>
<td>offset</td><td>The offset found</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Response (Version: 3) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>The listed offsets by topic</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>The listed offsets by partition</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>timestamp</td><td>The timestamp associated with the returned offset</td></tr>
<tr>
<td>offset</td><td>The offset found</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Response (Version: 4) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>The listed offsets by topic</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>The listed offsets by partition</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>timestamp</td><td>The timestamp associated with the returned offset</td></tr>
<tr>
<td>offset</td><td>The offset found</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListOffsets Response (Version: 5) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>The listed offsets by topic</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>The listed offsets by partition</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>timestamp</td><td>The timestamp associated with the returned offset</td></tr>
<tr>
<td>offset</td><td>The offset found</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch</td></tr>
</table>
</p>
<h5><a name="The_Messages_Metadata">Metadata API (Key: 3):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">Metadata Request (Version: 0) => [topics] 
  topics => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to fetch metadata for. If no topics are specified fetch metadata for all topics.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Request (Version: 1) => [topics] 
  topics => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Request (Version: 2) => [topics] 
  topics => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Request (Version: 3) => [topics] 
  topics => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Request (Version: 4) => [topics] allow_auto_topic_creation 
  topics => STRING
  allow_auto_topic_creation => BOOLEAN
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr>
<tr>
<td>allow_auto_topic_creation</td><td>If this and the broker config <code>auto.create.topics.enable</code> are true, topics that don't exist will be created by the broker. Otherwise, no topics will be created by the broker.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Request (Version: 5) => [topics] allow_auto_topic_creation 
  topics => STRING
  allow_auto_topic_creation => BOOLEAN
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr>
<tr>
<td>allow_auto_topic_creation</td><td>If this and the broker config <code>auto.create.topics.enable</code> are true, topics that don't exist will be created by the broker. Otherwise, no topics will be created by the broker.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Request (Version: 6) => [topics] allow_auto_topic_creation 
  topics => STRING
  allow_auto_topic_creation => BOOLEAN
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr>
<tr>
<td>allow_auto_topic_creation</td><td>If this and the broker config <code>auto.create.topics.enable</code> are true, topics that don't exist will be created by the broker. Otherwise, no topics will be created by the broker.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Request (Version: 7) => [topics] allow_auto_topic_creation 
  topics => STRING
  allow_auto_topic_creation => BOOLEAN
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.</td></tr>
<tr>
<td>allow_auto_topic_creation</td><td>If this and the broker config <code>auto.create.topics.enable</code> are true, topics that don't exist will be created by the broker. Otherwise, no topics will be created by the broker.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">Metadata Response (Version: 0) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>brokers</td><td>Host and port information for all brokers.</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>topic_metadata</td><td>Metadata for requested topics</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_metadata</td><td>Metadata for each partition of the topic.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader</td><td>The id of the broker acting as leader for this partition.</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that host this partition.</td></tr>
<tr>
<td>isr</td><td>The set of nodes that are in sync with the leader for this partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Response (Version: 1) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>brokers</td><td>Host and port information for all brokers.</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>rack</td><td>The rack of the broker.</td></tr>
<tr>
<td>controller_id</td><td>The broker id of the controller broker.</td></tr>
<tr>
<td>topic_metadata</td><td>Metadata for requested topics</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>is_internal</td><td>Indicates if the topic is considered a Kafka internal topic</td></tr>
<tr>
<td>partition_metadata</td><td>Metadata for each partition of the topic.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader</td><td>The id of the broker acting as leader for this partition.</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that host this partition.</td></tr>
<tr>
<td>isr</td><td>The set of nodes that are in sync with the leader for this partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Response (Version: 2) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>brokers</td><td>Host and port information for all brokers.</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>rack</td><td>The rack of the broker.</td></tr>
<tr>
<td>cluster_id</td><td>The cluster id that this broker belongs to.</td></tr>
<tr>
<td>controller_id</td><td>The broker id of the controller broker.</td></tr>
<tr>
<td>topic_metadata</td><td>Metadata for requested topics</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>is_internal</td><td>Indicates if the topic is considered a Kafka internal topic</td></tr>
<tr>
<td>partition_metadata</td><td>Metadata for each partition of the topic.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader</td><td>The id of the broker acting as leader for this partition.</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that host this partition.</td></tr>
<tr>
<td>isr</td><td>The set of nodes that are in sync with the leader for this partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Response (Version: 3) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>brokers</td><td>Host and port information for all brokers.</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>rack</td><td>The rack of the broker.</td></tr>
<tr>
<td>cluster_id</td><td>The cluster id that this broker belongs to.</td></tr>
<tr>
<td>controller_id</td><td>The broker id of the controller broker.</td></tr>
<tr>
<td>topic_metadata</td><td>Metadata for requested topics</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>is_internal</td><td>Indicates if the topic is considered a Kafka internal topic</td></tr>
<tr>
<td>partition_metadata</td><td>Metadata for each partition of the topic.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader</td><td>The id of the broker acting as leader for this partition.</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that host this partition.</td></tr>
<tr>
<td>isr</td><td>The set of nodes that are in sync with the leader for this partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Response (Version: 4) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>brokers</td><td>Host and port information for all brokers.</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>rack</td><td>The rack of the broker.</td></tr>
<tr>
<td>cluster_id</td><td>The cluster id that this broker belongs to.</td></tr>
<tr>
<td>controller_id</td><td>The broker id of the controller broker.</td></tr>
<tr>
<td>topic_metadata</td><td>Metadata for requested topics</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>is_internal</td><td>Indicates if the topic is considered a Kafka internal topic</td></tr>
<tr>
<td>partition_metadata</td><td>Metadata for each partition of the topic.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader</td><td>The id of the broker acting as leader for this partition.</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that host this partition.</td></tr>
<tr>
<td>isr</td><td>The set of nodes that are in sync with the leader for this partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Response (Version: 5) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>brokers</td><td>Host and port information for all brokers.</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>rack</td><td>The rack of the broker.</td></tr>
<tr>
<td>cluster_id</td><td>The cluster id that this broker belongs to.</td></tr>
<tr>
<td>controller_id</td><td>The broker id of the controller broker.</td></tr>
<tr>
<td>topic_metadata</td><td>Metadata for requested topics</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>is_internal</td><td>Indicates if the topic is considered a Kafka internal topic</td></tr>
<tr>
<td>partition_metadata</td><td>Metadata for each partition of the topic.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader</td><td>The id of the broker acting as leader for this partition.</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that host this partition.</td></tr>
<tr>
<td>isr</td><td>The set of nodes that are in sync with the leader for this partition.</td></tr>
<tr>
<td>offline_replicas</td><td>The set of offline replicas of this partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Response (Version: 6) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>brokers</td><td>Host and port information for all brokers.</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>rack</td><td>The rack of the broker.</td></tr>
<tr>
<td>cluster_id</td><td>The cluster id that this broker belongs to.</td></tr>
<tr>
<td>controller_id</td><td>The broker id of the controller broker.</td></tr>
<tr>
<td>topic_metadata</td><td>Metadata for requested topics</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>is_internal</td><td>Indicates if the topic is considered a Kafka internal topic</td></tr>
<tr>
<td>partition_metadata</td><td>Metadata for each partition of the topic.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader</td><td>The id of the broker acting as leader for this partition.</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that host this partition.</td></tr>
<tr>
<td>isr</td><td>The set of nodes that are in sync with the leader for this partition.</td></tr>
<tr>
<td>offline_replicas</td><td>The set of offline replicas of this partition.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Metadata Response (Version: 7) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>brokers</td><td>Host and port information for all brokers.</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>rack</td><td>The rack of the broker.</td></tr>
<tr>
<td>cluster_id</td><td>The cluster id that this broker belongs to.</td></tr>
<tr>
<td>controller_id</td><td>The broker id of the controller broker.</td></tr>
<tr>
<td>topic_metadata</td><td>Metadata for requested topics</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>is_internal</td><td>Indicates if the topic is considered a Kafka internal topic</td></tr>
<tr>
<td>partition_metadata</td><td>Metadata for each partition of the topic.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader</td><td>The id of the broker acting as leader for this partition.</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that host this partition.</td></tr>
<tr>
<td>isr</td><td>The set of nodes that are in sync with the leader for this partition.</td></tr>
<tr>
<td>offline_replicas</td><td>The set of offline replicas of this partition.</td></tr>
</table>
</p>
<h5><a name="The_Messages_LeaderAndIsr">LeaderAndIsr API (Key: 4):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">LeaderAndIsr Request (Version: 0) => controller_id controller_epoch [partition_states] [live_leaders] 
  controller_id => INT32
  controller_epoch => INT32
  partition_states => topic partition controller_epoch leader leader_epoch [isr] zk_version [replicas] 
    topic => STRING
    partition => INT32
    controller_epoch => INT32
    leader => INT32
    leader_epoch => INT32
    isr => INT32
    zk_version => INT32
    replicas => INT32
  live_leaders => id host port 
    id => INT32
    host => STRING
    port => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>partition_states</td><td>Partition states</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>leader</td><td>The broker id for the leader.</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch.</td></tr>
<tr>
<td>isr</td><td>The in sync replica ids.</td></tr>
<tr>
<td>zk_version</td><td>The ZK version.</td></tr>
<tr>
<td>replicas</td><td>The replica ids.</td></tr>
<tr>
<td>live_leaders</td><td>Live leaders</td></tr>
<tr>
<td>id</td><td>The broker id</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">LeaderAndIsr Request (Version: 1) => controller_id controller_epoch [partition_states] [live_leaders] 
  controller_id => INT32
  controller_epoch => INT32
  partition_states => topic partition controller_epoch leader leader_epoch [isr] zk_version [replicas] is_new 
    topic => STRING
    partition => INT32
    controller_epoch => INT32
    leader => INT32
    leader_epoch => INT32
    isr => INT32
    zk_version => INT32
    replicas => INT32
    is_new => BOOLEAN
  live_leaders => id host port 
    id => INT32
    host => STRING
    port => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>partition_states</td><td>Partition states</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>leader</td><td>The broker id for the leader.</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch.</td></tr>
<tr>
<td>isr</td><td>The in sync replica ids.</td></tr>
<tr>
<td>zk_version</td><td>The ZK version.</td></tr>
<tr>
<td>replicas</td><td>The replica ids.</td></tr>
<tr>
<td>is_new</td><td>Whether the replica should have existed on the broker or not</td></tr>
<tr>
<td>live_leaders</td><td>Live leaders</td></tr>
<tr>
<td>id</td><td>The broker id</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">LeaderAndIsr Request (Version: 2) => controller_id controller_epoch broker_epoch [topic_states] [live_leaders] 
  controller_id => INT32
  controller_epoch => INT32
  broker_epoch => INT64
  topic_states => topic [partition_states] 
    topic => STRING
    partition_states => partition controller_epoch leader leader_epoch [isr] zk_version [replicas] is_new 
      partition => INT32
      controller_epoch => INT32
      leader => INT32
      leader_epoch => INT32
      isr => INT32
      zk_version => INT32
      replicas => INT32
      is_new => BOOLEAN
  live_leaders => id host port 
    id => INT32
    host => STRING
    port => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>broker_epoch</td><td>The broker epoch</td></tr>
<tr>
<td>topic_states</td><td>Topic states</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_states</td><td>Partition states</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>leader</td><td>The broker id for the leader.</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch.</td></tr>
<tr>
<td>isr</td><td>The in sync replica ids.</td></tr>
<tr>
<td>zk_version</td><td>The ZK version.</td></tr>
<tr>
<td>replicas</td><td>The replica ids.</td></tr>
<tr>
<td>is_new</td><td>Whether the replica should have existed on the broker or not</td></tr>
<tr>
<td>live_leaders</td><td>Live leaders</td></tr>
<tr>
<td>id</td><td>The broker id</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">LeaderAndIsr Response (Version: 0) => error_code [partitions] 
  error_code => INT16
  partitions => topic partition error_code 
    topic => STRING
    partition => INT32
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partitions</td><td>Response for the requests partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">LeaderAndIsr Response (Version: 1) => error_code [partitions] 
  error_code => INT16
  partitions => topic partition error_code 
    topic => STRING
    partition => INT32
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partitions</td><td>Response for the requests partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">LeaderAndIsr Response (Version: 2) => error_code [partitions] 
  error_code => INT16
  partitions => topic partition error_code 
    topic => STRING
    partition => INT32
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partitions</td><td>Response for the requests partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_StopReplica">StopReplica API (Key: 5):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">StopReplica Request (Version: 0) => controller_id controller_epoch delete_partitions [partitions] 
  controller_id => INT32
  controller_epoch => INT32
  delete_partitions => BOOLEAN
  partitions => topic partition 
    topic => STRING
    partition => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>delete_partitions</td><td>Boolean which indicates if replica's partitions must be deleted.</td></tr>
<tr>
<td>partitions</td><td>The partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">StopReplica Request (Version: 1) => controller_id controller_epoch broker_epoch delete_partitions [partitions] 
  controller_id => INT32
  controller_epoch => INT32
  broker_epoch => INT64
  delete_partitions => BOOLEAN
  partitions => topic [partition_ids] 
    topic => STRING
    partition_ids => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>broker_epoch</td><td>The broker epoch</td></tr>
<tr>
<td>delete_partitions</td><td>Boolean which indicates if replica's partitions must be deleted.</td></tr>
<tr>
<td>partitions</td><td>The partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_ids</td><td>The partition ids of a topic</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">StopReplica Response (Version: 0) => error_code [partitions] 
  error_code => INT16
  partitions => topic partition error_code 
    topic => STRING
    partition => INT32
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partitions</td><td>Response for the requests partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">StopReplica Response (Version: 1) => error_code [partitions] 
  error_code => INT16
  partitions => topic partition error_code 
    topic => STRING
    partition => INT32
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partitions</td><td>Response for the requests partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_UpdateMetadata">UpdateMetadata API (Key: 6):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Request (Version: 0) => controller_id controller_epoch [partition_states] [live_brokers] 
  controller_id => INT32
  controller_epoch => INT32
  partition_states => topic partition controller_epoch leader leader_epoch [isr] zk_version [replicas] 
    topic => STRING
    partition => INT32
    controller_epoch => INT32
    leader => INT32
    leader_epoch => INT32
    isr => INT32
    zk_version => INT32
    replicas => INT32
  live_brokers => id host port 
    id => INT32
    host => STRING
    port => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>partition_states</td><td>Partition states</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>leader</td><td>The broker id for the leader.</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch.</td></tr>
<tr>
<td>isr</td><td>The in sync replica ids.</td></tr>
<tr>
<td>zk_version</td><td>The ZK version.</td></tr>
<tr>
<td>replicas</td><td>The replica ids.</td></tr>
<tr>
<td>live_brokers</td><td>Live broekrs</td></tr>
<tr>
<td>id</td><td>The broker id</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Request (Version: 1) => controller_id controller_epoch [partition_states] [live_brokers] 
  controller_id => INT32
  controller_epoch => INT32
  partition_states => topic partition controller_epoch leader leader_epoch [isr] zk_version [replicas] 
    topic => STRING
    partition => INT32
    controller_epoch => INT32
    leader => INT32
    leader_epoch => INT32
    isr => INT32
    zk_version => INT32
    replicas => INT32
  live_brokers => id [end_points] 
    id => INT32
    end_points => port host security_protocol_type 
      port => INT32
      host => STRING
      security_protocol_type => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>partition_states</td><td>Partition states</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>leader</td><td>The broker id for the leader.</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch.</td></tr>
<tr>
<td>isr</td><td>The in sync replica ids.</td></tr>
<tr>
<td>zk_version</td><td>The ZK version.</td></tr>
<tr>
<td>replicas</td><td>The replica ids.</td></tr>
<tr>
<td>live_brokers</td><td>Live broekrs</td></tr>
<tr>
<td>id</td><td>The broker id</td></tr>
<tr>
<td>end_points</td><td>The endpoints</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>security_protocol_type</td><td>The security protocol type.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Request (Version: 2) => controller_id controller_epoch [partition_states] [live_brokers] 
  controller_id => INT32
  controller_epoch => INT32
  partition_states => topic partition controller_epoch leader leader_epoch [isr] zk_version [replicas] 
    topic => STRING
    partition => INT32
    controller_epoch => INT32
    leader => INT32
    leader_epoch => INT32
    isr => INT32
    zk_version => INT32
    replicas => INT32
  live_brokers => id [end_points] rack 
    id => INT32
    end_points => port host security_protocol_type 
      port => INT32
      host => STRING
      security_protocol_type => INT16
    rack => NULLABLE_STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>partition_states</td><td>Partition states</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>leader</td><td>The broker id for the leader.</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch.</td></tr>
<tr>
<td>isr</td><td>The in sync replica ids.</td></tr>
<tr>
<td>zk_version</td><td>The ZK version.</td></tr>
<tr>
<td>replicas</td><td>The replica ids.</td></tr>
<tr>
<td>live_brokers</td><td>Live broekrs</td></tr>
<tr>
<td>id</td><td>The broker id</td></tr>
<tr>
<td>end_points</td><td>The endpoints</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>security_protocol_type</td><td>The security protocol type.</td></tr>
<tr>
<td>rack</td><td>The rack</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Request (Version: 3) => controller_id controller_epoch [partition_states] [live_brokers] 
  controller_id => INT32
  controller_epoch => INT32
  partition_states => topic partition controller_epoch leader leader_epoch [isr] zk_version [replicas] 
    topic => STRING
    partition => INT32
    controller_epoch => INT32
    leader => INT32
    leader_epoch => INT32
    isr => INT32
    zk_version => INT32
    replicas => INT32
  live_brokers => id [end_points] rack 
    id => INT32
    end_points => port host listener_name security_protocol_type 
      port => INT32
      host => STRING
      listener_name => STRING
      security_protocol_type => INT16
    rack => NULLABLE_STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>partition_states</td><td>Partition states</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>leader</td><td>The broker id for the leader.</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch.</td></tr>
<tr>
<td>isr</td><td>The in sync replica ids.</td></tr>
<tr>
<td>zk_version</td><td>The ZK version.</td></tr>
<tr>
<td>replicas</td><td>The replica ids.</td></tr>
<tr>
<td>live_brokers</td><td>Live broekrs</td></tr>
<tr>
<td>id</td><td>The broker id</td></tr>
<tr>
<td>end_points</td><td>The endpoints</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>listener_name</td><td>The listener name.</td></tr>
<tr>
<td>security_protocol_type</td><td>The security protocol type.</td></tr>
<tr>
<td>rack</td><td>The rack</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Request (Version: 4) => controller_id controller_epoch [partition_states] [live_brokers] 
  controller_id => INT32
  controller_epoch => INT32
  partition_states => topic partition controller_epoch leader leader_epoch [isr] zk_version [replicas] [offline_replicas] 
    topic => STRING
    partition => INT32
    controller_epoch => INT32
    leader => INT32
    leader_epoch => INT32
    isr => INT32
    zk_version => INT32
    replicas => INT32
    offline_replicas => INT32
  live_brokers => id [end_points] rack 
    id => INT32
    end_points => port host listener_name security_protocol_type 
      port => INT32
      host => STRING
      listener_name => STRING
      security_protocol_type => INT16
    rack => NULLABLE_STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>partition_states</td><td>Partition states</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>leader</td><td>The broker id for the leader.</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch.</td></tr>
<tr>
<td>isr</td><td>The in sync replica ids.</td></tr>
<tr>
<td>zk_version</td><td>The ZK version.</td></tr>
<tr>
<td>replicas</td><td>The replica ids.</td></tr>
<tr>
<td>offline_replicas</td><td>The offline replica ids</td></tr>
<tr>
<td>live_brokers</td><td>Live broekrs</td></tr>
<tr>
<td>id</td><td>The broker id</td></tr>
<tr>
<td>end_points</td><td>The endpoints</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>listener_name</td><td>The listener name.</td></tr>
<tr>
<td>security_protocol_type</td><td>The security protocol type.</td></tr>
<tr>
<td>rack</td><td>The rack</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Request (Version: 5) => controller_id controller_epoch broker_epoch [topic_states] [live_brokers] 
  controller_id => INT32
  controller_epoch => INT32
  broker_epoch => INT64
  topic_states => topic [partition_states] 
    topic => STRING
    partition_states => partition controller_epoch leader leader_epoch [isr] zk_version [replicas] [offline_replicas] 
      partition => INT32
      controller_epoch => INT32
      leader => INT32
      leader_epoch => INT32
      isr => INT32
      zk_version => INT32
      replicas => INT32
      offline_replicas => INT32
  live_brokers => id [end_points] rack 
    id => INT32
    end_points => port host listener_name security_protocol_type 
      port => INT32
      host => STRING
      listener_name => STRING
      security_protocol_type => INT16
    rack => NULLABLE_STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>controller_id</td><td>The controller id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>broker_epoch</td><td>The broker epoch</td></tr>
<tr>
<td>topic_states</td><td>Topic states</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_states</td><td>Partition states</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>controller_epoch</td><td>The controller epoch</td></tr>
<tr>
<td>leader</td><td>The broker id for the leader.</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch.</td></tr>
<tr>
<td>isr</td><td>The in sync replica ids.</td></tr>
<tr>
<td>zk_version</td><td>The ZK version.</td></tr>
<tr>
<td>replicas</td><td>The replica ids.</td></tr>
<tr>
<td>offline_replicas</td><td>The offline replica ids</td></tr>
<tr>
<td>live_brokers</td><td>Live broekrs</td></tr>
<tr>
<td>id</td><td>The broker id</td></tr>
<tr>
<td>end_points</td><td>The endpoints</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>listener_name</td><td>The listener name.</td></tr>
<tr>
<td>security_protocol_type</td><td>The security protocol type.</td></tr>
<tr>
<td>rack</td><td>The rack</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Response (Version: 0) => error_code 
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Response (Version: 1) => error_code 
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Response (Version: 2) => error_code 
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Response (Version: 3) => error_code 
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Response (Version: 4) => error_code 
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">UpdateMetadata Response (Version: 5) => error_code 
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_ControlledShutdown">ControlledShutdown API (Key: 7):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">ControlledShutdown Request (Version: 0) => broker_id 
  broker_id => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>broker_id</td><td>The id of the broker for which controlled shutdown has been requested.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ControlledShutdown Request (Version: 1) => broker_id 
  broker_id => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>broker_id</td><td>The id of the broker for which controlled shutdown has been requested.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ControlledShutdown Request (Version: 2) => broker_id broker_epoch 
  broker_id => INT32
  broker_epoch => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>broker_id</td><td>The id of the broker for which controlled shutdown has been requested.</td></tr>
<tr>
<td>broker_epoch</td><td>The broker epoch</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">ControlledShutdown Response (Version: 0) => error_code [partitions_remaining] 
  error_code => INT16
  partitions_remaining => topic partition 
    topic => STRING
    partition => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partitions_remaining</td><td>The partitions that the broker still leads.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ControlledShutdown Response (Version: 1) => error_code [partitions_remaining] 
  error_code => INT16
  partitions_remaining => topic partition 
    topic => STRING
    partition => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partitions_remaining</td><td>The partitions that the broker still leads.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ControlledShutdown Response (Version: 2) => error_code [partitions_remaining] 
  error_code => INT16
  partitions_remaining => topic partition 
    topic => STRING
    partition => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partitions_remaining</td><td>The partitions that the broker still leads.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
</table>
</p>
<h5><a name="The_Messages_OffsetCommit">OffsetCommit API (Key: 8):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Request (Version: 0) => group_id [topics] 
  group_id => STRING
  topics => topic [partitions] 
    topic => STRING
    partitions => partition offset metadata 
      partition => INT32
      offset => INT64
      metadata => NULLABLE_STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>topics</td><td>Topics to commit offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to commit offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Request (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>topics</td><td>Topics to commit offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to commit offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>timestamp</td><td>Timestamp of the commit</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Request (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>retention_time</td><td>Time period in ms to retain the offset.</td></tr>
<tr>
<td>topics</td><td>Topics to commit offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to commit offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Request (Version: 3) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>retention_time</td><td>Time period in ms to retain the offset.</td></tr>
<tr>
<td>topics</td><td>Topics to commit offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to commit offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Request (Version: 4) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>retention_time</td><td>Time period in ms to retain the offset.</td></tr>
<tr>
<td>topics</td><td>Topics to commit offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to commit offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Request (Version: 5) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>topics</td><td>Topics to commit offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to commit offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Request (Version: 6) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>topics</td><td>Topics to commit offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to commit offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>leader_epoch</td><td>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.</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Response (Version: 0) => [responses] 
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>Responses by topic for committed partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses for committed partitions</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Response (Version: 1) => [responses] 
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>Responses by topic for committed partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses for committed partitions</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Response (Version: 2) => [responses] 
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>Responses by topic for committed partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses for committed partitions</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Response (Version: 3) => throttle_time_ms [responses] 
  throttle_time_ms => INT32
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>Responses by topic for committed partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses for committed partitions</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Response (Version: 4) => throttle_time_ms [responses] 
  throttle_time_ms => INT32
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>Responses by topic for committed partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses for committed partitions</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Response (Version: 5) => throttle_time_ms [responses] 
  throttle_time_ms => INT32
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>Responses by topic for committed partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses for committed partitions</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetCommit Response (Version: 6) => throttle_time_ms [responses] 
  throttle_time_ms => INT32
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>Responses by topic for committed partitions</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses for committed partitions</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_OffsetFetch">OffsetFetch API (Key: 9):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Request (Version: 0) => group_id [topics] 
  group_id => STRING
  topics => topic [partitions] 
    topic => STRING
    partitions => partition 
      partition => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>topics</td><td>Topics to fetch offsets.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Request (Version: 1) => group_id [topics] 
  group_id => STRING
  topics => topic [partitions] 
    topic => STRING
    partitions => partition 
      partition => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>topics</td><td>Topics to fetch offsets.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Request (Version: 2) => group_id [topics] 
  group_id => STRING
  topics => topic [partitions] 
    topic => STRING
    partitions => partition 
      partition => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>topics</td><td>Topics to fetch offsets. If the topic array is null fetch offsets for all topics.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Request (Version: 3) => group_id [topics] 
  group_id => STRING
  topics => topic [partitions] 
    topic => STRING
    partitions => partition 
      partition => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>topics</td><td>Topics to fetch offsets. If the topic array is null fetch offsets for all topics.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Request (Version: 4) => group_id [topics] 
  group_id => STRING
  topics => topic [partitions] 
    topic => STRING
    partitions => partition 
      partition => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>topics</td><td>Topics to fetch offsets. If the topic array is null fetch offsets for all topics.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Request (Version: 5) => group_id [topics] 
  group_id => STRING
  topics => topic [partitions] 
    topic => STRING
    partitions => partition 
      partition => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>topics</td><td>Topics to fetch offsets. If the topic array is null fetch offsets for all topics.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to fetch offsets.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Response (Version: 0) => [responses] 
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition offset metadata error_code 
      partition => INT32
      offset => INT64
      metadata => NULLABLE_STRING
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>Responses by topic for fetched offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses by partition for fetched offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Response (Version: 1) => [responses] 
  responses => topic [partition_responses] 
    topic => STRING
    partition_responses => partition offset metadata error_code 
      partition => INT32
      offset => INT64
      metadata => NULLABLE_STRING
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>Responses by topic for fetched offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses by partition for fetched offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Response (Version: 2) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>responses</td><td>Responses by topic for fetched offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses by partition for fetched offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Response (Version: 3) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>Responses by topic for fetched offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses by partition for fetched offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Response (Version: 4) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>Responses by topic for fetched offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses by partition for fetched offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetFetch Response (Version: 5) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>responses</td><td>Responses by topic for fetched offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_responses</td><td>Responses by partition for fetched offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>leader_epoch</td><td>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.</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_FindCoordinator">FindCoordinator API (Key: 10):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">FindCoordinator Request (Version: 0) => group_id 
  group_id => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">FindCoordinator Request (Version: 1) => coordinator_key coordinator_type 
  coordinator_key => STRING
  coordinator_type => INT8
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>coordinator_key</td><td>Id to use for finding the coordinator (for groups, this is the groupId, for transactional producers, this is the transactional id)</td></tr>
<tr>
<td>coordinator_type</td><td>The type of coordinator to find (0 = group, 1 = transaction)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">FindCoordinator Request (Version: 2) => coordinator_key coordinator_type 
  coordinator_key => STRING
  coordinator_type => INT8
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>coordinator_key</td><td>Id to use for finding the coordinator (for groups, this is the groupId, for transactional producers, this is the transactional id)</td></tr>
<tr>
<td>coordinator_type</td><td>The type of coordinator to find (0 = group, 1 = transaction)</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">FindCoordinator Response (Version: 0) => error_code coordinator 
  error_code => INT16
  coordinator => node_id host port 
    node_id => INT32
    host => STRING
    port => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>coordinator</td><td>Host and port information for the coordinator for a consumer group.</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">FindCoordinator Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>coordinator</td><td>Host and port information for the coordinator</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">FindCoordinator Response (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>coordinator</td><td>Host and port information for the coordinator</td></tr>
<tr>
<td>node_id</td><td>The broker id.</td></tr>
<tr>
<td>host</td><td>The hostname of the broker.</td></tr>
<tr>
<td>port</td><td>The port on which the broker accepts requests.</td></tr>
</table>
</p>
<h5><a name="The_Messages_JoinGroup">JoinGroup API (Key: 11):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">JoinGroup Request (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>session_timeout</td><td>The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>protocol_type</td><td>Unique name for class of protocols implemented by group</td></tr>
<tr>
<td>group_protocols</td><td>List of protocols that the member supports</td></tr>
<tr>
<td>protocol_name</td><td>null</td></tr>
<tr>
<td>protocol_metadata</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">JoinGroup Request (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>session_timeout</td><td>The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.</td></tr>
<tr>
<td>rebalance_timeout</td><td>The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>protocol_type</td><td>Unique name for class of protocols implemented by group</td></tr>
<tr>
<td>group_protocols</td><td>List of protocols that the member supports</td></tr>
<tr>
<td>protocol_name</td><td>null</td></tr>
<tr>
<td>protocol_metadata</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">JoinGroup Request (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>session_timeout</td><td>The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.</td></tr>
<tr>
<td>rebalance_timeout</td><td>The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>protocol_type</td><td>Unique name for class of protocols implemented by group</td></tr>
<tr>
<td>group_protocols</td><td>List of protocols that the member supports</td></tr>
<tr>
<td>protocol_name</td><td>null</td></tr>
<tr>
<td>protocol_metadata</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">JoinGroup Request (Version: 3) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>session_timeout</td><td>The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.</td></tr>
<tr>
<td>rebalance_timeout</td><td>The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>protocol_type</td><td>Unique name for class of protocols implemented by group</td></tr>
<tr>
<td>group_protocols</td><td>List of protocols that the member supports</td></tr>
<tr>
<td>protocol_name</td><td>null</td></tr>
<tr>
<td>protocol_metadata</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">JoinGroup Request (Version: 4) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>session_timeout</td><td>The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.</td></tr>
<tr>
<td>rebalance_timeout</td><td>The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>protocol_type</td><td>Unique name for class of protocols implemented by group</td></tr>
<tr>
<td>group_protocols</td><td>List of protocols that the member supports</td></tr>
<tr>
<td>protocol_name</td><td>null</td></tr>
<tr>
<td>protocol_metadata</td><td>null</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">JoinGroup Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>group_protocol</td><td>The group protocol selected by the coordinator</td></tr>
<tr>
<td>leader_id</td><td>The leader of the group</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>members</td><td>null</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>member_metadata</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">JoinGroup Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>group_protocol</td><td>The group protocol selected by the coordinator</td></tr>
<tr>
<td>leader_id</td><td>The leader of the group</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>members</td><td>null</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>member_metadata</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">JoinGroup Response (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>group_protocol</td><td>The group protocol selected by the coordinator</td></tr>
<tr>
<td>leader_id</td><td>The leader of the group</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>members</td><td>null</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>member_metadata</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">JoinGroup Response (Version: 3) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>group_protocol</td><td>The group protocol selected by the coordinator</td></tr>
<tr>
<td>leader_id</td><td>The leader of the group</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>members</td><td>null</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>member_metadata</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">JoinGroup Response (Version: 4) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>group_protocol</td><td>The group protocol selected by the coordinator</td></tr>
<tr>
<td>leader_id</td><td>The leader of the group</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>members</td><td>null</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>member_metadata</td><td>null</td></tr>
</table>
</p>
<h5><a name="The_Messages_Heartbeat">Heartbeat API (Key: 12):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">Heartbeat Request (Version: 0) => group_id generation_id member_id 
  group_id => STRING
  generation_id => INT32
  member_id => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Heartbeat Request (Version: 1) => group_id generation_id member_id 
  group_id => STRING
  generation_id => INT32
  member_id => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Heartbeat Request (Version: 2) => group_id generation_id member_id 
  group_id => STRING
  generation_id => INT32
  member_id => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">Heartbeat Response (Version: 0) => error_code 
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Heartbeat Response (Version: 1) => throttle_time_ms error_code 
  throttle_time_ms => INT32
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">Heartbeat Response (Version: 2) => throttle_time_ms error_code 
  throttle_time_ms => INT32
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_LeaveGroup">LeaveGroup API (Key: 13):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">LeaveGroup Request (Version: 0) => group_id member_id 
  group_id => STRING
  member_id => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The ID of the group to leave.</td></tr>
<tr>
<td>member_id</td><td>The member ID to remove from the group.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">LeaveGroup Request (Version: 1) => group_id member_id 
  group_id => STRING
  member_id => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The ID of the group to leave.</td></tr>
<tr>
<td>member_id</td><td>The member ID to remove from the group.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">LeaveGroup Request (Version: 2) => group_id member_id 
  group_id => STRING
  member_id => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The ID of the group to leave.</td></tr>
<tr>
<td>member_id</td><td>The member ID to remove from the group.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">LeaveGroup Response (Version: 0) => error_code 
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>The error code, or 0 if there was no error.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">LeaveGroup Response (Version: 1) => throttle_time_ms error_code 
  throttle_time_ms => INT32
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>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.</td></tr>
<tr>
<td>error_code</td><td>The error code, or 0 if there was no error.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">LeaveGroup Response (Version: 2) => throttle_time_ms error_code 
  throttle_time_ms => INT32
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>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.</td></tr>
<tr>
<td>error_code</td><td>The error code, or 0 if there was no error.</td></tr>
</table>
</p>
<h5><a name="The_Messages_SyncGroup">SyncGroup API (Key: 14):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">SyncGroup Request (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>group_assignment</td><td>null</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>member_assignment</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">SyncGroup Request (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>group_assignment</td><td>null</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>member_assignment</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">SyncGroup Request (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>generation_id</td><td>The generation of the group.</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>group_assignment</td><td>null</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>member_assignment</td><td>null</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">SyncGroup Response (Version: 0) => error_code member_assignment 
  error_code => INT16
  member_assignment => BYTES
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>member_assignment</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">SyncGroup Response (Version: 1) => throttle_time_ms error_code member_assignment 
  throttle_time_ms => INT32
  error_code => INT16
  member_assignment => BYTES
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>member_assignment</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">SyncGroup Response (Version: 2) => throttle_time_ms error_code member_assignment 
  throttle_time_ms => INT32
  error_code => INT16
  member_assignment => BYTES
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>member_assignment</td><td>null</td></tr>
</table>
</p>
<h5><a name="The_Messages_DescribeGroups">DescribeGroups API (Key: 15):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">DescribeGroups Request (Version: 0) => [group_ids] 
  group_ids => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_ids</td><td>List of groupIds to request metadata for (an empty groupId array will return empty group metadata).</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeGroups Request (Version: 1) => [group_ids] 
  group_ids => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_ids</td><td>List of groupIds to request metadata for (an empty groupId array will return empty group metadata).</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeGroups Request (Version: 2) => [group_ids] 
  group_ids => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>group_ids</td><td>List of groupIds to request metadata for (an empty groupId array will return empty group metadata).</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">DescribeGroups Response (Version: 0) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>groups</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>state</td><td>The current state of the group (one of: Dead, Stable, CompletingRebalance, PreparingRebalance, or empty if there is no active group)</td></tr>
<tr>
<td>protocol_type</td><td>The current group protocol type (will be empty if there is no active group)</td></tr>
<tr>
<td>protocol</td><td>The current group protocol (only provided if the group is Stable)</td></tr>
<tr>
<td>members</td><td>Current group members (only provided if the group is not Dead)</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>client_id</td><td>The client id used in the member's latest join group request</td></tr>
<tr>
<td>client_host</td><td>The client host used in the request session corresponding to the member's join group.</td></tr>
<tr>
<td>member_metadata</td><td>The metadata corresponding to the current group protocol in use (will only be present if the group is stable).</td></tr>
<tr>
<td>member_assignment</td><td>The current assignment provided by the group leader (will only be present if the group is stable).</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeGroups Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>groups</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>state</td><td>The current state of the group (one of: Dead, Stable, CompletingRebalance, PreparingRebalance, or empty if there is no active group)</td></tr>
<tr>
<td>protocol_type</td><td>The current group protocol type (will be empty if there is no active group)</td></tr>
<tr>
<td>protocol</td><td>The current group protocol (only provided if the group is Stable)</td></tr>
<tr>
<td>members</td><td>Current group members (only provided if the group is not Dead)</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>client_id</td><td>The client id used in the member's latest join group request</td></tr>
<tr>
<td>client_host</td><td>The client host used in the request session corresponding to the member's join group.</td></tr>
<tr>
<td>member_metadata</td><td>The metadata corresponding to the current group protocol in use (will only be present if the group is stable).</td></tr>
<tr>
<td>member_assignment</td><td>The current assignment provided by the group leader (will only be present if the group is stable).</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeGroups Response (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>groups</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>state</td><td>The current state of the group (one of: Dead, Stable, CompletingRebalance, PreparingRebalance, or empty if there is no active group)</td></tr>
<tr>
<td>protocol_type</td><td>The current group protocol type (will be empty if there is no active group)</td></tr>
<tr>
<td>protocol</td><td>The current group protocol (only provided if the group is Stable)</td></tr>
<tr>
<td>members</td><td>Current group members (only provided if the group is not Dead)</td></tr>
<tr>
<td>member_id</td><td>The member id assigned by the group coordinator or null if joining for the first time.</td></tr>
<tr>
<td>client_id</td><td>The client id used in the member's latest join group request</td></tr>
<tr>
<td>client_host</td><td>The client host used in the request session corresponding to the member's join group.</td></tr>
<tr>
<td>member_metadata</td><td>The metadata corresponding to the current group protocol in use (will only be present if the group is stable).</td></tr>
<tr>
<td>member_assignment</td><td>The current assignment provided by the group leader (will only be present if the group is stable).</td></tr>
</table>
</p>
<h5><a name="The_Messages_ListGroups">ListGroups API (Key: 16):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">ListGroups Request (Version: 0) => 
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr></table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListGroups Request (Version: 1) => 
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr></table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListGroups Request (Version: 2) => 
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr></table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">ListGroups Response (Version: 0) => error_code [groups] 
  error_code => INT16
  groups => group_id protocol_type 
    group_id => STRING
    protocol_type => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>groups</td><td>null</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>protocol_type</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListGroups Response (Version: 1) => throttle_time_ms error_code [groups] 
  throttle_time_ms => INT32
  error_code => INT16
  groups => group_id protocol_type 
    group_id => STRING
    protocol_type => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>groups</td><td>null</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>protocol_type</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ListGroups Response (Version: 2) => throttle_time_ms error_code [groups] 
  throttle_time_ms => INT32
  error_code => INT16
  groups => group_id protocol_type 
    group_id => STRING
    protocol_type => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>groups</td><td>null</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>protocol_type</td><td>null</td></tr>
</table>
</p>
<h5><a name="The_Messages_SaslHandshake">SaslHandshake API (Key: 17):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">SaslHandshake Request (Version: 0) => mechanism 
  mechanism => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>mechanism</td><td>SASL Mechanism chosen by the client.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">SaslHandshake Request (Version: 1) => mechanism 
  mechanism => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>mechanism</td><td>SASL Mechanism chosen by the client.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">SaslHandshake Response (Version: 0) => error_code [enabled_mechanisms] 
  error_code => INT16
  enabled_mechanisms => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>enabled_mechanisms</td><td>Array of mechanisms enabled in the server.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">SaslHandshake Response (Version: 1) => error_code [enabled_mechanisms] 
  error_code => INT16
  enabled_mechanisms => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>enabled_mechanisms</td><td>Array of mechanisms enabled in the server.</td></tr>
</table>
</p>
<h5><a name="The_Messages_ApiVersions">ApiVersions API (Key: 18):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">ApiVersions Request (Version: 0) => 
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr></table>
</p>
<p><pre class="line-numbers"><code class="language-java">ApiVersions Request (Version: 1) => 
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr></table>
</p>
<p><pre class="line-numbers"><code class="language-java">ApiVersions Request (Version: 2) => 
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr></table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">ApiVersions Response (Version: 0) => error_code [api_versions] 
  error_code => INT16
  api_versions => api_key min_version max_version 
    api_key => INT16
    min_version => INT16
    max_version => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>api_versions</td><td>API versions supported by the broker.</td></tr>
<tr>
<td>api_key</td><td>API key.</td></tr>
<tr>
<td>min_version</td><td>Minimum supported version.</td></tr>
<tr>
<td>max_version</td><td>Maximum supported version.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ApiVersions Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>api_versions</td><td>API versions supported by the broker.</td></tr>
<tr>
<td>api_key</td><td>API key.</td></tr>
<tr>
<td>min_version</td><td>Minimum supported version.</td></tr>
<tr>
<td>max_version</td><td>Maximum supported version.</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ApiVersions Response (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>api_versions</td><td>API versions supported by the broker.</td></tr>
<tr>
<td>api_key</td><td>API key.</td></tr>
<tr>
<td>min_version</td><td>Minimum supported version.</td></tr>
<tr>
<td>max_version</td><td>Maximum supported version.</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<h5><a name="The_Messages_CreateTopics">CreateTopics API (Key: 19):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">CreateTopics Request (Version: 0) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>create_topic_requests</td><td>An array of single topic creation requests. Can not have multiple entries for the same topic.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>num_partitions</td><td>Number of partitions to be created. -1 indicates unset.</td></tr>
<tr>
<td>replication_factor</td><td>Replication factor for the topic. -1 indicates unset.</td></tr>
<tr>
<td>replica_assignment</td><td>Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that should host this partition. The first replica in the list is the preferred leader.</td></tr>
<tr>
<td>config_entries</td><td>Topic level configuration for topic to be set.</td></tr>
<tr>
<td>config_name</td><td>Configuration name</td></tr>
<tr>
<td>config_value</td><td>Configuration value</td></tr>
<tr>
<td>timeout</td><td>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</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreateTopics Request (Version: 1) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>create_topic_requests</td><td>An array of single topic creation requests. Can not have multiple entries for the same topic.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>num_partitions</td><td>Number of partitions to be created. -1 indicates unset.</td></tr>
<tr>
<td>replication_factor</td><td>Replication factor for the topic. -1 indicates unset.</td></tr>
<tr>
<td>replica_assignment</td><td>Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that should host this partition. The first replica in the list is the preferred leader.</td></tr>
<tr>
<td>config_entries</td><td>Topic level configuration for topic to be set.</td></tr>
<tr>
<td>config_name</td><td>Configuration name</td></tr>
<tr>
<td>config_value</td><td>Configuration value</td></tr>
<tr>
<td>timeout</td><td>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</td></tr>
<tr>
<td>validate_only</td><td>If this is true, the request will be validated, but the topic won't be created.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreateTopics Request (Version: 2) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>create_topic_requests</td><td>An array of single topic creation requests. Can not have multiple entries for the same topic.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>num_partitions</td><td>Number of partitions to be created. -1 indicates unset.</td></tr>
<tr>
<td>replication_factor</td><td>Replication factor for the topic. -1 indicates unset.</td></tr>
<tr>
<td>replica_assignment</td><td>Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that should host this partition. The first replica in the list is the preferred leader.</td></tr>
<tr>
<td>config_entries</td><td>Topic level configuration for topic to be set.</td></tr>
<tr>
<td>config_name</td><td>Configuration name</td></tr>
<tr>
<td>config_value</td><td>Configuration value</td></tr>
<tr>
<td>timeout</td><td>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</td></tr>
<tr>
<td>validate_only</td><td>If this is true, the request will be validated, but the topic won't be created.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreateTopics Request (Version: 3) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>create_topic_requests</td><td>An array of single topic creation requests. Can not have multiple entries for the same topic.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>num_partitions</td><td>Number of partitions to be created. -1 indicates unset.</td></tr>
<tr>
<td>replication_factor</td><td>Replication factor for the topic. -1 indicates unset.</td></tr>
<tr>
<td>replica_assignment</td><td>Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset.</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>replicas</td><td>The set of all nodes that should host this partition. The first replica in the list is the preferred leader.</td></tr>
<tr>
<td>config_entries</td><td>Topic level configuration for topic to be set.</td></tr>
<tr>
<td>config_name</td><td>Configuration name</td></tr>
<tr>
<td>config_value</td><td>Configuration value</td></tr>
<tr>
<td>timeout</td><td>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</td></tr>
<tr>
<td>validate_only</td><td>If this is true, the request will be validated, but the topic won't be created.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">CreateTopics Response (Version: 0) => [topic_errors] 
  topic_errors => topic error_code 
    topic => STRING
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topic_errors</td><td>An array of per topic error codes.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreateTopics Response (Version: 1) => [topic_errors] 
  topic_errors => topic error_code error_message 
    topic => STRING
    error_code => INT16
    error_message => NULLABLE_STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topic_errors</td><td>An array of per topic errors.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreateTopics Response (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topic_errors</td><td>An array of per topic errors.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreateTopics Response (Version: 3) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topic_errors</td><td>An array of per topic errors.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
</table>
</p>
<h5><a name="The_Messages_DeleteTopics">DeleteTopics API (Key: 20):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">DeleteTopics Request (Version: 0) => [topics] timeout 
  topics => STRING
  timeout => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to be deleted.</td></tr>
<tr>
<td>timeout</td><td>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</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteTopics Request (Version: 1) => [topics] timeout 
  topics => STRING
  timeout => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to be deleted.</td></tr>
<tr>
<td>timeout</td><td>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</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteTopics Request (Version: 2) => [topics] timeout 
  topics => STRING
  timeout => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to be deleted.</td></tr>
<tr>
<td>timeout</td><td>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</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteTopics Request (Version: 3) => [topics] timeout 
  topics => STRING
  timeout => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to be deleted.</td></tr>
<tr>
<td>timeout</td><td>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</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">DeleteTopics Response (Version: 0) => [topic_error_codes] 
  topic_error_codes => topic error_code 
    topic => STRING
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topic_error_codes</td><td>An array of per topic error codes.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteTopics Response (Version: 1) => throttle_time_ms [topic_error_codes] 
  throttle_time_ms => INT32
  topic_error_codes => topic error_code 
    topic => STRING
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topic_error_codes</td><td>An array of per topic error codes.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteTopics Response (Version: 2) => throttle_time_ms [topic_error_codes] 
  throttle_time_ms => INT32
  topic_error_codes => topic error_code 
    topic => STRING
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topic_error_codes</td><td>An array of per topic error codes.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteTopics Response (Version: 3) => throttle_time_ms [topic_error_codes] 
  throttle_time_ms => INT32
  topic_error_codes => topic error_code 
    topic => STRING
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topic_error_codes</td><td>An array of per topic error codes.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_DeleteRecords">DeleteRecords API (Key: 21):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">DeleteRecords Request (Version: 0) => [topics] timeout 
  topics => topic [partitions] 
    topic => STRING
    partitions => partition offset 
      partition => INT32
      offset => INT64
  timeout => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>The offset before which the messages will be deleted. -1 means high-watermark for the partition.</td></tr>
<tr>
<td>timeout</td><td>The maximum time to await a response in ms.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteRecords Request (Version: 1) => [topics] timeout 
  topics => topic [partitions] 
    topic => STRING
    partitions => partition offset 
      partition => INT32
      offset => INT64
  timeout => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>The offset before which the messages will be deleted. -1 means high-watermark for the partition.</td></tr>
<tr>
<td>timeout</td><td>The maximum time to await a response in ms.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">DeleteRecords Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>low_watermark</td><td>Smallest available offset of all live replicas</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteRecords Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>low_watermark</td><td>Smallest available offset of all live replicas</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_InitProducerId">InitProducerId API (Key: 22):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">InitProducerId Request (Version: 0) => transactional_id transaction_timeout_ms 
  transactional_id => NULLABLE_STRING
  transaction_timeout_ms => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id or null if the producer is not transactional</td></tr>
<tr>
<td>transaction_timeout_ms</td><td>The time in ms to wait for before aborting idle transactions sent by this producer.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">InitProducerId Request (Version: 1) => transactional_id transaction_timeout_ms 
  transactional_id => NULLABLE_STRING
  transaction_timeout_ms => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id or null if the producer is not transactional</td></tr>
<tr>
<td>transaction_timeout_ms</td><td>The time in ms to wait for before aborting idle transactions sent by this producer.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">InitProducerId Response (Version: 0) => throttle_time_ms error_code producer_id producer_epoch 
  throttle_time_ms => INT32
  error_code => INT16
  producer_id => INT64
  producer_epoch => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">InitProducerId Response (Version: 1) => throttle_time_ms error_code producer_id producer_epoch 
  throttle_time_ms => INT32
  error_code => INT16
  producer_id => INT64
  producer_epoch => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
</table>
</p>
<h5><a name="The_Messages_OffsetForLeaderEpoch">OffsetForLeaderEpoch API (Key: 23):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">OffsetForLeaderEpoch Request (Version: 0) => [topics] 
  topics => topic [partitions] 
    topic => STRING
    partitions => partition leader_epoch 
      partition => INT32
      leader_epoch => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to get epochs for</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>An array of partitions to get epochs for</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader_epoch</td><td>The epoch to lookup an offset for.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetForLeaderEpoch Request (Version: 1) => [topics] 
  topics => topic [partitions] 
    topic => STRING
    partitions => partition leader_epoch 
      partition => INT32
      leader_epoch => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to get epochs for</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>An array of partitions to get epochs for</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader_epoch</td><td>The epoch to lookup an offset for.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetForLeaderEpoch Request (Version: 2) => [topics] 
  topics => topic [partitions] 
    topic => STRING
    partitions => partition current_leader_epoch leader_epoch 
      partition => INT32
      current_leader_epoch => INT32
      leader_epoch => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics to get epochs for</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>An array of partitions to get epochs for</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>current_leader_epoch</td><td>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.</td></tr>
<tr>
<td>leader_epoch</td><td>The epoch to lookup an offset for.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">OffsetForLeaderEpoch Response (Version: 0) => [topics] 
  topics => topic [partitions] 
    topic => STRING
    partitions => error_code partition end_offset 
      error_code => INT16
      partition => INT32
      end_offset => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics for which we have leader offsets for some requested partition leader epoch</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>An array of offsets by partition</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>end_offset</td><td>The end offset</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetForLeaderEpoch Response (Version: 1) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>An array of topics for which we have leader offsets for some requested partition leader epoch</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>An array of offsets by partition</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch</td></tr>
<tr>
<td>end_offset</td><td>The end offset</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">OffsetForLeaderEpoch Response (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topics</td><td>An array of topics for which we have leader offsets for some requested partition leader epoch</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>An array of offsets by partition</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>leader_epoch</td><td>The leader epoch</td></tr>
<tr>
<td>end_offset</td><td>The end offset</td></tr>
</table>
</p>
<h5><a name="The_Messages_AddPartitionsToTxn">AddPartitionsToTxn API (Key: 24):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">AddPartitionsToTxn Request (Version: 0) => transactional_id producer_id producer_epoch [topics] 
  transactional_id => STRING
  producer_id => INT64
  producer_epoch => INT16
  topics => topic [partitions] 
    topic => STRING
    partitions => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id corresponding to the transaction.</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
<tr>
<td>topics</td><td>The partitions to add to the transaction.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">AddPartitionsToTxn Request (Version: 1) => transactional_id producer_id producer_epoch [topics] 
  transactional_id => STRING
  producer_id => INT64
  producer_epoch => INT16
  topics => topic [partitions] 
    topic => STRING
    partitions => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id corresponding to the transaction.</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
<tr>
<td>topics</td><td>The partitions to add to the transaction.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">AddPartitionsToTxn Response (Version: 0) => throttle_time_ms [errors] 
  throttle_time_ms => INT32
  errors => topic [partition_errors] 
    topic => STRING
    partition_errors => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>errors</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_errors</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">AddPartitionsToTxn Response (Version: 1) => throttle_time_ms [errors] 
  throttle_time_ms => INT32
  errors => topic [partition_errors] 
    topic => STRING
    partition_errors => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>errors</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partition_errors</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_AddOffsetsToTxn">AddOffsetsToTxn API (Key: 25):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">AddOffsetsToTxn Request (Version: 0) => transactional_id producer_id producer_epoch group_id 
  transactional_id => STRING
  producer_id => INT64
  producer_epoch => INT16
  group_id => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id corresponding to the transaction.</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">AddOffsetsToTxn Request (Version: 1) => transactional_id producer_id producer_epoch group_id 
  transactional_id => STRING
  producer_id => INT64
  producer_epoch => INT16
  group_id => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id corresponding to the transaction.</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">AddOffsetsToTxn Response (Version: 0) => throttle_time_ms error_code 
  throttle_time_ms => INT32
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">AddOffsetsToTxn Response (Version: 1) => throttle_time_ms error_code 
  throttle_time_ms => INT32
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_EndTxn">EndTxn API (Key: 26):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">EndTxn Request (Version: 0) => transactional_id producer_id producer_epoch transaction_result 
  transactional_id => STRING
  producer_id => INT64
  producer_epoch => INT16
  transaction_result => BOOLEAN
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id corresponding to the transaction.</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
<tr>
<td>transaction_result</td><td>The result of the transaction (0 = ABORT, 1 = COMMIT)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">EndTxn Request (Version: 1) => transactional_id producer_id producer_epoch transaction_result 
  transactional_id => STRING
  producer_id => INT64
  producer_epoch => INT16
  transaction_result => BOOLEAN
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id corresponding to the transaction.</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
<tr>
<td>transaction_result</td><td>The result of the transaction (0 = ABORT, 1 = COMMIT)</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">EndTxn Response (Version: 0) => throttle_time_ms error_code 
  throttle_time_ms => INT32
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">EndTxn Response (Version: 1) => throttle_time_ms error_code 
  throttle_time_ms => INT32
  error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_WriteTxnMarkers">WriteTxnMarkers API (Key: 27):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">WriteTxnMarkers Request (Version: 0) => [transaction_markers] 
  transaction_markers => producer_id producer_epoch transaction_result [topics] coordinator_epoch 
    producer_id => INT64
    producer_epoch => INT16
    transaction_result => BOOLEAN
    topics => topic [partitions] 
      topic => STRING
      partitions => INT32
    coordinator_epoch => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transaction_markers</td><td>The transaction markers to be written.</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
<tr>
<td>transaction_result</td><td>The result of the transaction to write to the partitions (false = ABORT, true = COMMIT).</td></tr>
<tr>
<td>topics</td><td>The partitions to write markers for.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
<tr>
<td>coordinator_epoch</td><td>Epoch associated with the transaction state partition hosted by this transaction coordinator</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">WriteTxnMarkers Response (Version: 0) => [transaction_markers] 
  transaction_markers => producer_id [topics] 
    producer_id => INT64
    topics => topic [partitions] 
      topic => STRING
      partitions => partition error_code 
        partition => INT32
        error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transaction_markers</td><td>Errors per partition from writing markers.</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>topics</td><td>Errors per partition from writing markers.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_TxnOffsetCommit">TxnOffsetCommit API (Key: 28):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">TxnOffsetCommit Request (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id corresponding to the transaction.</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
<tr>
<td>topics</td><td>Topics to commit offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to commit offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">TxnOffsetCommit Request (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id corresponding to the transaction.</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
<tr>
<td>topics</td><td>Topics to commit offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to commit offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">TxnOffsetCommit Request (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>transactional_id</td><td>The transactional id corresponding to the transaction.</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>producer_id</td><td>Current producer id in use by the transactional id.</td></tr>
<tr>
<td>producer_epoch</td><td>Current epoch associated with the producer id.</td></tr>
<tr>
<td>topics</td><td>Topics to commit offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Partitions to commit offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>offset</td><td>Message offset to be committed</td></tr>
<tr>
<td>leader_epoch</td><td>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.</td></tr>
<tr>
<td>metadata</td><td>Any associated metadata the client wants to keep.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">TxnOffsetCommit Response (Version: 0) => throttle_time_ms [topics] 
  throttle_time_ms => INT32
  topics => topic [partitions] 
    topic => STRING
    partitions => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topics</td><td>Responses by topic for committed offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Responses by partition for committed offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">TxnOffsetCommit Response (Version: 1) => throttle_time_ms [topics] 
  throttle_time_ms => INT32
  topics => topic [partitions] 
    topic => STRING
    partitions => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topics</td><td>Responses by topic for committed offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Responses by partition for committed offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">TxnOffsetCommit Response (Version: 2) => throttle_time_ms [topics] 
  throttle_time_ms => INT32
  topics => topic [partitions] 
    topic => STRING
    partitions => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topics</td><td>Responses by topic for committed offsets</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>Responses by partition for committed offsets</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_DescribeAcls">DescribeAcls API (Key: 29):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">DescribeAcls Request (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>resource_type</td><td>The resource type</td></tr>
<tr>
<td>resource_name</td><td>The resource name filter</td></tr>
<tr>
<td>principal</td><td>The ACL principal filter</td></tr>
<tr>
<td>host</td><td>The ACL host filter</td></tr>
<tr>
<td>operation</td><td>The ACL operation</td></tr>
<tr>
<td>permission_type</td><td>The ACL permission type</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeAcls Request (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>resource_type</td><td>The resource type</td></tr>
<tr>
<td>resource_name</td><td>The resource name filter</td></tr>
<tr>
<td>resource_pattern_type_filter</td><td>The resource pattern type filter</td></tr>
<tr>
<td>principal</td><td>The ACL principal filter</td></tr>
<tr>
<td>host</td><td>The ACL host filter</td></tr>
<tr>
<td>operation</td><td>The ACL operation</td></tr>
<tr>
<td>permission_type</td><td>The ACL permission type</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">DescribeAcls Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>resources</td><td>The resources and their associated ACLs.</td></tr>
<tr>
<td>resource_type</td><td>The resource type</td></tr>
<tr>
<td>resource_name</td><td>The resource name</td></tr>
<tr>
<td>acls</td><td>null</td></tr>
<tr>
<td>principal</td><td>The ACL principal</td></tr>
<tr>
<td>host</td><td>The ACL host</td></tr>
<tr>
<td>operation</td><td>The ACL operation</td></tr>
<tr>
<td>permission_type</td><td>The ACL permission type</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeAcls Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>resources</td><td>The resources and their associated ACLs.</td></tr>
<tr>
<td>resource_type</td><td>The resource type</td></tr>
<tr>
<td>resource_name</td><td>The resource name</td></tr>
<tr>
<td>resource_pattten_type</td><td>The resource pattern type</td></tr>
<tr>
<td>acls</td><td>null</td></tr>
<tr>
<td>principal</td><td>The ACL principal</td></tr>
<tr>
<td>host</td><td>The ACL host</td></tr>
<tr>
<td>operation</td><td>The ACL operation</td></tr>
<tr>
<td>permission_type</td><td>The ACL permission type</td></tr>
</table>
</p>
<h5><a name="The_Messages_CreateAcls">CreateAcls API (Key: 30):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">CreateAcls Request (Version: 0) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>creations</td><td>null</td></tr>
<tr>
<td>resource_type</td><td>The resource type</td></tr>
<tr>
<td>resource_name</td><td>The resource name</td></tr>
<tr>
<td>principal</td><td>The ACL principal</td></tr>
<tr>
<td>host</td><td>The ACL host</td></tr>
<tr>
<td>operation</td><td>The ACL operation</td></tr>
<tr>
<td>permission_type</td><td>The ACL permission type</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreateAcls Request (Version: 1) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>creations</td><td>null</td></tr>
<tr>
<td>resource_type</td><td>The resource type</td></tr>
<tr>
<td>resource_name</td><td>The resource name</td></tr>
<tr>
<td>resource_pattten_type</td><td>The resource pattern type</td></tr>
<tr>
<td>principal</td><td>The ACL principal</td></tr>
<tr>
<td>host</td><td>The ACL host</td></tr>
<tr>
<td>operation</td><td>The ACL operation</td></tr>
<tr>
<td>permission_type</td><td>The ACL permission type</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">CreateAcls Response (Version: 0) => throttle_time_ms [creation_responses] 
  throttle_time_ms => INT32
  creation_responses => error_code error_message 
    error_code => INT16
    error_message => NULLABLE_STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>creation_responses</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreateAcls Response (Version: 1) => throttle_time_ms [creation_responses] 
  throttle_time_ms => INT32
  creation_responses => error_code error_message 
    error_code => INT16
    error_message => NULLABLE_STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>creation_responses</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
</table>
</p>
<h5><a name="The_Messages_DeleteAcls">DeleteAcls API (Key: 31):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">DeleteAcls Request (Version: 0) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>filters</td><td>null</td></tr>
<tr>
<td>resource_type</td><td>The resource type</td></tr>
<tr>
<td>resource_name</td><td>The resource name filter</td></tr>
<tr>
<td>principal</td><td>The ACL principal filter</td></tr>
<tr>
<td>host</td><td>The ACL host filter</td></tr>
<tr>
<td>operation</td><td>The ACL operation</td></tr>
<tr>
<td>permission_type</td><td>The ACL permission type</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteAcls Request (Version: 1) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>filters</td><td>null</td></tr>
<tr>
<td>resource_type</td><td>The resource type</td></tr>
<tr>
<td>resource_name</td><td>The resource name filter</td></tr>
<tr>
<td>resource_pattern_type_filter</td><td>The resource pattern type filter</td></tr>
<tr>
<td>principal</td><td>The ACL principal filter</td></tr>
<tr>
<td>host</td><td>The ACL host filter</td></tr>
<tr>
<td>operation</td><td>The ACL operation</td></tr>
<tr>
<td>permission_type</td><td>The ACL permission type</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">DeleteAcls Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>filter_responses</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>matching_acls</td><td>The matching ACLs</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>resource_type</td><td>The resource type</td></tr>
<tr>
<td>resource_name</td><td>The resource name</td></tr>
<tr>
<td>principal</td><td>The ACL principal</td></tr>
<tr>
<td>host</td><td>The ACL host</td></tr>
<tr>
<td>operation</td><td>The ACL operation</td></tr>
<tr>
<td>permission_type</td><td>The ACL permission type</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteAcls Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>filter_responses</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>matching_acls</td><td>The matching ACLs</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>resource_type</td><td>The resource type</td></tr>
<tr>
<td>resource_name</td><td>The resource name</td></tr>
<tr>
<td>resource_pattten_type</td><td>The resource pattern type</td></tr>
<tr>
<td>principal</td><td>The ACL principal</td></tr>
<tr>
<td>host</td><td>The ACL host</td></tr>
<tr>
<td>operation</td><td>The ACL operation</td></tr>
<tr>
<td>permission_type</td><td>The ACL permission type</td></tr>
</table>
</p>
<h5><a name="The_Messages_DescribeConfigs">DescribeConfigs API (Key: 32):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">DescribeConfigs Request (Version: 0) => [resources] 
  resources => resource_type resource_name [config_names] 
    resource_type => INT8
    resource_name => STRING
    config_names => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>resources</td><td>An array of config resources to be returned.</td></tr>
<tr>
<td>resource_type</td><td>null</td></tr>
<tr>
<td>resource_name</td><td>null</td></tr>
<tr>
<td>config_names</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeConfigs Request (Version: 1) => [resources] include_synonyms 
  resources => resource_type resource_name [config_names] 
    resource_type => INT8
    resource_name => STRING
    config_names => STRING
  include_synonyms => BOOLEAN
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>resources</td><td>An array of config resources to be returned.</td></tr>
<tr>
<td>resource_type</td><td>null</td></tr>
<tr>
<td>resource_name</td><td>null</td></tr>
<tr>
<td>config_names</td><td>null</td></tr>
<tr>
<td>include_synonyms</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeConfigs Request (Version: 2) => [resources] include_synonyms 
  resources => resource_type resource_name [config_names] 
    resource_type => INT8
    resource_name => STRING
    config_names => STRING
  include_synonyms => BOOLEAN
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>resources</td><td>An array of config resources to be returned.</td></tr>
<tr>
<td>resource_type</td><td>null</td></tr>
<tr>
<td>resource_name</td><td>null</td></tr>
<tr>
<td>config_names</td><td>null</td></tr>
<tr>
<td>include_synonyms</td><td>null</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">DescribeConfigs Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>resources</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>resource_type</td><td>null</td></tr>
<tr>
<td>resource_name</td><td>null</td></tr>
<tr>
<td>config_entries</td><td>null</td></tr>
<tr>
<td>config_name</td><td>null</td></tr>
<tr>
<td>config_value</td><td>null</td></tr>
<tr>
<td>read_only</td><td>null</td></tr>
<tr>
<td>is_default</td><td>null</td></tr>
<tr>
<td>is_sensitive</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeConfigs Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>resources</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>resource_type</td><td>null</td></tr>
<tr>
<td>resource_name</td><td>null</td></tr>
<tr>
<td>config_entries</td><td>null</td></tr>
<tr>
<td>config_name</td><td>null</td></tr>
<tr>
<td>config_value</td><td>null</td></tr>
<tr>
<td>read_only</td><td>null</td></tr>
<tr>
<td>config_source</td><td>null</td></tr>
<tr>
<td>is_sensitive</td><td>null</td></tr>
<tr>
<td>config_synonyms</td><td>null</td></tr>
<tr>
<td>config_name</td><td>null</td></tr>
<tr>
<td>config_value</td><td>null</td></tr>
<tr>
<td>config_source</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeConfigs Response (Version: 2) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>resources</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>resource_type</td><td>null</td></tr>
<tr>
<td>resource_name</td><td>null</td></tr>
<tr>
<td>config_entries</td><td>null</td></tr>
<tr>
<td>config_name</td><td>null</td></tr>
<tr>
<td>config_value</td><td>null</td></tr>
<tr>
<td>read_only</td><td>null</td></tr>
<tr>
<td>config_source</td><td>null</td></tr>
<tr>
<td>is_sensitive</td><td>null</td></tr>
<tr>
<td>config_synonyms</td><td>null</td></tr>
<tr>
<td>config_name</td><td>null</td></tr>
<tr>
<td>config_value</td><td>null</td></tr>
<tr>
<td>config_source</td><td>null</td></tr>
</table>
</p>
<h5><a name="The_Messages_AlterConfigs">AlterConfigs API (Key: 33):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">AlterConfigs Request (Version: 0) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>resources</td><td>An array of resources to update with the provided configs.</td></tr>
<tr>
<td>resource_type</td><td>null</td></tr>
<tr>
<td>resource_name</td><td>null</td></tr>
<tr>
<td>config_entries</td><td>null</td></tr>
<tr>
<td>config_name</td><td>Configuration name</td></tr>
<tr>
<td>config_value</td><td>Configuration value</td></tr>
<tr>
<td>validate_only</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">AlterConfigs Request (Version: 1) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>resources</td><td>An array of resources to update with the provided configs.</td></tr>
<tr>
<td>resource_type</td><td>null</td></tr>
<tr>
<td>resource_name</td><td>null</td></tr>
<tr>
<td>config_entries</td><td>null</td></tr>
<tr>
<td>config_name</td><td>Configuration name</td></tr>
<tr>
<td>config_value</td><td>Configuration value</td></tr>
<tr>
<td>validate_only</td><td>null</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">AlterConfigs Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>resources</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>resource_type</td><td>null</td></tr>
<tr>
<td>resource_name</td><td>null</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">AlterConfigs Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>resources</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>resource_type</td><td>null</td></tr>
<tr>
<td>resource_name</td><td>null</td></tr>
</table>
</p>
<h5><a name="The_Messages_AlterReplicaLogDirs">AlterReplicaLogDirs API (Key: 34):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">AlterReplicaLogDirs Request (Version: 0) => [log_dirs] 
  log_dirs => log_dir [topics] 
    log_dir => STRING
    topics => topic [partitions] 
      topic => STRING
      partitions => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>log_dirs</td><td>null</td></tr>
<tr>
<td>log_dir</td><td>The absolute log directory path.</td></tr>
<tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>List of partition ids of the topic.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">AlterReplicaLogDirs Request (Version: 1) => [log_dirs] 
  log_dirs => log_dir [topics] 
    log_dir => STRING
    topics => topic [partitions] 
      topic => STRING
      partitions => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>log_dirs</td><td>null</td></tr>
<tr>
<td>log_dir</td><td>The absolute log directory path.</td></tr>
<tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>List of partition ids of the topic.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">AlterReplicaLogDirs Response (Version: 0) => throttle_time_ms [topics] 
  throttle_time_ms => INT32
  topics => topic [partitions] 
    topic => STRING
    partitions => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">AlterReplicaLogDirs Response (Version: 1) => throttle_time_ms [topics] 
  throttle_time_ms => INT32
  topics => topic [partitions] 
    topic => STRING
    partitions => partition error_code 
      partition => INT32
      error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_DescribeLogDirs">DescribeLogDirs API (Key: 35):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">DescribeLogDirs Request (Version: 0) => [topics] 
  topics => topic [partitions] 
    topic => STRING
    partitions => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>List of partition ids of the topic.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeLogDirs Request (Version: 1) => [topics] 
  topics => topic [partitions] 
    topic => STRING
    partitions => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>List of partition ids of the topic.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">DescribeLogDirs Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>log_dirs</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>log_dir</td><td>The absolute log directory path.</td></tr>
<tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>size</td><td>The size of the log segments of the partition in bytes.</td></tr>
<tr>
<td>offset_lag</td><td>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)</td></tr>
<tr>
<td>is_future</td><td>True if this log is created by AlterReplicaLogDirsRequest and will replace the current log of the replica in the future.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeLogDirs Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>log_dirs</td><td>null</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>log_dir</td><td>The absolute log directory path.</td></tr>
<tr>
<td>topics</td><td>null</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>partitions</td><td>null</td></tr>
<tr>
<td>partition</td><td>Topic partition id</td></tr>
<tr>
<td>size</td><td>The size of the log segments of the partition in bytes.</td></tr>
<tr>
<td>offset_lag</td><td>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)</td></tr>
<tr>
<td>is_future</td><td>True if this log is created by AlterReplicaLogDirsRequest and will replace the current log of the replica in the future.</td></tr>
</table>
</p>
<h5><a name="The_Messages_SaslAuthenticate">SaslAuthenticate API (Key: 36):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">SaslAuthenticate Request (Version: 0) => sasl_auth_bytes 
  sasl_auth_bytes => BYTES
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>sasl_auth_bytes</td><td>SASL authentication bytes from client as defined by the SASL mechanism.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">SaslAuthenticate Request (Version: 1) => sasl_auth_bytes 
  sasl_auth_bytes => BYTES
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>sasl_auth_bytes</td><td>SASL authentication bytes from client as defined by the SASL mechanism.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">SaslAuthenticate Response (Version: 0) => error_code error_message sasl_auth_bytes 
  error_code => INT16
  error_message => NULLABLE_STRING
  sasl_auth_bytes => BYTES
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>sasl_auth_bytes</td><td>SASL authentication bytes from server as defined by the SASL mechanism.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">SaslAuthenticate Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
<tr>
<td>sasl_auth_bytes</td><td>SASL authentication bytes from server as defined by the SASL mechanism.</td></tr>
<tr>
<td>session_lifetime_ms</td><td>Number of milliseconds after which only re-authentication over the existing connection to create a new session can occur.</td></tr>
</table>
</p>
<h5><a name="The_Messages_CreatePartitions">CreatePartitions API (Key: 37):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">CreatePartitions Request (Version: 0) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topic_partitions</td><td>List of topic and the corresponding new partitions.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>new_partitions</td><td>null</td></tr>
<tr>
<td>count</td><td>The new partition count.</td></tr>
<tr>
<td>assignment</td><td>The assigned brokers.</td></tr>
<tr>
<td>timeout</td><td>The time in ms to wait for the partitions to be created.</td></tr>
<tr>
<td>validate_only</td><td>If true then validate the request, but don't actually increase the number of partitions.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreatePartitions Request (Version: 1) => [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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topic_partitions</td><td>List of topic and the corresponding new partitions.</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>new_partitions</td><td>null</td></tr>
<tr>
<td>count</td><td>The new partition count.</td></tr>
<tr>
<td>assignment</td><td>The assigned brokers.</td></tr>
<tr>
<td>timeout</td><td>The time in ms to wait for the partitions to be created.</td></tr>
<tr>
<td>validate_only</td><td>If true then validate the request, but don't actually increase the number of partitions.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">CreatePartitions Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topic_errors</td><td>Per topic results for the create partitions request</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreatePartitions Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>topic_errors</td><td>Per topic results for the create partitions request</td></tr>
<tr>
<td>topic</td><td>Name of topic</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>error_message</td><td>Response error message</td></tr>
</table>
</p>
<h5><a name="The_Messages_CreateDelegationToken">CreateDelegationToken API (Key: 38):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">CreateDelegationToken Request (Version: 0) => [renewers] max_life_time 
  renewers => principal_type name 
    principal_type => STRING
    name => STRING
  max_life_time => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>renewers</td><td>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.</td></tr>
<tr>
<td>principal_type</td><td>principalType of the Kafka principal</td></tr>
<tr>
<td>name</td><td>name of the Kafka principal</td></tr>
<tr>
<td>max_life_time</td><td>Max lifetime period for token in milli seconds. if value is -1, then max lifetime  will default to a server side config value.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreateDelegationToken Request (Version: 1) => [renewers] max_life_time 
  renewers => principal_type name 
    principal_type => STRING
    name => STRING
  max_life_time => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>renewers</td><td>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.</td></tr>
<tr>
<td>principal_type</td><td>principalType of the Kafka principal</td></tr>
<tr>
<td>name</td><td>name of the Kafka principal</td></tr>
<tr>
<td>max_life_time</td><td>Max lifetime period for token in milli seconds. if value is -1, then max lifetime  will default to a server side config value.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">CreateDelegationToken Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>owner</td><td>token owner.</td></tr>
<tr>
<td>principal_type</td><td>principalType of the Kafka principal</td></tr>
<tr>
<td>name</td><td>name of the Kafka principal</td></tr>
<tr>
<td>issue_timestamp</td><td>timestamp (in msec) when this token was generated.</td></tr>
<tr>
<td>expiry_timestamp</td><td>timestamp (in msec) at which this token expires.</td></tr>
<tr>
<td>max_timestamp</td><td>max life time of this token.</td></tr>
<tr>
<td>token_id</td><td>UUID to ensure uniqueness.</td></tr>
<tr>
<td>hmac</td><td>HMAC of the delegation token.</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">CreateDelegationToken Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>owner</td><td>token owner.</td></tr>
<tr>
<td>principal_type</td><td>principalType of the Kafka principal</td></tr>
<tr>
<td>name</td><td>name of the Kafka principal</td></tr>
<tr>
<td>issue_timestamp</td><td>timestamp (in msec) when this token was generated.</td></tr>
<tr>
<td>expiry_timestamp</td><td>timestamp (in msec) at which this token expires.</td></tr>
<tr>
<td>max_timestamp</td><td>max life time of this token.</td></tr>
<tr>
<td>token_id</td><td>UUID to ensure uniqueness.</td></tr>
<tr>
<td>hmac</td><td>HMAC of the delegation token.</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<h5><a name="The_Messages_RenewDelegationToken">RenewDelegationToken API (Key: 39):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">RenewDelegationToken Request (Version: 0) => hmac renew_time_period 
  hmac => BYTES
  renew_time_period => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>hmac</td><td>HMAC of the delegation token to be renewed.</td></tr>
<tr>
<td>renew_time_period</td><td>Renew time period in milli seconds.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">RenewDelegationToken Request (Version: 1) => hmac renew_time_period 
  hmac => BYTES
  renew_time_period => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>hmac</td><td>HMAC of the delegation token to be renewed.</td></tr>
<tr>
<td>renew_time_period</td><td>Renew time period in milli seconds.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">RenewDelegationToken Response (Version: 0) => error_code expiry_timestamp throttle_time_ms 
  error_code => INT16
  expiry_timestamp => INT64
  throttle_time_ms => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>expiry_timestamp</td><td>timestamp (in msec) at which this token expires..</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">RenewDelegationToken Response (Version: 1) => error_code expiry_timestamp throttle_time_ms 
  error_code => INT16
  expiry_timestamp => INT64
  throttle_time_ms => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>expiry_timestamp</td><td>timestamp (in msec) at which this token expires..</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<h5><a name="The_Messages_ExpireDelegationToken">ExpireDelegationToken API (Key: 40):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">ExpireDelegationToken Request (Version: 0) => hmac expiry_time_period 
  hmac => BYTES
  expiry_time_period => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>hmac</td><td>HMAC of the delegation token to be expired.</td></tr>
<tr>
<td>expiry_time_period</td><td>expiry time period in milli seconds.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ExpireDelegationToken Request (Version: 1) => hmac expiry_time_period 
  hmac => BYTES
  expiry_time_period => INT64
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>hmac</td><td>HMAC of the delegation token to be expired.</td></tr>
<tr>
<td>expiry_time_period</td><td>expiry time period in milli seconds.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">ExpireDelegationToken Response (Version: 0) => error_code expiry_timestamp throttle_time_ms 
  error_code => INT16
  expiry_timestamp => INT64
  throttle_time_ms => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>expiry_timestamp</td><td>timestamp (in msec) at which this token expires..</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">ExpireDelegationToken Response (Version: 1) => error_code expiry_timestamp throttle_time_ms 
  error_code => INT16
  expiry_timestamp => INT64
  throttle_time_ms => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>expiry_timestamp</td><td>timestamp (in msec) at which this token expires..</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<h5><a name="The_Messages_DescribeDelegationToken">DescribeDelegationToken API (Key: 41):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">DescribeDelegationToken Request (Version: 0) => [owners] 
  owners => principal_type name 
    principal_type => STRING
    name => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>owners</td><td>An array of token owners.</td></tr>
<tr>
<td>principal_type</td><td>principalType of the Kafka principal</td></tr>
<tr>
<td>name</td><td>name of the Kafka principal</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeDelegationToken Request (Version: 1) => [owners] 
  owners => principal_type name 
    principal_type => STRING
    name => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>owners</td><td>An array of token owners.</td></tr>
<tr>
<td>principal_type</td><td>principalType of the Kafka principal</td></tr>
<tr>
<td>name</td><td>name of the Kafka principal</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">DescribeDelegationToken Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>token_details</td><td>null</td></tr>
<tr>
<td>owner</td><td>token owner.</td></tr>
<tr>
<td>principal_type</td><td>principalType of the Kafka principal</td></tr>
<tr>
<td>name</td><td>name of the Kafka principal</td></tr>
<tr>
<td>issue_timestamp</td><td>timestamp (in msec) when this token was generated.</td></tr>
<tr>
<td>expiry_timestamp</td><td>timestamp (in msec) at which this token expires.</td></tr>
<tr>
<td>max_timestamp</td><td>max life time of this token.</td></tr>
<tr>
<td>token_id</td><td>UUID to ensure uniqueness.</td></tr>
<tr>
<td>hmac</td><td>HMAC of the delegation token to be expired.</td></tr>
<tr>
<td>renewers</td><td>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.</td></tr>
<tr>
<td>principal_type</td><td>principalType of the Kafka principal</td></tr>
<tr>
<td>name</td><td>name of the Kafka principal</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DescribeDelegationToken Response (Version: 1) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>error_code</td><td>Response error code</td></tr>
<tr>
<td>token_details</td><td>null</td></tr>
<tr>
<td>owner</td><td>token owner.</td></tr>
<tr>
<td>principal_type</td><td>principalType of the Kafka principal</td></tr>
<tr>
<td>name</td><td>name of the Kafka principal</td></tr>
<tr>
<td>issue_timestamp</td><td>timestamp (in msec) when this token was generated.</td></tr>
<tr>
<td>expiry_timestamp</td><td>timestamp (in msec) at which this token expires.</td></tr>
<tr>
<td>max_timestamp</td><td>max life time of this token.</td></tr>
<tr>
<td>token_id</td><td>UUID to ensure uniqueness.</td></tr>
<tr>
<td>hmac</td><td>HMAC of the delegation token to be expired.</td></tr>
<tr>
<td>renewers</td><td>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.</td></tr>
<tr>
<td>principal_type</td><td>principalType of the Kafka principal</td></tr>
<tr>
<td>name</td><td>name of the Kafka principal</td></tr>
<tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
</table>
</p>
<h5><a name="The_Messages_DeleteGroups">DeleteGroups API (Key: 42):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">DeleteGroups Request (Version: 0) => [groups] 
  groups => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>groups</td><td>An array of groups to be deleted.</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteGroups Request (Version: 1) => [groups] 
  groups => STRING
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>groups</td><td>An array of groups to be deleted.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">DeleteGroups Response (Version: 0) => throttle_time_ms [group_error_codes] 
  throttle_time_ms => INT32
  group_error_codes => group_id error_code 
    group_id => STRING
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>group_error_codes</td><td>An array of per group error codes.</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<p><pre class="line-numbers"><code class="language-java">DeleteGroups Response (Version: 1) => throttle_time_ms [group_error_codes] 
  throttle_time_ms => INT32
  group_error_codes => group_id error_code 
    group_id => STRING
    error_code => INT16
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)</td></tr>
<tr>
<td>group_error_codes</td><td>An array of per group error codes.</td></tr>
<tr>
<td>group_id</td><td>The unique group identifier</td></tr>
<tr>
<td>error_code</td><td>Response error code</td></tr>
</table>
</p>
<h5><a name="The_Messages_ElectPreferredLeaders">ElectPreferredLeaders API (Key: 43):</a></h5>

<b>Requests:</b><br>
<p><pre class="line-numbers"><code class="language-java">ElectPreferredLeaders Request (Version: 0) => [topic_partitions] timeout_ms 
  topic_partitions => topic [partition_id] 
    topic => STRING
    partition_id => INT32
  timeout_ms => INT32
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>topic_partitions</td><td>The topic partitions to elect the preferred leader of.</td></tr>
<tr>
<td>topic</td><td>The name of a topic.</td></tr>
<tr>
<td>partition_id</td><td>The partitions of this topic whose preferred leader should be elected</td></tr>
<tr>
<td>timeout_ms</td><td>The time in ms to wait for the election to complete.</td></tr>
</table>
</p>
<b>Responses:</b><br>
<p><pre class="line-numbers"><code class="language-java">ElectPreferredLeaders Response (Version: 0) => 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
</code></pre><table class="data-table"><tbody>
<tr><th>Field</th>
<th>Description</th>
</tr><tr>
<td>throttle_time_ms</td><td>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.</td></tr>
<tr>
<td>replica_election_results</td><td>The error code, or 0 if there was no error.</td></tr>
<tr>
<td>topic</td><td>The topic name</td></tr>
<tr>
<td>partition_result</td><td>The results for each partition</td></tr>
<tr>
<td>partition_id</td><td>The partition id</td></tr>
<tr>
<td>error_code</td><td>The result error, or zero if there was no error.</td></tr>
<tr>
<td>error_message</td><td>The result message, or null if there was no error.</td></tr>
</table>
</p>

