· 6 years ago · Oct 25, 2019, 06:18 PM
1# generated code, do not edit!
2
3#ApiKey: Produce, 0
4ProduceRequestV0 => acks timeout [topic_data]
5 acks => INT16
6 timeout => INT32
7 topic_data => topic [data]
8 topic => STRING
9 data => partition record_set
10 partition => INT32
11 record_set => RECORDS
12
13# acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.
14# timeout: The time to await a response in ms.
15# topic: Name of topic
16# partition: Topic partition id
17
18
19ProduceRequestV1 => acks timeout [topic_data]
20 acks => INT16
21 timeout => INT32
22 topic_data => topic [data]
23 topic => STRING
24 data => partition record_set
25 partition => INT32
26 record_set => RECORDS
27
28# acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.
29# timeout: The time to await a response in ms.
30# topic: Name of topic
31# partition: Topic partition id
32
33
34ProduceRequestV2 => acks timeout [topic_data]
35 acks => INT16
36 timeout => INT32
37 topic_data => topic [data]
38 topic => STRING
39 data => partition record_set
40 partition => INT32
41 record_set => RECORDS
42
43# acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.
44# timeout: The time to await a response in ms.
45# topic: Name of topic
46# partition: Topic partition id
47
48
49ProduceRequestV3 => transactional_id acks timeout [topic_data]
50 transactional_id => NULLABLE_STRING
51 acks => INT16
52 timeout => INT32
53 topic_data => topic [data]
54 topic => STRING
55 data => partition record_set
56 partition => INT32
57 record_set => RECORDS
58
59# transactional_id: The transactional id or null if the producer is not transactional
60# acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.
61# timeout: The time to await a response in ms.
62# topic: Name of topic
63# partition: Topic partition id
64
65
66ProduceRequestV4 => transactional_id acks timeout [topic_data]
67 transactional_id => NULLABLE_STRING
68 acks => INT16
69 timeout => INT32
70 topic_data => topic [data]
71 topic => STRING
72 data => partition record_set
73 partition => INT32
74 record_set => RECORDS
75
76# transactional_id: The transactional id or null if the producer is not transactional
77# acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.
78# timeout: The time to await a response in ms.
79# topic: Name of topic
80# partition: Topic partition id
81
82
83ProduceRequestV5 => transactional_id acks timeout [topic_data]
84 transactional_id => NULLABLE_STRING
85 acks => INT16
86 timeout => INT32
87 topic_data => topic [data]
88 topic => STRING
89 data => partition record_set
90 partition => INT32
91 record_set => RECORDS
92
93# transactional_id: The transactional id or null if the producer is not transactional
94# acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.
95# timeout: The time to await a response in ms.
96# topic: Name of topic
97# partition: Topic partition id
98
99
100ProduceRequestV6 => transactional_id acks timeout [topic_data]
101 transactional_id => NULLABLE_STRING
102 acks => INT16
103 timeout => INT32
104 topic_data => topic [data]
105 topic => STRING
106 data => partition record_set
107 partition => INT32
108 record_set => RECORDS
109
110# transactional_id: The transactional id or null if the producer is not transactional
111# acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.
112# timeout: The time to await a response in ms.
113# topic: Name of topic
114# partition: Topic partition id
115
116
117ProduceRequestV7 => transactional_id acks timeout [topic_data]
118 transactional_id => NULLABLE_STRING
119 acks => INT16
120 timeout => INT32
121 topic_data => topic [data]
122 topic => STRING
123 data => partition record_set
124 partition => INT32
125 record_set => RECORDS
126
127# transactional_id: The transactional id or null if the producer is not transactional
128# acks: The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments, 1 for only the leader and -1 for the full ISR.
129# timeout: The time to await a response in ms.
130# topic: Name of topic
131# partition: Topic partition id
132
133
134ProduceResponseV0 => [responses]
135 responses => topic [partition_responses]
136 topic => STRING
137 partition_responses => partition error_code base_offset
138 partition => INT32
139 error_code => INT16
140 base_offset => INT64
141
142# topic: Name of topic
143# partition: Topic partition id
144# error_code: Response error code
145
146
147ProduceResponseV1 => [responses] throttle_time_ms
148 responses => topic [partition_responses]
149 topic => STRING
150 partition_responses => partition error_code base_offset
151 partition => INT32
152 error_code => INT16
153 base_offset => INT64
154 throttle_time_ms => INT32
155
156# topic: Name of topic
157# partition: Topic partition id
158# error_code: Response error code
159# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
160
161
162ProduceResponseV2 => [responses] throttle_time_ms
163 responses => topic [partition_responses]
164 topic => STRING
165 partition_responses => partition error_code base_offset log_append_time
166 partition => INT32
167 error_code => INT16
168 base_offset => INT64
169 log_append_time => INT64
170 throttle_time_ms => INT32
171
172# topic: Name of topic
173# partition: Topic partition id
174# error_code: Response error code
175# log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended.
176# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
177
178
179ProduceResponseV3 => [responses] throttle_time_ms
180 responses => topic [partition_responses]
181 topic => STRING
182 partition_responses => partition error_code base_offset log_append_time
183 partition => INT32
184 error_code => INT16
185 base_offset => INT64
186 log_append_time => INT64
187 throttle_time_ms => INT32
188
189# topic: Name of topic
190# partition: Topic partition id
191# error_code: Response error code
192# log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended.
193# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
194
195
196ProduceResponseV4 => [responses] throttle_time_ms
197 responses => topic [partition_responses]
198 topic => STRING
199 partition_responses => partition error_code base_offset log_append_time
200 partition => INT32
201 error_code => INT16
202 base_offset => INT64
203 log_append_time => INT64
204 throttle_time_ms => INT32
205
206# topic: Name of topic
207# partition: Topic partition id
208# error_code: Response error code
209# log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended.
210# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
211
212
213ProduceResponseV5 => [responses] throttle_time_ms
214 responses => topic [partition_responses]
215 topic => STRING
216 partition_responses => partition error_code base_offset log_append_time log_start_offset
217 partition => INT32
218 error_code => INT16
219 base_offset => INT64
220 log_append_time => INT64
221 log_start_offset => INT64
222 throttle_time_ms => INT32
223
224# topic: Name of topic
225# partition: Topic partition id
226# error_code: Response error code
227# log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended.
228# log_start_offset: The start offset of the log at the time this produce response was created
229# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
230
231
232ProduceResponseV6 => [responses] throttle_time_ms
233 responses => topic [partition_responses]
234 topic => STRING
235 partition_responses => partition error_code base_offset log_append_time log_start_offset
236 partition => INT32
237 error_code => INT16
238 base_offset => INT64
239 log_append_time => INT64
240 log_start_offset => INT64
241 throttle_time_ms => INT32
242
243# topic: Name of topic
244# partition: Topic partition id
245# error_code: Response error code
246# log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended.
247# log_start_offset: The start offset of the log at the time this produce response was created
248# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
249
250
251ProduceResponseV7 => [responses] throttle_time_ms
252 responses => topic [partition_responses]
253 topic => STRING
254 partition_responses => partition error_code base_offset log_append_time log_start_offset
255 partition => INT32
256 error_code => INT16
257 base_offset => INT64
258 log_append_time => INT64
259 log_start_offset => INT64
260 throttle_time_ms => INT32
261
262# topic: Name of topic
263# partition: Topic partition id
264# error_code: Response error code
265# log_append_time: The timestamp returned by broker after appending the messages. If CreateTime is used for the topic, the timestamp will be -1. If LogAppendTime is used for the topic, the timestamp will be the broker local time when the messages are appended.
266# log_start_offset: The start offset of the log at the time this produce response was created
267# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
268
269
270#ApiKey: Fetch, 1
271FetchRequestV0 => replica_id max_wait_time min_bytes [topics]
272 replica_id => INT32
273 max_wait_time => INT32
274 min_bytes => INT32
275 topics => topic [partitions]
276 topic => STRING
277 partitions => partition fetch_offset partition_max_bytes
278 partition => INT32
279 fetch_offset => INT64
280 partition_max_bytes => INT32
281
282# replica_id: Broker id of the follower. For normal consumers, use -1.
283# max_wait_time: Maximum time in ms to wait for the response.
284# min_bytes: Minimum bytes to accumulate in the response.
285# topics: Topics to fetch in the order provided.
286# topic: Name of topic
287# partitions: Partitions to fetch.
288# partition: Topic partition id
289# fetch_offset: Message offset.
290# partition_max_bytes: Maximum bytes to fetch.
291
292
293FetchRequestV1 => replica_id max_wait_time min_bytes [topics]
294 replica_id => INT32
295 max_wait_time => INT32
296 min_bytes => INT32
297 topics => topic [partitions]
298 topic => STRING
299 partitions => partition fetch_offset partition_max_bytes
300 partition => INT32
301 fetch_offset => INT64
302 partition_max_bytes => INT32
303
304# replica_id: Broker id of the follower. For normal consumers, use -1.
305# max_wait_time: Maximum time in ms to wait for the response.
306# min_bytes: Minimum bytes to accumulate in the response.
307# topics: Topics to fetch in the order provided.
308# topic: Name of topic
309# partitions: Partitions to fetch.
310# partition: Topic partition id
311# fetch_offset: Message offset.
312# partition_max_bytes: Maximum bytes to fetch.
313
314
315FetchRequestV2 => replica_id max_wait_time min_bytes [topics]
316 replica_id => INT32
317 max_wait_time => INT32
318 min_bytes => INT32
319 topics => topic [partitions]
320 topic => STRING
321 partitions => partition fetch_offset partition_max_bytes
322 partition => INT32
323 fetch_offset => INT64
324 partition_max_bytes => INT32
325
326# replica_id: Broker id of the follower. For normal consumers, use -1.
327# max_wait_time: Maximum time in ms to wait for the response.
328# min_bytes: Minimum bytes to accumulate in the response.
329# topics: Topics to fetch in the order provided.
330# topic: Name of topic
331# partitions: Partitions to fetch.
332# partition: Topic partition id
333# fetch_offset: Message offset.
334# partition_max_bytes: Maximum bytes to fetch.
335
336
337FetchRequestV3 => replica_id max_wait_time min_bytes max_bytes [topics]
338 replica_id => INT32
339 max_wait_time => INT32
340 min_bytes => INT32
341 max_bytes => INT32
342 topics => topic [partitions]
343 topic => STRING
344 partitions => partition fetch_offset partition_max_bytes
345 partition => INT32
346 fetch_offset => INT64
347 partition_max_bytes => INT32
348
349# replica_id: Broker id of the follower. For normal consumers, use -1.
350# max_wait_time: Maximum time in ms to wait for the response.
351# min_bytes: Minimum bytes to accumulate in the response.
352# max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.
353# topics: Topics to fetch in the order provided.
354# topic: Name of topic
355# partitions: Partitions to fetch.
356# partition: Topic partition id
357# fetch_offset: Message offset.
358# partition_max_bytes: Maximum bytes to fetch.
359
360
361FetchRequestV4 => replica_id max_wait_time min_bytes max_bytes isolation_level [topics]
362 replica_id => INT32
363 max_wait_time => INT32
364 min_bytes => INT32
365 max_bytes => INT32
366 isolation_level => INT8
367 topics => topic [partitions]
368 topic => STRING
369 partitions => partition fetch_offset partition_max_bytes
370 partition => INT32
371 fetch_offset => INT64
372 partition_max_bytes => INT32
373
374# replica_id: Broker id of the follower. For normal consumers, use -1.
375# max_wait_time: Maximum time in ms to wait for the response.
376# min_bytes: Minimum bytes to accumulate in the response.
377# max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.
378# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
379# topics: Topics to fetch in the order provided.
380# topic: Name of topic
381# partitions: Partitions to fetch.
382# partition: Topic partition id
383# fetch_offset: Message offset.
384# partition_max_bytes: Maximum bytes to fetch.
385
386
387FetchRequestV5 => replica_id max_wait_time min_bytes max_bytes isolation_level [topics]
388 replica_id => INT32
389 max_wait_time => INT32
390 min_bytes => INT32
391 max_bytes => INT32
392 isolation_level => INT8
393 topics => topic [partitions]
394 topic => STRING
395 partitions => partition fetch_offset log_start_offset partition_max_bytes
396 partition => INT32
397 fetch_offset => INT64
398 log_start_offset => INT64
399 partition_max_bytes => INT32
400
401# replica_id: Broker id of the follower. For normal consumers, use -1.
402# max_wait_time: Maximum time in ms to wait for the response.
403# min_bytes: Minimum bytes to accumulate in the response.
404# max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.
405# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
406# topics: Topics to fetch in the order provided.
407# topic: Name of topic
408# partitions: Partitions to fetch.
409# partition: Topic partition id
410# fetch_offset: Message offset.
411# log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower.
412# partition_max_bytes: Maximum bytes to fetch.
413
414
415FetchRequestV6 => replica_id max_wait_time min_bytes max_bytes isolation_level [topics]
416 replica_id => INT32
417 max_wait_time => INT32
418 min_bytes => INT32
419 max_bytes => INT32
420 isolation_level => INT8
421 topics => topic [partitions]
422 topic => STRING
423 partitions => partition fetch_offset log_start_offset partition_max_bytes
424 partition => INT32
425 fetch_offset => INT64
426 log_start_offset => INT64
427 partition_max_bytes => INT32
428
429# replica_id: Broker id of the follower. For normal consumers, use -1.
430# max_wait_time: Maximum time in ms to wait for the response.
431# min_bytes: Minimum bytes to accumulate in the response.
432# max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.
433# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
434# topics: Topics to fetch in the order provided.
435# topic: Name of topic
436# partitions: Partitions to fetch.
437# partition: Topic partition id
438# fetch_offset: Message offset.
439# log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower.
440# partition_max_bytes: Maximum bytes to fetch.
441
442
443FetchRequestV7 => replica_id max_wait_time min_bytes max_bytes isolation_level session_id session_epoch [topics] [forgotten_topics_data]
444 replica_id => INT32
445 max_wait_time => INT32
446 min_bytes => INT32
447 max_bytes => INT32
448 isolation_level => INT8
449 session_id => INT32
450 session_epoch => INT32
451 topics => topic [partitions]
452 topic => STRING
453 partitions => partition fetch_offset log_start_offset partition_max_bytes
454 partition => INT32
455 fetch_offset => INT64
456 log_start_offset => INT64
457 partition_max_bytes => INT32
458 forgotten_topics_data => topic [partitions]
459 topic => STRING
460 partitions => INT32
461
462# replica_id: Broker id of the follower. For normal consumers, use -1.
463# max_wait_time: Maximum time in ms to wait for the response.
464# min_bytes: Minimum bytes to accumulate in the response.
465# max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.
466# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
467# session_id: The fetch session ID
468# session_epoch: The fetch session epoch
469# topics: Topics to fetch in the order provided.
470# topic: Name of topic
471# partitions: Partitions to fetch.
472# partition: Topic partition id
473# fetch_offset: Message offset.
474# log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower.
475# partition_max_bytes: Maximum bytes to fetch.
476# forgotten_topics_data: Topics to remove from the fetch session.
477# topic: Name of topic
478# partitions: Partitions to remove from the fetch session.
479
480
481FetchRequestV8 => replica_id max_wait_time min_bytes max_bytes isolation_level session_id session_epoch [topics] [forgotten_topics_data]
482 replica_id => INT32
483 max_wait_time => INT32
484 min_bytes => INT32
485 max_bytes => INT32
486 isolation_level => INT8
487 session_id => INT32
488 session_epoch => INT32
489 topics => topic [partitions]
490 topic => STRING
491 partitions => partition fetch_offset log_start_offset partition_max_bytes
492 partition => INT32
493 fetch_offset => INT64
494 log_start_offset => INT64
495 partition_max_bytes => INT32
496 forgotten_topics_data => topic [partitions]
497 topic => STRING
498 partitions => INT32
499
500# replica_id: Broker id of the follower. For normal consumers, use -1.
501# max_wait_time: Maximum time in ms to wait for the response.
502# min_bytes: Minimum bytes to accumulate in the response.
503# max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.
504# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
505# session_id: The fetch session ID
506# session_epoch: The fetch session epoch
507# topics: Topics to fetch in the order provided.
508# topic: Name of topic
509# partitions: Partitions to fetch.
510# partition: Topic partition id
511# fetch_offset: Message offset.
512# log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower.
513# partition_max_bytes: Maximum bytes to fetch.
514# forgotten_topics_data: Topics to remove from the fetch session.
515# topic: Name of topic
516# partitions: Partitions to remove from the fetch session.
517
518
519FetchRequestV9 => replica_id max_wait_time min_bytes max_bytes isolation_level session_id session_epoch [topics] [forgotten_topics_data]
520 replica_id => INT32
521 max_wait_time => INT32
522 min_bytes => INT32
523 max_bytes => INT32
524 isolation_level => INT8
525 session_id => INT32
526 session_epoch => INT32
527 topics => topic [partitions]
528 topic => STRING
529 partitions => partition current_leader_epoch fetch_offset log_start_offset partition_max_bytes
530 partition => INT32
531 current_leader_epoch => INT32
532 fetch_offset => INT64
533 log_start_offset => INT64
534 partition_max_bytes => INT32
535 forgotten_topics_data => topic [partitions]
536 topic => STRING
537 partitions => INT32
538
539# replica_id: Broker id of the follower. For normal consumers, use -1.
540# max_wait_time: Maximum time in ms to wait for the response.
541# min_bytes: Minimum bytes to accumulate in the response.
542# max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.
543# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
544# session_id: The fetch session ID
545# session_epoch: The fetch session epoch
546# topics: Topics to fetch in the order provided.
547# topic: Name of topic
548# partitions: Partitions to fetch.
549# partition: Topic partition id
550# current_leader_epoch: The current leader epoch, if provided, is used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch known to the broker, then the UNKNOWN_LEADER_EPOCH error code will be returned. If the provided epoch is smaller, then the FENCED_LEADER_EPOCH error code will be returned.
551# fetch_offset: Message offset.
552# log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower.
553# partition_max_bytes: Maximum bytes to fetch.
554# forgotten_topics_data: Topics to remove from the fetch session.
555# topic: Name of topic
556# partitions: Partitions to remove from the fetch session.
557
558
559FetchRequestV10 => replica_id max_wait_time min_bytes max_bytes isolation_level session_id session_epoch [topics] [forgotten_topics_data]
560 replica_id => INT32
561 max_wait_time => INT32
562 min_bytes => INT32
563 max_bytes => INT32
564 isolation_level => INT8
565 session_id => INT32
566 session_epoch => INT32
567 topics => topic [partitions]
568 topic => STRING
569 partitions => partition current_leader_epoch fetch_offset log_start_offset partition_max_bytes
570 partition => INT32
571 current_leader_epoch => INT32
572 fetch_offset => INT64
573 log_start_offset => INT64
574 partition_max_bytes => INT32
575 forgotten_topics_data => topic [partitions]
576 topic => STRING
577 partitions => INT32
578
579# replica_id: Broker id of the follower. For normal consumers, use -1.
580# max_wait_time: Maximum time in ms to wait for the response.
581# min_bytes: Minimum bytes to accumulate in the response.
582# max_bytes: Maximum bytes to accumulate in the response. Note that this is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that progress can be made.
583# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
584# session_id: The fetch session ID
585# session_epoch: The fetch session epoch
586# topics: Topics to fetch in the order provided.
587# topic: Name of topic
588# partitions: Partitions to fetch.
589# partition: Topic partition id
590# current_leader_epoch: The current leader epoch, if provided, is used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch known to the broker, then the UNKNOWN_LEADER_EPOCH error code will be returned. If the provided epoch is smaller, then the FENCED_LEADER_EPOCH error code will be returned.
591# fetch_offset: Message offset.
592# log_start_offset: Earliest available offset of the follower replica. The field is only used when request is sent by follower.
593# partition_max_bytes: Maximum bytes to fetch.
594# forgotten_topics_data: Topics to remove from the fetch session.
595# topic: Name of topic
596# partitions: Partitions to remove from the fetch session.
597
598
599FetchResponseV0 => [responses]
600 responses => topic [partition_responses]
601 topic => STRING
602 partition_responses => partition_header record_set
603 partition_header => partition error_code high_watermark
604 partition => INT32
605 error_code => INT16
606 high_watermark => INT64
607 record_set => RECORDS
608
609# topic: Name of topic
610# partition: Topic partition id
611# error_code: Response error code
612# high_watermark: Last committed offset.
613
614
615FetchResponseV1 => throttle_time_ms [responses]
616 throttle_time_ms => INT32
617 responses => topic [partition_responses]
618 topic => STRING
619 partition_responses => partition_header record_set
620 partition_header => partition error_code high_watermark
621 partition => INT32
622 error_code => INT16
623 high_watermark => INT64
624 record_set => RECORDS
625
626# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
627# topic: Name of topic
628# partition: Topic partition id
629# error_code: Response error code
630# high_watermark: Last committed offset.
631
632
633FetchResponseV2 => throttle_time_ms [responses]
634 throttle_time_ms => INT32
635 responses => topic [partition_responses]
636 topic => STRING
637 partition_responses => partition_header record_set
638 partition_header => partition error_code high_watermark
639 partition => INT32
640 error_code => INT16
641 high_watermark => INT64
642 record_set => RECORDS
643
644# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
645# topic: Name of topic
646# partition: Topic partition id
647# error_code: Response error code
648# high_watermark: Last committed offset.
649
650
651FetchResponseV3 => throttle_time_ms [responses]
652 throttle_time_ms => INT32
653 responses => topic [partition_responses]
654 topic => STRING
655 partition_responses => partition_header record_set
656 partition_header => partition error_code high_watermark
657 partition => INT32
658 error_code => INT16
659 high_watermark => INT64
660 record_set => RECORDS
661
662# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
663# topic: Name of topic
664# partition: Topic partition id
665# error_code: Response error code
666# high_watermark: Last committed offset.
667
668
669FetchResponseV4 => throttle_time_ms [responses]
670 throttle_time_ms => INT32
671 responses => topic [partition_responses]
672 topic => STRING
673 partition_responses => partition_header record_set
674 partition_header => partition error_code high_watermark last_stable_offset [aborted_transactions]
675 partition => INT32
676 error_code => INT16
677 high_watermark => INT64
678 last_stable_offset => INT64
679 aborted_transactions => producer_id first_offset
680 producer_id => INT64
681 first_offset => INT64
682 record_set => RECORDS
683
684# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
685# topic: Name of topic
686# partition: Topic partition id
687# error_code: Response error code
688# high_watermark: Last committed offset.
689# last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED)
690# producer_id: The producer id associated with the aborted transactions
691# first_offset: The first offset in the aborted transaction
692
693
694FetchResponseV5 => throttle_time_ms [responses]
695 throttle_time_ms => INT32
696 responses => topic [partition_responses]
697 topic => STRING
698 partition_responses => partition_header record_set
699 partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions]
700 partition => INT32
701 error_code => INT16
702 high_watermark => INT64
703 last_stable_offset => INT64
704 log_start_offset => INT64
705 aborted_transactions => producer_id first_offset
706 producer_id => INT64
707 first_offset => INT64
708 record_set => RECORDS
709
710# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
711# topic: Name of topic
712# partition: Topic partition id
713# error_code: Response error code
714# high_watermark: Last committed offset.
715# last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED)
716# log_start_offset: Earliest available offset.
717# producer_id: The producer id associated with the aborted transactions
718# first_offset: The first offset in the aborted transaction
719
720
721FetchResponseV6 => throttle_time_ms [responses]
722 throttle_time_ms => INT32
723 responses => topic [partition_responses]
724 topic => STRING
725 partition_responses => partition_header record_set
726 partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions]
727 partition => INT32
728 error_code => INT16
729 high_watermark => INT64
730 last_stable_offset => INT64
731 log_start_offset => INT64
732 aborted_transactions => producer_id first_offset
733 producer_id => INT64
734 first_offset => INT64
735 record_set => RECORDS
736
737# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
738# topic: Name of topic
739# partition: Topic partition id
740# error_code: Response error code
741# high_watermark: Last committed offset.
742# last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED)
743# log_start_offset: Earliest available offset.
744# producer_id: The producer id associated with the aborted transactions
745# first_offset: The first offset in the aborted transaction
746
747
748FetchResponseV7 => throttle_time_ms error_code session_id [responses]
749 throttle_time_ms => INT32
750 error_code => INT16
751 session_id => INT32
752 responses => topic [partition_responses]
753 topic => STRING
754 partition_responses => partition_header record_set
755 partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions]
756 partition => INT32
757 error_code => INT16
758 high_watermark => INT64
759 last_stable_offset => INT64
760 log_start_offset => INT64
761 aborted_transactions => producer_id first_offset
762 producer_id => INT64
763 first_offset => INT64
764 record_set => RECORDS
765
766# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
767# error_code: Response error code
768# session_id: The fetch session ID
769# topic: Name of topic
770# partition: Topic partition id
771# error_code: Response error code
772# high_watermark: Last committed offset.
773# last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED)
774# log_start_offset: Earliest available offset.
775# producer_id: The producer id associated with the aborted transactions
776# first_offset: The first offset in the aborted transaction
777
778
779FetchResponseV8 => throttle_time_ms error_code session_id [responses]
780 throttle_time_ms => INT32
781 error_code => INT16
782 session_id => INT32
783 responses => topic [partition_responses]
784 topic => STRING
785 partition_responses => partition_header record_set
786 partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions]
787 partition => INT32
788 error_code => INT16
789 high_watermark => INT64
790 last_stable_offset => INT64
791 log_start_offset => INT64
792 aborted_transactions => producer_id first_offset
793 producer_id => INT64
794 first_offset => INT64
795 record_set => RECORDS
796
797# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
798# error_code: Response error code
799# session_id: The fetch session ID
800# topic: Name of topic
801# partition: Topic partition id
802# error_code: Response error code
803# high_watermark: Last committed offset.
804# last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED)
805# log_start_offset: Earliest available offset.
806# producer_id: The producer id associated with the aborted transactions
807# first_offset: The first offset in the aborted transaction
808
809
810FetchResponseV9 => throttle_time_ms error_code session_id [responses]
811 throttle_time_ms => INT32
812 error_code => INT16
813 session_id => INT32
814 responses => topic [partition_responses]
815 topic => STRING
816 partition_responses => partition_header record_set
817 partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions]
818 partition => INT32
819 error_code => INT16
820 high_watermark => INT64
821 last_stable_offset => INT64
822 log_start_offset => INT64
823 aborted_transactions => producer_id first_offset
824 producer_id => INT64
825 first_offset => INT64
826 record_set => RECORDS
827
828# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
829# error_code: Response error code
830# session_id: The fetch session ID
831# topic: Name of topic
832# partition: Topic partition id
833# error_code: Response error code
834# high_watermark: Last committed offset.
835# last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED)
836# log_start_offset: Earliest available offset.
837# producer_id: The producer id associated with the aborted transactions
838# first_offset: The first offset in the aborted transaction
839
840
841FetchResponseV10 => throttle_time_ms error_code session_id [responses]
842 throttle_time_ms => INT32
843 error_code => INT16
844 session_id => INT32
845 responses => topic [partition_responses]
846 topic => STRING
847 partition_responses => partition_header record_set
848 partition_header => partition error_code high_watermark last_stable_offset log_start_offset [aborted_transactions]
849 partition => INT32
850 error_code => INT16
851 high_watermark => INT64
852 last_stable_offset => INT64
853 log_start_offset => INT64
854 aborted_transactions => producer_id first_offset
855 producer_id => INT64
856 first_offset => INT64
857 record_set => RECORDS
858
859# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
860# error_code: Response error code
861# session_id: The fetch session ID
862# topic: Name of topic
863# partition: Topic partition id
864# error_code: Response error code
865# high_watermark: Last committed offset.
866# last_stable_offset: The last stable offset (or LSO) of the partition. This is the last offset such that the state of all transactional records prior to this offset have been decided (ABORTED or COMMITTED)
867# log_start_offset: Earliest available offset.
868# producer_id: The producer id associated with the aborted transactions
869# first_offset: The first offset in the aborted transaction
870
871
872#ApiKey: ListOffsets, 2
873ListOffsetsRequestV0 => replica_id [topics]
874 replica_id => INT32
875 topics => topic [partitions]
876 topic => STRING
877 partitions => partition timestamp max_num_offsets
878 partition => INT32
879 timestamp => INT64
880 max_num_offsets => INT32
881
882# replica_id: Broker id of the follower. For normal consumers, use -1.
883# topics: Topics to list offsets.
884# topic: Name of topic
885# partitions: Partitions to list offsets.
886# partition: Topic partition id
887# timestamp: The target timestamp for the partition.
888# max_num_offsets: Maximum offsets to return.
889
890
891ListOffsetsRequestV1 => replica_id [topics]
892 replica_id => INT32
893 topics => topic [partitions]
894 topic => STRING
895 partitions => partition timestamp
896 partition => INT32
897 timestamp => INT64
898
899# replica_id: Broker id of the follower. For normal consumers, use -1.
900# topics: Topics to list offsets.
901# topic: Name of topic
902# partitions: Partitions to list offsets.
903# partition: Topic partition id
904# timestamp: The target timestamp for the partition.
905
906
907ListOffsetsRequestV2 => replica_id isolation_level [topics]
908 replica_id => INT32
909 isolation_level => INT8
910 topics => topic [partitions]
911 topic => STRING
912 partitions => partition timestamp
913 partition => INT32
914 timestamp => INT64
915
916# replica_id: Broker id of the follower. For normal consumers, use -1.
917# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
918# topics: Topics to list offsets.
919# topic: Name of topic
920# partitions: Partitions to list offsets.
921# partition: Topic partition id
922# timestamp: The target timestamp for the partition.
923
924
925ListOffsetsRequestV3 => replica_id isolation_level [topics]
926 replica_id => INT32
927 isolation_level => INT8
928 topics => topic [partitions]
929 topic => STRING
930 partitions => partition timestamp
931 partition => INT32
932 timestamp => INT64
933
934# replica_id: Broker id of the follower. For normal consumers, use -1.
935# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
936# topics: Topics to list offsets.
937# topic: Name of topic
938# partitions: Partitions to list offsets.
939# partition: Topic partition id
940# timestamp: The target timestamp for the partition.
941
942
943ListOffsetsRequestV4 => replica_id isolation_level [topics]
944 replica_id => INT32
945 isolation_level => INT8
946 topics => topic [partitions]
947 topic => STRING
948 partitions => partition current_leader_epoch timestamp
949 partition => INT32
950 current_leader_epoch => INT32
951 timestamp => INT64
952
953# replica_id: Broker id of the follower. For normal consumers, use -1.
954# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
955# topics: Topics to list offsets.
956# topic: Name of topic
957# partitions: Partitions to list offsets.
958# partition: Topic partition id
959# current_leader_epoch: The current leader epoch, if provided, is used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch known to the broker, then the UNKNOWN_LEADER_EPOCH error code will be returned. If the provided epoch is smaller, then the FENCED_LEADER_EPOCH error code will be returned.
960# timestamp: The target timestamp for the partition.
961
962
963ListOffsetsRequestV5 => replica_id isolation_level [topics]
964 replica_id => INT32
965 isolation_level => INT8
966 topics => topic [partitions]
967 topic => STRING
968 partitions => partition current_leader_epoch timestamp
969 partition => INT32
970 current_leader_epoch => INT32
971 timestamp => INT64
972
973# replica_id: Broker id of the follower. For normal consumers, use -1.
974# isolation_level: This setting controls the visibility of transactional records. Using READ_UNCOMMITTED (isolation_level = 0) makes all records visible. With READ_COMMITTED (isolation_level = 1), non-transactional and COMMITTED transactional records are visible. To be more concrete, READ_COMMITTED returns all data from offsets smaller than the current LSO (last stable offset), and enables the inclusion of the list of aborted transactions in the result, which allows consumers to discard ABORTED transactional records
975# topics: Topics to list offsets.
976# topic: Name of topic
977# partitions: Partitions to list offsets.
978# partition: Topic partition id
979# current_leader_epoch: The current leader epoch, if provided, is used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch known to the broker, then the UNKNOWN_LEADER_EPOCH error code will be returned. If the provided epoch is smaller, then the FENCED_LEADER_EPOCH error code will be returned.
980# timestamp: The target timestamp for the partition.
981
982
983ListOffsetsResponseV0 => [responses]
984 responses => topic [partition_responses]
985 topic => STRING
986 partition_responses => partition error_code [offsets']
987 partition => INT32
988 error_code => INT16
989 offsets' => INT64
990
991# responses: The listed offsets by topic
992# topic: Name of topic
993# partition_responses: The listed offsets by partition
994# partition: Topic partition id
995# error_code: Response error code
996# offsets': A list of offsets.
997
998
999ListOffsetsResponseV1 => [responses]
1000 responses => topic [partition_responses]
1001 topic => STRING
1002 partition_responses => partition error_code timestamp offset
1003 partition => INT32
1004 error_code => INT16
1005 timestamp => INT64
1006 offset => INT64
1007
1008# responses: The listed offsets by topic
1009# topic: Name of topic
1010# partition_responses: The listed offsets by partition
1011# partition: Topic partition id
1012# error_code: Response error code
1013# timestamp: The timestamp associated with the returned offset
1014# offset: The offset found
1015
1016
1017ListOffsetsResponseV2 => throttle_time_ms [responses]
1018 throttle_time_ms => INT32
1019 responses => topic [partition_responses]
1020 topic => STRING
1021 partition_responses => partition error_code timestamp offset
1022 partition => INT32
1023 error_code => INT16
1024 timestamp => INT64
1025 offset => INT64
1026
1027# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1028# responses: The listed offsets by topic
1029# topic: Name of topic
1030# partition_responses: The listed offsets by partition
1031# partition: Topic partition id
1032# error_code: Response error code
1033# timestamp: The timestamp associated with the returned offset
1034# offset: The offset found
1035
1036
1037ListOffsetsResponseV3 => throttle_time_ms [responses]
1038 throttle_time_ms => INT32
1039 responses => topic [partition_responses]
1040 topic => STRING
1041 partition_responses => partition error_code timestamp offset
1042 partition => INT32
1043 error_code => INT16
1044 timestamp => INT64
1045 offset => INT64
1046
1047# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1048# responses: The listed offsets by topic
1049# topic: Name of topic
1050# partition_responses: The listed offsets by partition
1051# partition: Topic partition id
1052# error_code: Response error code
1053# timestamp: The timestamp associated with the returned offset
1054# offset: The offset found
1055
1056
1057ListOffsetsResponseV4 => throttle_time_ms [responses]
1058 throttle_time_ms => INT32
1059 responses => topic [partition_responses]
1060 topic => STRING
1061 partition_responses => partition error_code timestamp offset leader_epoch
1062 partition => INT32
1063 error_code => INT16
1064 timestamp => INT64
1065 offset => INT64
1066 leader_epoch => INT32
1067
1068# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1069# responses: The listed offsets by topic
1070# topic: Name of topic
1071# partition_responses: The listed offsets by partition
1072# partition: Topic partition id
1073# error_code: Response error code
1074# timestamp: The timestamp associated with the returned offset
1075# offset: The offset found
1076# leader_epoch: The leader epoch
1077
1078
1079ListOffsetsResponseV5 => throttle_time_ms [responses]
1080 throttle_time_ms => INT32
1081 responses => topic [partition_responses]
1082 topic => STRING
1083 partition_responses => partition error_code timestamp offset leader_epoch
1084 partition => INT32
1085 error_code => INT16
1086 timestamp => INT64
1087 offset => INT64
1088 leader_epoch => INT32
1089
1090# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1091# responses: The listed offsets by topic
1092# topic: Name of topic
1093# partition_responses: The listed offsets by partition
1094# partition: Topic partition id
1095# error_code: Response error code
1096# timestamp: The timestamp associated with the returned offset
1097# offset: The offset found
1098# leader_epoch: The leader epoch
1099
1100
1101#ApiKey: Metadata, 3
1102MetadataRequestV0 => [topics]
1103 topics => STRING
1104
1105# topics: An array of topics to fetch metadata for. If no topics are specified fetch metadata for all topics.
1106
1107
1108MetadataRequestV1 => [topics]
1109 topics => STRING
1110
1111# topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.
1112
1113
1114MetadataRequestV2 => [topics]
1115 topics => STRING
1116
1117# topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.
1118
1119
1120MetadataRequestV3 => [topics]
1121 topics => STRING
1122
1123# topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.
1124
1125
1126MetadataRequestV4 => [topics] allow_auto_topic_creation
1127 topics => STRING
1128 allow_auto_topic_creation => BOOLEAN
1129
1130# topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.
1131# allow_auto_topic_creation: 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.
1132
1133
1134MetadataRequestV5 => [topics] allow_auto_topic_creation
1135 topics => STRING
1136 allow_auto_topic_creation => BOOLEAN
1137
1138# topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.
1139# allow_auto_topic_creation: 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.
1140
1141
1142MetadataRequestV6 => [topics] allow_auto_topic_creation
1143 topics => STRING
1144 allow_auto_topic_creation => BOOLEAN
1145
1146# topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.
1147# allow_auto_topic_creation: 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.
1148
1149
1150MetadataRequestV7 => [topics] allow_auto_topic_creation
1151 topics => STRING
1152 allow_auto_topic_creation => BOOLEAN
1153
1154# topics: An array of topics to fetch metadata for. If the topics array is null fetch metadata for all topics.
1155# allow_auto_topic_creation: 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.
1156
1157
1158MetadataResponseV0 => [brokers] [topic_metadata]
1159 brokers => node_id host port
1160 node_id => INT32
1161 host => STRING
1162 port => INT32
1163 topic_metadata => error_code topic [partition_metadata]
1164 error_code => INT16
1165 topic => STRING
1166 partition_metadata => error_code partition leader [replicas] [isr]
1167 error_code => INT16
1168 partition => INT32
1169 leader => INT32
1170 replicas => INT32
1171 isr => INT32
1172
1173# brokers: Host and port information for all brokers.
1174# node_id: The broker id.
1175# host: The hostname of the broker.
1176# port: The port on which the broker accepts requests.
1177# topic_metadata: Metadata for requested topics
1178# error_code: Response error code
1179# topic: Name of topic
1180# partition_metadata: Metadata for each partition of the topic.
1181# error_code: Response error code
1182# partition: Topic partition id
1183# leader: The id of the broker acting as leader for this partition.
1184# replicas: The set of all nodes that host this partition.
1185# isr: The set of nodes that are in sync with the leader for this partition.
1186
1187
1188MetadataResponseV1 => [brokers] controller_id [topic_metadata]
1189 brokers => node_id host port rack
1190 node_id => INT32
1191 host => STRING
1192 port => INT32
1193 rack => NULLABLE_STRING
1194 controller_id => INT32
1195 topic_metadata => error_code topic is_internal [partition_metadata]
1196 error_code => INT16
1197 topic => STRING
1198 is_internal => BOOLEAN
1199 partition_metadata => error_code partition leader [replicas] [isr]
1200 error_code => INT16
1201 partition => INT32
1202 leader => INT32
1203 replicas => INT32
1204 isr => INT32
1205
1206# brokers: Host and port information for all brokers.
1207# node_id: The broker id.
1208# host: The hostname of the broker.
1209# port: The port on which the broker accepts requests.
1210# rack: The rack of the broker.
1211# controller_id: The broker id of the controller broker.
1212# topic_metadata: Metadata for requested topics
1213# error_code: Response error code
1214# topic: Name of topic
1215# is_internal: Indicates if the topic is considered a Kafka internal topic
1216# partition_metadata: Metadata for each partition of the topic.
1217# error_code: Response error code
1218# partition: Topic partition id
1219# leader: The id of the broker acting as leader for this partition.
1220# replicas: The set of all nodes that host this partition.
1221# isr: The set of nodes that are in sync with the leader for this partition.
1222
1223
1224MetadataResponseV2 => [brokers] cluster_id controller_id [topic_metadata]
1225 brokers => node_id host port rack
1226 node_id => INT32
1227 host => STRING
1228 port => INT32
1229 rack => NULLABLE_STRING
1230 cluster_id => NULLABLE_STRING
1231 controller_id => INT32
1232 topic_metadata => error_code topic is_internal [partition_metadata]
1233 error_code => INT16
1234 topic => STRING
1235 is_internal => BOOLEAN
1236 partition_metadata => error_code partition leader [replicas] [isr]
1237 error_code => INT16
1238 partition => INT32
1239 leader => INT32
1240 replicas => INT32
1241 isr => INT32
1242
1243# brokers: Host and port information for all brokers.
1244# node_id: The broker id.
1245# host: The hostname of the broker.
1246# port: The port on which the broker accepts requests.
1247# rack: The rack of the broker.
1248# cluster_id: The cluster id that this broker belongs to.
1249# controller_id: The broker id of the controller broker.
1250# topic_metadata: Metadata for requested topics
1251# error_code: Response error code
1252# topic: Name of topic
1253# is_internal: Indicates if the topic is considered a Kafka internal topic
1254# partition_metadata: Metadata for each partition of the topic.
1255# error_code: Response error code
1256# partition: Topic partition id
1257# leader: The id of the broker acting as leader for this partition.
1258# replicas: The set of all nodes that host this partition.
1259# isr: The set of nodes that are in sync with the leader for this partition.
1260
1261
1262MetadataResponseV3 => throttle_time_ms [brokers] cluster_id controller_id [topic_metadata]
1263 throttle_time_ms => INT32
1264 brokers => node_id host port rack
1265 node_id => INT32
1266 host => STRING
1267 port => INT32
1268 rack => NULLABLE_STRING
1269 cluster_id => NULLABLE_STRING
1270 controller_id => INT32
1271 topic_metadata => error_code topic is_internal [partition_metadata]
1272 error_code => INT16
1273 topic => STRING
1274 is_internal => BOOLEAN
1275 partition_metadata => error_code partition leader [replicas] [isr]
1276 error_code => INT16
1277 partition => INT32
1278 leader => INT32
1279 replicas => INT32
1280 isr => INT32
1281
1282# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1283# brokers: Host and port information for all brokers.
1284# node_id: The broker id.
1285# host: The hostname of the broker.
1286# port: The port on which the broker accepts requests.
1287# rack: The rack of the broker.
1288# cluster_id: The cluster id that this broker belongs to.
1289# controller_id: The broker id of the controller broker.
1290# topic_metadata: Metadata for requested topics
1291# error_code: Response error code
1292# topic: Name of topic
1293# is_internal: Indicates if the topic is considered a Kafka internal topic
1294# partition_metadata: Metadata for each partition of the topic.
1295# error_code: Response error code
1296# partition: Topic partition id
1297# leader: The id of the broker acting as leader for this partition.
1298# replicas: The set of all nodes that host this partition.
1299# isr: The set of nodes that are in sync with the leader for this partition.
1300
1301
1302MetadataResponseV4 => throttle_time_ms [brokers] cluster_id controller_id [topic_metadata]
1303 throttle_time_ms => INT32
1304 brokers => node_id host port rack
1305 node_id => INT32
1306 host => STRING
1307 port => INT32
1308 rack => NULLABLE_STRING
1309 cluster_id => NULLABLE_STRING
1310 controller_id => INT32
1311 topic_metadata => error_code topic is_internal [partition_metadata]
1312 error_code => INT16
1313 topic => STRING
1314 is_internal => BOOLEAN
1315 partition_metadata => error_code partition leader [replicas] [isr]
1316 error_code => INT16
1317 partition => INT32
1318 leader => INT32
1319 replicas => INT32
1320 isr => INT32
1321
1322# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1323# brokers: Host and port information for all brokers.
1324# node_id: The broker id.
1325# host: The hostname of the broker.
1326# port: The port on which the broker accepts requests.
1327# rack: The rack of the broker.
1328# cluster_id: The cluster id that this broker belongs to.
1329# controller_id: The broker id of the controller broker.
1330# topic_metadata: Metadata for requested topics
1331# error_code: Response error code
1332# topic: Name of topic
1333# is_internal: Indicates if the topic is considered a Kafka internal topic
1334# partition_metadata: Metadata for each partition of the topic.
1335# error_code: Response error code
1336# partition: Topic partition id
1337# leader: The id of the broker acting as leader for this partition.
1338# replicas: The set of all nodes that host this partition.
1339# isr: The set of nodes that are in sync with the leader for this partition.
1340
1341
1342MetadataResponseV5 => throttle_time_ms [brokers] cluster_id controller_id [topic_metadata]
1343 throttle_time_ms => INT32
1344 brokers => node_id host port rack
1345 node_id => INT32
1346 host => STRING
1347 port => INT32
1348 rack => NULLABLE_STRING
1349 cluster_id => NULLABLE_STRING
1350 controller_id => INT32
1351 topic_metadata => error_code topic is_internal [partition_metadata]
1352 error_code => INT16
1353 topic => STRING
1354 is_internal => BOOLEAN
1355 partition_metadata => error_code partition leader [replicas] [isr] [offline_replicas]
1356 error_code => INT16
1357 partition => INT32
1358 leader => INT32
1359 replicas => INT32
1360 isr => INT32
1361 offline_replicas => INT32
1362
1363# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1364# brokers: Host and port information for all brokers.
1365# node_id: The broker id.
1366# host: The hostname of the broker.
1367# port: The port on which the broker accepts requests.
1368# rack: The rack of the broker.
1369# cluster_id: The cluster id that this broker belongs to.
1370# controller_id: The broker id of the controller broker.
1371# topic_metadata: Metadata for requested topics
1372# error_code: Response error code
1373# topic: Name of topic
1374# is_internal: Indicates if the topic is considered a Kafka internal topic
1375# partition_metadata: Metadata for each partition of the topic.
1376# error_code: Response error code
1377# partition: Topic partition id
1378# leader: The id of the broker acting as leader for this partition.
1379# replicas: The set of all nodes that host this partition.
1380# isr: The set of nodes that are in sync with the leader for this partition.
1381# offline_replicas: The set of offline replicas of this partition.
1382
1383
1384MetadataResponseV6 => throttle_time_ms [brokers] cluster_id controller_id [topic_metadata]
1385 throttle_time_ms => INT32
1386 brokers => node_id host port rack
1387 node_id => INT32
1388 host => STRING
1389 port => INT32
1390 rack => NULLABLE_STRING
1391 cluster_id => NULLABLE_STRING
1392 controller_id => INT32
1393 topic_metadata => error_code topic is_internal [partition_metadata]
1394 error_code => INT16
1395 topic => STRING
1396 is_internal => BOOLEAN
1397 partition_metadata => error_code partition leader [replicas] [isr] [offline_replicas]
1398 error_code => INT16
1399 partition => INT32
1400 leader => INT32
1401 replicas => INT32
1402 isr => INT32
1403 offline_replicas => INT32
1404
1405# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1406# brokers: Host and port information for all brokers.
1407# node_id: The broker id.
1408# host: The hostname of the broker.
1409# port: The port on which the broker accepts requests.
1410# rack: The rack of the broker.
1411# cluster_id: The cluster id that this broker belongs to.
1412# controller_id: The broker id of the controller broker.
1413# topic_metadata: Metadata for requested topics
1414# error_code: Response error code
1415# topic: Name of topic
1416# is_internal: Indicates if the topic is considered a Kafka internal topic
1417# partition_metadata: Metadata for each partition of the topic.
1418# error_code: Response error code
1419# partition: Topic partition id
1420# leader: The id of the broker acting as leader for this partition.
1421# replicas: The set of all nodes that host this partition.
1422# isr: The set of nodes that are in sync with the leader for this partition.
1423# offline_replicas: The set of offline replicas of this partition.
1424
1425
1426MetadataResponseV7 => throttle_time_ms [brokers] cluster_id controller_id [topic_metadata]
1427 throttle_time_ms => INT32
1428 brokers => node_id host port rack
1429 node_id => INT32
1430 host => STRING
1431 port => INT32
1432 rack => NULLABLE_STRING
1433 cluster_id => NULLABLE_STRING
1434 controller_id => INT32
1435 topic_metadata => error_code topic is_internal [partition_metadata]
1436 error_code => INT16
1437 topic => STRING
1438 is_internal => BOOLEAN
1439 partition_metadata => error_code partition leader leader_epoch [replicas] [isr] [offline_replicas]
1440 error_code => INT16
1441 partition => INT32
1442 leader => INT32
1443 leader_epoch => INT32
1444 replicas => INT32
1445 isr => INT32
1446 offline_replicas => INT32
1447
1448# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1449# brokers: Host and port information for all brokers.
1450# node_id: The broker id.
1451# host: The hostname of the broker.
1452# port: The port on which the broker accepts requests.
1453# rack: The rack of the broker.
1454# cluster_id: The cluster id that this broker belongs to.
1455# controller_id: The broker id of the controller broker.
1456# topic_metadata: Metadata for requested topics
1457# error_code: Response error code
1458# topic: Name of topic
1459# is_internal: Indicates if the topic is considered a Kafka internal topic
1460# partition_metadata: Metadata for each partition of the topic.
1461# error_code: Response error code
1462# partition: Topic partition id
1463# leader: The id of the broker acting as leader for this partition.
1464# leader_epoch: The leader epoch
1465# replicas: The set of all nodes that host this partition.
1466# isr: The set of nodes that are in sync with the leader for this partition.
1467# offline_replicas: The set of offline replicas of this partition.
1468
1469
1470#ApiKey: OffsetCommit, 8
1471OffsetCommitRequestV0 => group_id [topics]
1472 group_id => STRING
1473 topics => topic [partitions]
1474 topic => STRING
1475 partitions => partition offset metadata
1476 partition => INT32
1477 offset => INT64
1478 metadata => NULLABLE_STRING
1479
1480# group_id: The unique group identifier
1481# topics: Topics to commit offsets
1482# topic: Name of topic
1483# partitions: Partitions to commit offsets
1484# partition: Topic partition id
1485# offset: Message offset to be committed
1486# metadata: Any associated metadata the client wants to keep.
1487
1488
1489OffsetCommitRequestV1 => group_id generation_id member_id [topics]
1490 group_id => STRING
1491 generation_id => INT32
1492 member_id => STRING
1493 topics => topic [partitions]
1494 topic => STRING
1495 partitions => partition offset timestamp metadata
1496 partition => INT32
1497 offset => INT64
1498 timestamp => INT64
1499 metadata => NULLABLE_STRING
1500
1501# group_id: The unique group identifier
1502# generation_id: The generation of the group.
1503# member_id: The member id assigned by the group coordinator or null if joining for the first time.
1504# topics: Topics to commit offsets
1505# topic: Name of topic
1506# partitions: Partitions to commit offsets
1507# partition: Topic partition id
1508# offset: Message offset to be committed
1509# timestamp: Timestamp of the commit
1510# metadata: Any associated metadata the client wants to keep.
1511
1512
1513OffsetCommitRequestV2 => group_id generation_id member_id retention_time [topics]
1514 group_id => STRING
1515 generation_id => INT32
1516 member_id => STRING
1517 retention_time => INT64
1518 topics => topic [partitions]
1519 topic => STRING
1520 partitions => partition offset metadata
1521 partition => INT32
1522 offset => INT64
1523 metadata => NULLABLE_STRING
1524
1525# group_id: The unique group identifier
1526# generation_id: The generation of the group.
1527# member_id: The member id assigned by the group coordinator or null if joining for the first time.
1528# retention_time: Time period in ms to retain the offset.
1529# topics: Topics to commit offsets
1530# topic: Name of topic
1531# partitions: Partitions to commit offsets
1532# partition: Topic partition id
1533# offset: Message offset to be committed
1534# metadata: Any associated metadata the client wants to keep.
1535
1536
1537OffsetCommitRequestV3 => group_id generation_id member_id retention_time [topics]
1538 group_id => STRING
1539 generation_id => INT32
1540 member_id => STRING
1541 retention_time => INT64
1542 topics => topic [partitions]
1543 topic => STRING
1544 partitions => partition offset metadata
1545 partition => INT32
1546 offset => INT64
1547 metadata => NULLABLE_STRING
1548
1549# group_id: The unique group identifier
1550# generation_id: The generation of the group.
1551# member_id: The member id assigned by the group coordinator or null if joining for the first time.
1552# retention_time: Time period in ms to retain the offset.
1553# topics: Topics to commit offsets
1554# topic: Name of topic
1555# partitions: Partitions to commit offsets
1556# partition: Topic partition id
1557# offset: Message offset to be committed
1558# metadata: Any associated metadata the client wants to keep.
1559
1560
1561OffsetCommitRequestV4 => group_id generation_id member_id retention_time [topics]
1562 group_id => STRING
1563 generation_id => INT32
1564 member_id => STRING
1565 retention_time => INT64
1566 topics => topic [partitions]
1567 topic => STRING
1568 partitions => partition offset metadata
1569 partition => INT32
1570 offset => INT64
1571 metadata => NULLABLE_STRING
1572
1573# group_id: The unique group identifier
1574# generation_id: The generation of the group.
1575# member_id: The member id assigned by the group coordinator or null if joining for the first time.
1576# retention_time: Time period in ms to retain the offset.
1577# topics: Topics to commit offsets
1578# topic: Name of topic
1579# partitions: Partitions to commit offsets
1580# partition: Topic partition id
1581# offset: Message offset to be committed
1582# metadata: Any associated metadata the client wants to keep.
1583
1584
1585OffsetCommitRequestV5 => group_id generation_id member_id [topics]
1586 group_id => STRING
1587 generation_id => INT32
1588 member_id => STRING
1589 topics => topic [partitions]
1590 topic => STRING
1591 partitions => partition offset metadata
1592 partition => INT32
1593 offset => INT64
1594 metadata => NULLABLE_STRING
1595
1596# group_id: The unique group identifier
1597# generation_id: The generation of the group.
1598# member_id: The member id assigned by the group coordinator or null if joining for the first time.
1599# topics: Topics to commit offsets
1600# topic: Name of topic
1601# partitions: Partitions to commit offsets
1602# partition: Topic partition id
1603# offset: Message offset to be committed
1604# metadata: Any associated metadata the client wants to keep.
1605
1606
1607OffsetCommitRequestV6 => group_id generation_id member_id [topics]
1608 group_id => STRING
1609 generation_id => INT32
1610 member_id => STRING
1611 topics => topic [partitions]
1612 topic => STRING
1613 partitions => partition offset leader_epoch metadata
1614 partition => INT32
1615 offset => INT64
1616 leader_epoch => INT32
1617 metadata => NULLABLE_STRING
1618
1619# group_id: The unique group identifier
1620# generation_id: The generation of the group.
1621# member_id: The member id assigned by the group coordinator or null if joining for the first time.
1622# topics: Topics to commit offsets
1623# topic: Name of topic
1624# partitions: Partitions to commit offsets
1625# partition: Topic partition id
1626# offset: Message offset to be committed
1627# leader_epoch: The leader epoch, if provided is derived from the last consumed record. This is used by the consumer to check for log truncation and to ensure partition metadata is up to date following a group rebalance.
1628# metadata: Any associated metadata the client wants to keep.
1629
1630
1631OffsetCommitResponseV0 => [responses]
1632 responses => topic [partition_responses]
1633 topic => STRING
1634 partition_responses => partition error_code
1635 partition => INT32
1636 error_code => INT16
1637
1638# responses: Responses by topic for committed partitions
1639# topic: Name of topic
1640# partition_responses: Responses for committed partitions
1641# partition: Topic partition id
1642# error_code: Response error code
1643
1644
1645OffsetCommitResponseV1 => [responses]
1646 responses => topic [partition_responses]
1647 topic => STRING
1648 partition_responses => partition error_code
1649 partition => INT32
1650 error_code => INT16
1651
1652# responses: Responses by topic for committed partitions
1653# topic: Name of topic
1654# partition_responses: Responses for committed partitions
1655# partition: Topic partition id
1656# error_code: Response error code
1657
1658
1659OffsetCommitResponseV2 => [responses]
1660 responses => topic [partition_responses]
1661 topic => STRING
1662 partition_responses => partition error_code
1663 partition => INT32
1664 error_code => INT16
1665
1666# responses: Responses by topic for committed partitions
1667# topic: Name of topic
1668# partition_responses: Responses for committed partitions
1669# partition: Topic partition id
1670# error_code: Response error code
1671
1672
1673OffsetCommitResponseV3 => throttle_time_ms [responses]
1674 throttle_time_ms => INT32
1675 responses => topic [partition_responses]
1676 topic => STRING
1677 partition_responses => partition error_code
1678 partition => INT32
1679 error_code => INT16
1680
1681# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1682# responses: Responses by topic for committed partitions
1683# topic: Name of topic
1684# partition_responses: Responses for committed partitions
1685# partition: Topic partition id
1686# error_code: Response error code
1687
1688
1689OffsetCommitResponseV4 => throttle_time_ms [responses]
1690 throttle_time_ms => INT32
1691 responses => topic [partition_responses]
1692 topic => STRING
1693 partition_responses => partition error_code
1694 partition => INT32
1695 error_code => INT16
1696
1697# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1698# responses: Responses by topic for committed partitions
1699# topic: Name of topic
1700# partition_responses: Responses for committed partitions
1701# partition: Topic partition id
1702# error_code: Response error code
1703
1704
1705OffsetCommitResponseV5 => throttle_time_ms [responses]
1706 throttle_time_ms => INT32
1707 responses => topic [partition_responses]
1708 topic => STRING
1709 partition_responses => partition error_code
1710 partition => INT32
1711 error_code => INT16
1712
1713# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1714# responses: Responses by topic for committed partitions
1715# topic: Name of topic
1716# partition_responses: Responses for committed partitions
1717# partition: Topic partition id
1718# error_code: Response error code
1719
1720
1721OffsetCommitResponseV6 => throttle_time_ms [responses]
1722 throttle_time_ms => INT32
1723 responses => topic [partition_responses]
1724 topic => STRING
1725 partition_responses => partition error_code
1726 partition => INT32
1727 error_code => INT16
1728
1729# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1730# responses: Responses by topic for committed partitions
1731# topic: Name of topic
1732# partition_responses: Responses for committed partitions
1733# partition: Topic partition id
1734# error_code: Response error code
1735
1736
1737#ApiKey: OffsetFetch, 9
1738OffsetFetchRequestV0 => group_id [topics]
1739 group_id => STRING
1740 topics => topic [partitions]
1741 topic => STRING
1742 partitions => partition
1743 partition => INT32
1744
1745# group_id: The unique group identifier
1746# topics: Topics to fetch offsets.
1747# topic: Name of topic
1748# partitions: Partitions to fetch offsets.
1749# partition: Topic partition id
1750
1751
1752OffsetFetchRequestV1 => group_id [topics]
1753 group_id => STRING
1754 topics => topic [partitions]
1755 topic => STRING
1756 partitions => partition
1757 partition => INT32
1758
1759# group_id: The unique group identifier
1760# topics: Topics to fetch offsets.
1761# topic: Name of topic
1762# partitions: Partitions to fetch offsets.
1763# partition: Topic partition id
1764
1765
1766OffsetFetchRequestV2 => group_id [topics]
1767 group_id => STRING
1768 topics => topic [partitions]
1769 topic => STRING
1770 partitions => partition
1771 partition => INT32
1772
1773# group_id: The unique group identifier
1774# topics: Topics to fetch offsets. If the topic array is null fetch offsets for all topics.
1775# topic: Name of topic
1776# partitions: Partitions to fetch offsets.
1777# partition: Topic partition id
1778
1779
1780OffsetFetchRequestV3 => group_id [topics]
1781 group_id => STRING
1782 topics => topic [partitions]
1783 topic => STRING
1784 partitions => partition
1785 partition => INT32
1786
1787# group_id: The unique group identifier
1788# topics: Topics to fetch offsets. If the topic array is null fetch offsets for all topics.
1789# topic: Name of topic
1790# partitions: Partitions to fetch offsets.
1791# partition: Topic partition id
1792
1793
1794OffsetFetchRequestV4 => group_id [topics]
1795 group_id => STRING
1796 topics => topic [partitions]
1797 topic => STRING
1798 partitions => partition
1799 partition => INT32
1800
1801# group_id: The unique group identifier
1802# topics: Topics to fetch offsets. If the topic array is null fetch offsets for all topics.
1803# topic: Name of topic
1804# partitions: Partitions to fetch offsets.
1805# partition: Topic partition id
1806
1807
1808OffsetFetchRequestV5 => group_id [topics]
1809 group_id => STRING
1810 topics => topic [partitions]
1811 topic => STRING
1812 partitions => partition
1813 partition => INT32
1814
1815# group_id: The unique group identifier
1816# topics: Topics to fetch offsets. If the topic array is null fetch offsets for all topics.
1817# topic: Name of topic
1818# partitions: Partitions to fetch offsets.
1819# partition: Topic partition id
1820
1821
1822OffsetFetchResponseV0 => [responses]
1823 responses => topic [partition_responses]
1824 topic => STRING
1825 partition_responses => partition offset metadata error_code
1826 partition => INT32
1827 offset => INT64
1828 metadata => NULLABLE_STRING
1829 error_code => INT16
1830
1831# responses: Responses by topic for fetched offsets
1832# topic: Name of topic
1833# partition_responses: Responses by partition for fetched offsets
1834# partition: Topic partition id
1835# offset: Message offset to be committed
1836# metadata: Any associated metadata the client wants to keep.
1837# error_code: Response error code
1838
1839
1840OffsetFetchResponseV1 => [responses]
1841 responses => topic [partition_responses]
1842 topic => STRING
1843 partition_responses => partition offset metadata error_code
1844 partition => INT32
1845 offset => INT64
1846 metadata => NULLABLE_STRING
1847 error_code => INT16
1848
1849# responses: Responses by topic for fetched offsets
1850# topic: Name of topic
1851# partition_responses: Responses by partition for fetched offsets
1852# partition: Topic partition id
1853# offset: Message offset to be committed
1854# metadata: Any associated metadata the client wants to keep.
1855# error_code: Response error code
1856
1857
1858OffsetFetchResponseV2 => [responses] error_code
1859 responses => topic [partition_responses]
1860 topic => STRING
1861 partition_responses => partition offset metadata error_code
1862 partition => INT32
1863 offset => INT64
1864 metadata => NULLABLE_STRING
1865 error_code => INT16
1866 error_code => INT16
1867
1868# responses: Responses by topic for fetched offsets
1869# topic: Name of topic
1870# partition_responses: Responses by partition for fetched offsets
1871# partition: Topic partition id
1872# offset: Message offset to be committed
1873# metadata: Any associated metadata the client wants to keep.
1874# error_code: Response error code
1875# error_code: Response error code
1876
1877
1878OffsetFetchResponseV3 => throttle_time_ms [responses] error_code
1879 throttle_time_ms => INT32
1880 responses => topic [partition_responses]
1881 topic => STRING
1882 partition_responses => partition offset metadata error_code
1883 partition => INT32
1884 offset => INT64
1885 metadata => NULLABLE_STRING
1886 error_code => INT16
1887 error_code => INT16
1888
1889# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1890# responses: Responses by topic for fetched offsets
1891# topic: Name of topic
1892# partition_responses: Responses by partition for fetched offsets
1893# partition: Topic partition id
1894# offset: Message offset to be committed
1895# metadata: Any associated metadata the client wants to keep.
1896# error_code: Response error code
1897# error_code: Response error code
1898
1899
1900OffsetFetchResponseV4 => throttle_time_ms [responses] error_code
1901 throttle_time_ms => INT32
1902 responses => topic [partition_responses]
1903 topic => STRING
1904 partition_responses => partition offset metadata error_code
1905 partition => INT32
1906 offset => INT64
1907 metadata => NULLABLE_STRING
1908 error_code => INT16
1909 error_code => INT16
1910
1911# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1912# responses: Responses by topic for fetched offsets
1913# topic: Name of topic
1914# partition_responses: Responses by partition for fetched offsets
1915# partition: Topic partition id
1916# offset: Message offset to be committed
1917# metadata: Any associated metadata the client wants to keep.
1918# error_code: Response error code
1919# error_code: Response error code
1920
1921
1922OffsetFetchResponseV5 => throttle_time_ms [responses] error_code
1923 throttle_time_ms => INT32
1924 responses => topic [partition_responses]
1925 topic => STRING
1926 partition_responses => partition offset leader_epoch metadata error_code
1927 partition => INT32
1928 offset => INT64
1929 leader_epoch => INT32
1930 metadata => NULLABLE_STRING
1931 error_code => INT16
1932 error_code => INT16
1933
1934# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1935# responses: Responses by topic for fetched offsets
1936# topic: Name of topic
1937# partition_responses: Responses by partition for fetched offsets
1938# partition: Topic partition id
1939# offset: Message offset to be committed
1940# leader_epoch: The leader epoch, if provided is derived from the last consumed record. This is used by the consumer to check for log truncation and to ensure partition metadata is up to date following a group rebalance.
1941# metadata: Any associated metadata the client wants to keep.
1942# error_code: Response error code
1943# error_code: Response error code
1944
1945
1946#ApiKey: FindCoordinator, 10
1947FindCoordinatorRequestV0 => group_id
1948 group_id => STRING
1949
1950# group_id: The unique group identifier
1951
1952
1953FindCoordinatorRequestV1 => coordinator_key coordinator_type
1954 coordinator_key => STRING
1955 coordinator_type => INT8
1956
1957# coordinator_key: Id to use for finding the coordinator (for groups, this is the groupId, for transactional producers, this is the transactional id)
1958# coordinator_type: The type of coordinator to find (0 = group, 1 = transaction)
1959
1960
1961FindCoordinatorRequestV2 => coordinator_key coordinator_type
1962 coordinator_key => STRING
1963 coordinator_type => INT8
1964
1965# coordinator_key: Id to use for finding the coordinator (for groups, this is the groupId, for transactional producers, this is the transactional id)
1966# coordinator_type: The type of coordinator to find (0 = group, 1 = transaction)
1967
1968
1969FindCoordinatorResponseV0 => error_code coordinator
1970 error_code => INT16
1971 coordinator => node_id host port
1972 node_id => INT32
1973 host => STRING
1974 port => INT32
1975
1976# error_code: Response error code
1977# coordinator: Host and port information for the coordinator for a consumer group.
1978# node_id: The broker id.
1979# host: The hostname of the broker.
1980# port: The port on which the broker accepts requests.
1981
1982
1983FindCoordinatorResponseV1 => throttle_time_ms error_code error_message coordinator
1984 throttle_time_ms => INT32
1985 error_code => INT16
1986 error_message => NULLABLE_STRING
1987 coordinator => node_id host port
1988 node_id => INT32
1989 host => STRING
1990 port => INT32
1991
1992# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
1993# error_code: Response error code
1994# error_message: Response error message
1995# coordinator: Host and port information for the coordinator
1996# node_id: The broker id.
1997# host: The hostname of the broker.
1998# port: The port on which the broker accepts requests.
1999
2000
2001FindCoordinatorResponseV2 => throttle_time_ms error_code error_message coordinator
2002 throttle_time_ms => INT32
2003 error_code => INT16
2004 error_message => NULLABLE_STRING
2005 coordinator => node_id host port
2006 node_id => INT32
2007 host => STRING
2008 port => INT32
2009
2010# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2011# error_code: Response error code
2012# error_message: Response error message
2013# coordinator: Host and port information for the coordinator
2014# node_id: The broker id.
2015# host: The hostname of the broker.
2016# port: The port on which the broker accepts requests.
2017
2018
2019#ApiKey: JoinGroup, 11
2020JoinGroupRequestV0 => group_id session_timeout member_id protocol_type [group_protocols]
2021 group_id => STRING
2022 session_timeout => INT32
2023 member_id => STRING
2024 protocol_type => STRING
2025 group_protocols => protocol_name protocol_metadata
2026 protocol_name => STRING
2027 protocol_metadata => BYTES
2028
2029# group_id: The unique group identifier
2030# session_timeout: The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.
2031# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2032# protocol_type: Unique name for class of protocols implemented by group
2033# group_protocols: List of protocols that the member supports
2034
2035
2036JoinGroupRequestV1 => group_id session_timeout rebalance_timeout member_id protocol_type [group_protocols]
2037 group_id => STRING
2038 session_timeout => INT32
2039 rebalance_timeout => INT32
2040 member_id => STRING
2041 protocol_type => STRING
2042 group_protocols => protocol_name protocol_metadata
2043 protocol_name => STRING
2044 protocol_metadata => BYTES
2045
2046# group_id: The unique group identifier
2047# session_timeout: The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.
2048# rebalance_timeout: The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group
2049# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2050# protocol_type: Unique name for class of protocols implemented by group
2051# group_protocols: List of protocols that the member supports
2052
2053
2054JoinGroupRequestV2 => group_id session_timeout rebalance_timeout member_id protocol_type [group_protocols]
2055 group_id => STRING
2056 session_timeout => INT32
2057 rebalance_timeout => INT32
2058 member_id => STRING
2059 protocol_type => STRING
2060 group_protocols => protocol_name protocol_metadata
2061 protocol_name => STRING
2062 protocol_metadata => BYTES
2063
2064# group_id: The unique group identifier
2065# session_timeout: The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.
2066# rebalance_timeout: The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group
2067# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2068# protocol_type: Unique name for class of protocols implemented by group
2069# group_protocols: List of protocols that the member supports
2070
2071
2072JoinGroupRequestV3 => group_id session_timeout rebalance_timeout member_id protocol_type [group_protocols]
2073 group_id => STRING
2074 session_timeout => INT32
2075 rebalance_timeout => INT32
2076 member_id => STRING
2077 protocol_type => STRING
2078 group_protocols => protocol_name protocol_metadata
2079 protocol_name => STRING
2080 protocol_metadata => BYTES
2081
2082# group_id: The unique group identifier
2083# session_timeout: The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.
2084# rebalance_timeout: The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group
2085# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2086# protocol_type: Unique name for class of protocols implemented by group
2087# group_protocols: List of protocols that the member supports
2088
2089
2090JoinGroupRequestV4 => group_id session_timeout rebalance_timeout member_id protocol_type [group_protocols]
2091 group_id => STRING
2092 session_timeout => INT32
2093 rebalance_timeout => INT32
2094 member_id => STRING
2095 protocol_type => STRING
2096 group_protocols => protocol_name protocol_metadata
2097 protocol_name => STRING
2098 protocol_metadata => BYTES
2099
2100# group_id: The unique group identifier
2101# session_timeout: The coordinator considers the consumer dead if it receives no heartbeat after this timeout in ms.
2102# rebalance_timeout: The maximum time that the coordinator will wait for each member to rejoin when rebalancing the group
2103# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2104# protocol_type: Unique name for class of protocols implemented by group
2105# group_protocols: List of protocols that the member supports
2106
2107
2108JoinGroupResponseV0 => error_code generation_id group_protocol leader_id member_id [members]
2109 error_code => INT16
2110 generation_id => INT32
2111 group_protocol => STRING
2112 leader_id => STRING
2113 member_id => STRING
2114 members => member_id member_metadata
2115 member_id => STRING
2116 member_metadata => BYTES
2117
2118# error_code: Response error code
2119# generation_id: The generation of the group.
2120# group_protocol: The group protocol selected by the coordinator
2121# leader_id: The leader of the group
2122# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2123# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2124
2125
2126JoinGroupResponseV1 => error_code generation_id group_protocol leader_id member_id [members]
2127 error_code => INT16
2128 generation_id => INT32
2129 group_protocol => STRING
2130 leader_id => STRING
2131 member_id => STRING
2132 members => member_id member_metadata
2133 member_id => STRING
2134 member_metadata => BYTES
2135
2136# error_code: Response error code
2137# generation_id: The generation of the group.
2138# group_protocol: The group protocol selected by the coordinator
2139# leader_id: The leader of the group
2140# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2141# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2142
2143
2144JoinGroupResponseV2 => throttle_time_ms error_code generation_id group_protocol leader_id member_id [members]
2145 throttle_time_ms => INT32
2146 error_code => INT16
2147 generation_id => INT32
2148 group_protocol => STRING
2149 leader_id => STRING
2150 member_id => STRING
2151 members => member_id member_metadata
2152 member_id => STRING
2153 member_metadata => BYTES
2154
2155# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2156# error_code: Response error code
2157# generation_id: The generation of the group.
2158# group_protocol: The group protocol selected by the coordinator
2159# leader_id: The leader of the group
2160# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2161# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2162
2163
2164JoinGroupResponseV3 => throttle_time_ms error_code generation_id group_protocol leader_id member_id [members]
2165 throttle_time_ms => INT32
2166 error_code => INT16
2167 generation_id => INT32
2168 group_protocol => STRING
2169 leader_id => STRING
2170 member_id => STRING
2171 members => member_id member_metadata
2172 member_id => STRING
2173 member_metadata => BYTES
2174
2175# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2176# error_code: Response error code
2177# generation_id: The generation of the group.
2178# group_protocol: The group protocol selected by the coordinator
2179# leader_id: The leader of the group
2180# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2181# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2182
2183
2184JoinGroupResponseV4 => throttle_time_ms error_code generation_id group_protocol leader_id member_id [members]
2185 throttle_time_ms => INT32
2186 error_code => INT16
2187 generation_id => INT32
2188 group_protocol => STRING
2189 leader_id => STRING
2190 member_id => STRING
2191 members => member_id member_metadata
2192 member_id => STRING
2193 member_metadata => BYTES
2194
2195# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2196# error_code: Response error code
2197# generation_id: The generation of the group.
2198# group_protocol: The group protocol selected by the coordinator
2199# leader_id: The leader of the group
2200# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2201# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2202
2203
2204#ApiKey: Heartbeat, 12
2205HeartbeatRequestV0 => group_id generation_id member_id
2206 group_id => STRING
2207 generation_id => INT32
2208 member_id => STRING
2209
2210# group_id: The unique group identifier
2211# generation_id: The generation of the group.
2212# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2213
2214
2215HeartbeatRequestV1 => group_id generation_id member_id
2216 group_id => STRING
2217 generation_id => INT32
2218 member_id => STRING
2219
2220# group_id: The unique group identifier
2221# generation_id: The generation of the group.
2222# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2223
2224
2225HeartbeatRequestV2 => group_id generation_id member_id
2226 group_id => STRING
2227 generation_id => INT32
2228 member_id => STRING
2229
2230# group_id: The unique group identifier
2231# generation_id: The generation of the group.
2232# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2233
2234
2235HeartbeatResponseV0 => error_code
2236 error_code => INT16
2237
2238# error_code: Response error code
2239
2240
2241HeartbeatResponseV1 => throttle_time_ms error_code
2242 throttle_time_ms => INT32
2243 error_code => INT16
2244
2245# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2246# error_code: Response error code
2247
2248
2249HeartbeatResponseV2 => throttle_time_ms error_code
2250 throttle_time_ms => INT32
2251 error_code => INT16
2252
2253# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2254# error_code: Response error code
2255
2256
2257#ApiKey: LeaveGroup, 13
2258LeaveGroupRequestV0 => group_id member_id
2259 group_id => STRING
2260 member_id => STRING
2261
2262# group_id: The ID of the group to leave.
2263# member_id: The member ID to remove from the group.
2264
2265
2266LeaveGroupRequestV1 => group_id member_id
2267 group_id => STRING
2268 member_id => STRING
2269
2270# group_id: The ID of the group to leave.
2271# member_id: The member ID to remove from the group.
2272
2273
2274LeaveGroupRequestV2 => group_id member_id
2275 group_id => STRING
2276 member_id => STRING
2277
2278# group_id: The ID of the group to leave.
2279# member_id: The member ID to remove from the group.
2280
2281
2282LeaveGroupResponseV0 => error_code
2283 error_code => INT16
2284
2285# error_code: The error code, or 0 if there was no error.
2286
2287
2288LeaveGroupResponseV1 => throttle_time_ms error_code
2289 throttle_time_ms => INT32
2290 error_code => INT16
2291
2292# throttle_time_ms: The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota.
2293# error_code: The error code, or 0 if there was no error.
2294
2295
2296LeaveGroupResponseV2 => throttle_time_ms error_code
2297 throttle_time_ms => INT32
2298 error_code => INT16
2299
2300# throttle_time_ms: The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota.
2301# error_code: The error code, or 0 if there was no error.
2302
2303
2304#ApiKey: SyncGroup, 14
2305SyncGroupRequestV0 => group_id generation_id member_id [group_assignment]
2306 group_id => STRING
2307 generation_id => INT32
2308 member_id => STRING
2309 group_assignment => member_id member_assignment
2310 member_id => STRING
2311 member_assignment => BYTES
2312
2313# group_id: The unique group identifier
2314# generation_id: The generation of the group.
2315# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2316# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2317
2318
2319SyncGroupRequestV1 => group_id generation_id member_id [group_assignment]
2320 group_id => STRING
2321 generation_id => INT32
2322 member_id => STRING
2323 group_assignment => member_id member_assignment
2324 member_id => STRING
2325 member_assignment => BYTES
2326
2327# group_id: The unique group identifier
2328# generation_id: The generation of the group.
2329# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2330# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2331
2332
2333SyncGroupRequestV2 => group_id generation_id member_id [group_assignment]
2334 group_id => STRING
2335 generation_id => INT32
2336 member_id => STRING
2337 group_assignment => member_id member_assignment
2338 member_id => STRING
2339 member_assignment => BYTES
2340
2341# group_id: The unique group identifier
2342# generation_id: The generation of the group.
2343# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2344# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2345
2346
2347SyncGroupResponseV0 => error_code member_assignment
2348 error_code => INT16
2349 member_assignment => BYTES
2350
2351# error_code: Response error code
2352
2353
2354SyncGroupResponseV1 => throttle_time_ms error_code member_assignment
2355 throttle_time_ms => INT32
2356 error_code => INT16
2357 member_assignment => BYTES
2358
2359# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2360# error_code: Response error code
2361
2362
2363SyncGroupResponseV2 => throttle_time_ms error_code member_assignment
2364 throttle_time_ms => INT32
2365 error_code => INT16
2366 member_assignment => BYTES
2367
2368# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2369# error_code: Response error code
2370
2371
2372#ApiKey: DescribeGroups, 15
2373DescribeGroupsRequestV0 => [group_ids]
2374 group_ids => STRING
2375
2376# group_ids: List of groupIds to request metadata for (an empty groupId array will return empty group metadata).
2377
2378
2379DescribeGroupsRequestV1 => [group_ids]
2380 group_ids => STRING
2381
2382# group_ids: List of groupIds to request metadata for (an empty groupId array will return empty group metadata).
2383
2384
2385DescribeGroupsRequestV2 => [group_ids]
2386 group_ids => STRING
2387
2388# group_ids: List of groupIds to request metadata for (an empty groupId array will return empty group metadata).
2389
2390
2391DescribeGroupsResponseV0 => [groups]
2392 groups => error_code group_id state protocol_type protocol [members]
2393 error_code => INT16
2394 group_id => STRING
2395 state => STRING
2396 protocol_type => STRING
2397 protocol => STRING
2398 members => member_id client_id client_host member_metadata member_assignment
2399 member_id => STRING
2400 client_id => STRING
2401 client_host => STRING
2402 member_metadata => BYTES
2403 member_assignment => BYTES
2404
2405# error_code: Response error code
2406# group_id: The unique group identifier
2407# state: The current state of the group (one of: Dead, Stable, CompletingRebalance, PreparingRebalance, or empty if there is no active group)
2408# protocol_type: The current group protocol type (will be empty if there is no active group)
2409# protocol: The current group protocol (only provided if the group is Stable)
2410# members: Current group members (only provided if the group is not Dead)
2411# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2412# client_id: The client id used in the member's latest join group request
2413# client_host: The client host used in the request session corresponding to the member's join group.
2414# member_metadata: The metadata corresponding to the current group protocol in use (will only be present if the group is stable).
2415# member_assignment: The current assignment provided by the group leader (will only be present if the group is stable).
2416
2417
2418DescribeGroupsResponseV1 => throttle_time_ms [groups]
2419 throttle_time_ms => INT32
2420 groups => error_code group_id state protocol_type protocol [members]
2421 error_code => INT16
2422 group_id => STRING
2423 state => STRING
2424 protocol_type => STRING
2425 protocol => STRING
2426 members => member_id client_id client_host member_metadata member_assignment
2427 member_id => STRING
2428 client_id => STRING
2429 client_host => STRING
2430 member_metadata => BYTES
2431 member_assignment => BYTES
2432
2433# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2434# error_code: Response error code
2435# group_id: The unique group identifier
2436# state: The current state of the group (one of: Dead, Stable, CompletingRebalance, PreparingRebalance, or empty if there is no active group)
2437# protocol_type: The current group protocol type (will be empty if there is no active group)
2438# protocol: The current group protocol (only provided if the group is Stable)
2439# members: Current group members (only provided if the group is not Dead)
2440# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2441# client_id: The client id used in the member's latest join group request
2442# client_host: The client host used in the request session corresponding to the member's join group.
2443# member_metadata: The metadata corresponding to the current group protocol in use (will only be present if the group is stable).
2444# member_assignment: The current assignment provided by the group leader (will only be present if the group is stable).
2445
2446
2447DescribeGroupsResponseV2 => throttle_time_ms [groups]
2448 throttle_time_ms => INT32
2449 groups => error_code group_id state protocol_type protocol [members]
2450 error_code => INT16
2451 group_id => STRING
2452 state => STRING
2453 protocol_type => STRING
2454 protocol => STRING
2455 members => member_id client_id client_host member_metadata member_assignment
2456 member_id => STRING
2457 client_id => STRING
2458 client_host => STRING
2459 member_metadata => BYTES
2460 member_assignment => BYTES
2461
2462# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2463# error_code: Response error code
2464# group_id: The unique group identifier
2465# state: The current state of the group (one of: Dead, Stable, CompletingRebalance, PreparingRebalance, or empty if there is no active group)
2466# protocol_type: The current group protocol type (will be empty if there is no active group)
2467# protocol: The current group protocol (only provided if the group is Stable)
2468# members: Current group members (only provided if the group is not Dead)
2469# member_id: The member id assigned by the group coordinator or null if joining for the first time.
2470# client_id: The client id used in the member's latest join group request
2471# client_host: The client host used in the request session corresponding to the member's join group.
2472# member_metadata: The metadata corresponding to the current group protocol in use (will only be present if the group is stable).
2473# member_assignment: The current assignment provided by the group leader (will only be present if the group is stable).
2474
2475
2476#ApiKey: ListGroups, 16
2477ListGroupsRequestV0 =>
2478
2479
2480
2481ListGroupsRequestV1 =>
2482
2483
2484
2485ListGroupsRequestV2 =>
2486
2487
2488
2489ListGroupsResponseV0 => error_code [groups]
2490 error_code => INT16
2491 groups => group_id protocol_type
2492 group_id => STRING
2493 protocol_type => STRING
2494
2495# error_code: Response error code
2496# group_id: The unique group identifier
2497
2498
2499ListGroupsResponseV1 => throttle_time_ms error_code [groups]
2500 throttle_time_ms => INT32
2501 error_code => INT16
2502 groups => group_id protocol_type
2503 group_id => STRING
2504 protocol_type => STRING
2505
2506# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2507# error_code: Response error code
2508# group_id: The unique group identifier
2509
2510
2511ListGroupsResponseV2 => throttle_time_ms error_code [groups]
2512 throttle_time_ms => INT32
2513 error_code => INT16
2514 groups => group_id protocol_type
2515 group_id => STRING
2516 protocol_type => STRING
2517
2518# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2519# error_code: Response error code
2520# group_id: The unique group identifier
2521
2522
2523#ApiKey: SaslHandshake, 17
2524SaslHandshakeRequestV0 => mechanism
2525 mechanism => STRING
2526
2527# mechanism: SASL Mechanism chosen by the client.
2528
2529
2530SaslHandshakeRequestV1 => mechanism
2531 mechanism => STRING
2532
2533# mechanism: SASL Mechanism chosen by the client.
2534
2535
2536SaslHandshakeResponseV0 => error_code [enabled_mechanisms]
2537 error_code => INT16
2538 enabled_mechanisms => STRING
2539
2540# error_code: Response error code
2541# enabled_mechanisms: Array of mechanisms enabled in the server.
2542
2543
2544SaslHandshakeResponseV1 => error_code [enabled_mechanisms]
2545 error_code => INT16
2546 enabled_mechanisms => STRING
2547
2548# error_code: Response error code
2549# enabled_mechanisms: Array of mechanisms enabled in the server.
2550
2551
2552#ApiKey: ApiVersions, 18
2553ApiVersionsRequestV0 =>
2554
2555
2556
2557ApiVersionsRequestV1 =>
2558
2559
2560
2561ApiVersionsRequestV2 =>
2562
2563
2564
2565ApiVersionsResponseV0 => error_code [api_versions]
2566 error_code => INT16
2567 api_versions => api_key min_version max_version
2568 api_key => INT16
2569 min_version => INT16
2570 max_version => INT16
2571
2572# error_code: Response error code
2573# api_versions: API versions supported by the broker.
2574# api_key: API key.
2575# min_version: Minimum supported version.
2576# max_version: Maximum supported version.
2577
2578
2579ApiVersionsResponseV1 => error_code [api_versions] throttle_time_ms
2580 error_code => INT16
2581 api_versions => api_key min_version max_version
2582 api_key => INT16
2583 min_version => INT16
2584 max_version => INT16
2585 throttle_time_ms => INT32
2586
2587# error_code: Response error code
2588# api_versions: API versions supported by the broker.
2589# api_key: API key.
2590# min_version: Minimum supported version.
2591# max_version: Maximum supported version.
2592# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2593
2594
2595ApiVersionsResponseV2 => error_code [api_versions] throttle_time_ms
2596 error_code => INT16
2597 api_versions => api_key min_version max_version
2598 api_key => INT16
2599 min_version => INT16
2600 max_version => INT16
2601 throttle_time_ms => INT32
2602
2603# error_code: Response error code
2604# api_versions: API versions supported by the broker.
2605# api_key: API key.
2606# min_version: Minimum supported version.
2607# max_version: Maximum supported version.
2608# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2609
2610
2611#ApiKey: CreateTopics, 19
2612CreateTopicsRequestV0 => [create_topic_requests] timeout
2613 create_topic_requests => topic num_partitions replication_factor [replica_assignment] [config_entries]
2614 topic => STRING
2615 num_partitions => INT32
2616 replication_factor => INT16
2617 replica_assignment => partition [replicas]
2618 partition => INT32
2619 replicas => INT32
2620 config_entries => config_name config_value
2621 config_name => STRING
2622 config_value => NULLABLE_STRING
2623 timeout => INT32
2624
2625# create_topic_requests: An array of single topic creation requests. Can not have multiple entries for the same topic.
2626# topic: Name of topic
2627# num_partitions: Number of partitions to be created. -1 indicates unset.
2628# replication_factor: Replication factor for the topic. -1 indicates unset.
2629# replica_assignment: Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset.
2630# partition: Topic partition id
2631# replicas: The set of all nodes that should host this partition. The first replica in the list is the preferred leader.
2632# config_entries: Topic level configuration for topic to be set.
2633# config_name: Configuration name
2634# config_value: Configuration value
2635# timeout: The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately
2636
2637
2638CreateTopicsRequestV1 => [create_topic_requests] timeout validate_only
2639 create_topic_requests => topic num_partitions replication_factor [replica_assignment] [config_entries]
2640 topic => STRING
2641 num_partitions => INT32
2642 replication_factor => INT16
2643 replica_assignment => partition [replicas]
2644 partition => INT32
2645 replicas => INT32
2646 config_entries => config_name config_value
2647 config_name => STRING
2648 config_value => NULLABLE_STRING
2649 timeout => INT32
2650 validate_only => BOOLEAN
2651
2652# create_topic_requests: An array of single topic creation requests. Can not have multiple entries for the same topic.
2653# topic: Name of topic
2654# num_partitions: Number of partitions to be created. -1 indicates unset.
2655# replication_factor: Replication factor for the topic. -1 indicates unset.
2656# replica_assignment: Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset.
2657# partition: Topic partition id
2658# replicas: The set of all nodes that should host this partition. The first replica in the list is the preferred leader.
2659# config_entries: Topic level configuration for topic to be set.
2660# config_name: Configuration name
2661# config_value: Configuration value
2662# timeout: The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately
2663# validate_only: If this is true, the request will be validated, but the topic won't be created.
2664
2665
2666CreateTopicsRequestV2 => [create_topic_requests] timeout validate_only
2667 create_topic_requests => topic num_partitions replication_factor [replica_assignment] [config_entries]
2668 topic => STRING
2669 num_partitions => INT32
2670 replication_factor => INT16
2671 replica_assignment => partition [replicas]
2672 partition => INT32
2673 replicas => INT32
2674 config_entries => config_name config_value
2675 config_name => STRING
2676 config_value => NULLABLE_STRING
2677 timeout => INT32
2678 validate_only => BOOLEAN
2679
2680# create_topic_requests: An array of single topic creation requests. Can not have multiple entries for the same topic.
2681# topic: Name of topic
2682# num_partitions: Number of partitions to be created. -1 indicates unset.
2683# replication_factor: Replication factor for the topic. -1 indicates unset.
2684# replica_assignment: Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset.
2685# partition: Topic partition id
2686# replicas: The set of all nodes that should host this partition. The first replica in the list is the preferred leader.
2687# config_entries: Topic level configuration for topic to be set.
2688# config_name: Configuration name
2689# config_value: Configuration value
2690# timeout: The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately
2691# validate_only: If this is true, the request will be validated, but the topic won't be created.
2692
2693
2694CreateTopicsRequestV3 => [create_topic_requests] timeout validate_only
2695 create_topic_requests => topic num_partitions replication_factor [replica_assignment] [config_entries]
2696 topic => STRING
2697 num_partitions => INT32
2698 replication_factor => INT16
2699 replica_assignment => partition [replicas]
2700 partition => INT32
2701 replicas => INT32
2702 config_entries => config_name config_value
2703 config_name => STRING
2704 config_value => NULLABLE_STRING
2705 timeout => INT32
2706 validate_only => BOOLEAN
2707
2708# create_topic_requests: An array of single topic creation requests. Can not have multiple entries for the same topic.
2709# topic: Name of topic
2710# num_partitions: Number of partitions to be created. -1 indicates unset.
2711# replication_factor: Replication factor for the topic. -1 indicates unset.
2712# replica_assignment: Replica assignment among kafka brokers for this topic partitions. If this is set num_partitions and replication_factor must be unset.
2713# partition: Topic partition id
2714# replicas: The set of all nodes that should host this partition. The first replica in the list is the preferred leader.
2715# config_entries: Topic level configuration for topic to be set.
2716# config_name: Configuration name
2717# config_value: Configuration value
2718# timeout: The time in ms to wait for a topic to be completely created on the controller node. Values <= 0 will trigger topic creation and return immediately
2719# validate_only: If this is true, the request will be validated, but the topic won't be created.
2720
2721
2722CreateTopicsResponseV0 => [topic_errors]
2723 topic_errors => topic error_code
2724 topic => STRING
2725 error_code => INT16
2726
2727# topic_errors: An array of per topic error codes.
2728# topic: Name of topic
2729# error_code: Response error code
2730
2731
2732CreateTopicsResponseV1 => [topic_errors]
2733 topic_errors => topic error_code error_message
2734 topic => STRING
2735 error_code => INT16
2736 error_message => NULLABLE_STRING
2737
2738# topic_errors: An array of per topic errors.
2739# topic: Name of topic
2740# error_code: Response error code
2741# error_message: Response error message
2742
2743
2744CreateTopicsResponseV2 => throttle_time_ms [topic_errors]
2745 throttle_time_ms => INT32
2746 topic_errors => topic error_code error_message
2747 topic => STRING
2748 error_code => INT16
2749 error_message => NULLABLE_STRING
2750
2751# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2752# topic_errors: An array of per topic errors.
2753# topic: Name of topic
2754# error_code: Response error code
2755# error_message: Response error message
2756
2757
2758CreateTopicsResponseV3 => throttle_time_ms [topic_errors]
2759 throttle_time_ms => INT32
2760 topic_errors => topic error_code error_message
2761 topic => STRING
2762 error_code => INT16
2763 error_message => NULLABLE_STRING
2764
2765# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2766# topic_errors: An array of per topic errors.
2767# topic: Name of topic
2768# error_code: Response error code
2769# error_message: Response error message
2770
2771
2772#ApiKey: DeleteTopics, 20
2773DeleteTopicsRequestV0 => [topics] timeout
2774 topics => STRING
2775 timeout => INT32
2776
2777# topics: An array of topics to be deleted.
2778# timeout: The time in ms to wait for a topic to be completely deleted on the controller node. Values <= 0 will trigger topic deletion and return immediately
2779
2780
2781DeleteTopicsRequestV1 => [topics] timeout
2782 topics => STRING
2783 timeout => INT32
2784
2785# topics: An array of topics to be deleted.
2786# timeout: The time in ms to wait for a topic to be completely deleted on the controller node. Values <= 0 will trigger topic deletion and return immediately
2787
2788
2789DeleteTopicsRequestV2 => [topics] timeout
2790 topics => STRING
2791 timeout => INT32
2792
2793# topics: An array of topics to be deleted.
2794# timeout: The time in ms to wait for a topic to be completely deleted on the controller node. Values <= 0 will trigger topic deletion and return immediately
2795
2796
2797DeleteTopicsRequestV3 => [topics] timeout
2798 topics => STRING
2799 timeout => INT32
2800
2801# topics: An array of topics to be deleted.
2802# timeout: The time in ms to wait for a topic to be completely deleted on the controller node. Values <= 0 will trigger topic deletion and return immediately
2803
2804
2805DeleteTopicsResponseV0 => [topic_error_codes]
2806 topic_error_codes => topic error_code
2807 topic => STRING
2808 error_code => INT16
2809
2810# topic_error_codes: An array of per topic error codes.
2811# topic: Name of topic
2812# error_code: Response error code
2813
2814
2815DeleteTopicsResponseV1 => throttle_time_ms [topic_error_codes]
2816 throttle_time_ms => INT32
2817 topic_error_codes => topic error_code
2818 topic => STRING
2819 error_code => INT16
2820
2821# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2822# topic_error_codes: An array of per topic error codes.
2823# topic: Name of topic
2824# error_code: Response error code
2825
2826
2827DeleteTopicsResponseV2 => throttle_time_ms [topic_error_codes]
2828 throttle_time_ms => INT32
2829 topic_error_codes => topic error_code
2830 topic => STRING
2831 error_code => INT16
2832
2833# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2834# topic_error_codes: An array of per topic error codes.
2835# topic: Name of topic
2836# error_code: Response error code
2837
2838
2839DeleteTopicsResponseV3 => throttle_time_ms [topic_error_codes]
2840 throttle_time_ms => INT32
2841 topic_error_codes => topic error_code
2842 topic => STRING
2843 error_code => INT16
2844
2845# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2846# topic_error_codes: An array of per topic error codes.
2847# topic: Name of topic
2848# error_code: Response error code
2849
2850
2851#ApiKey: DeleteRecords, 21
2852DeleteRecordsRequestV0 => [topics] timeout
2853 topics => topic [partitions]
2854 topic => STRING
2855 partitions => partition offset
2856 partition => INT32
2857 offset => INT64
2858 timeout => INT32
2859
2860# topic: Name of topic
2861# partition: Topic partition id
2862# offset: The offset before which the messages will be deleted. -1 means high-watermark for the partition.
2863# timeout: The maximum time to await a response in ms.
2864
2865
2866DeleteRecordsRequestV1 => [topics] timeout
2867 topics => topic [partitions]
2868 topic => STRING
2869 partitions => partition offset
2870 partition => INT32
2871 offset => INT64
2872 timeout => INT32
2873
2874# topic: Name of topic
2875# partition: Topic partition id
2876# offset: The offset before which the messages will be deleted. -1 means high-watermark for the partition.
2877# timeout: The maximum time to await a response in ms.
2878
2879
2880DeleteRecordsResponseV0 => throttle_time_ms [topics]
2881 throttle_time_ms => INT32
2882 topics => topic [partitions]
2883 topic => STRING
2884 partitions => partition low_watermark error_code
2885 partition => INT32
2886 low_watermark => INT64
2887 error_code => INT16
2888
2889# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2890# topic: Name of topic
2891# partition: Topic partition id
2892# low_watermark: Smallest available offset of all live replicas
2893# error_code: Response error code
2894
2895
2896DeleteRecordsResponseV1 => throttle_time_ms [topics]
2897 throttle_time_ms => INT32
2898 topics => topic [partitions]
2899 topic => STRING
2900 partitions => partition low_watermark error_code
2901 partition => INT32
2902 low_watermark => INT64
2903 error_code => INT16
2904
2905# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2906# topic: Name of topic
2907# partition: Topic partition id
2908# low_watermark: Smallest available offset of all live replicas
2909# error_code: Response error code
2910
2911
2912#ApiKey: InitProducerId, 22
2913InitProducerIdRequestV0 => transactional_id transaction_timeout_ms
2914 transactional_id => NULLABLE_STRING
2915 transaction_timeout_ms => INT32
2916
2917# transactional_id: The transactional id or null if the producer is not transactional
2918# transaction_timeout_ms: The time in ms to wait for before aborting idle transactions sent by this producer.
2919
2920
2921InitProducerIdRequestV1 => transactional_id transaction_timeout_ms
2922 transactional_id => NULLABLE_STRING
2923 transaction_timeout_ms => INT32
2924
2925# transactional_id: The transactional id or null if the producer is not transactional
2926# transaction_timeout_ms: The time in ms to wait for before aborting idle transactions sent by this producer.
2927
2928
2929InitProducerIdResponseV0 => throttle_time_ms error_code producer_id producer_epoch
2930 throttle_time_ms => INT32
2931 error_code => INT16
2932 producer_id => INT64
2933 producer_epoch => INT16
2934
2935# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2936# error_code: Response error code
2937# producer_id: Current producer id in use by the transactional id.
2938# producer_epoch: Current epoch associated with the producer id.
2939
2940
2941InitProducerIdResponseV1 => throttle_time_ms error_code producer_id producer_epoch
2942 throttle_time_ms => INT32
2943 error_code => INT16
2944 producer_id => INT64
2945 producer_epoch => INT16
2946
2947# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
2948# error_code: Response error code
2949# producer_id: Current producer id in use by the transactional id.
2950# producer_epoch: Current epoch associated with the producer id.
2951
2952
2953#ApiKey: OffsetForLeaderEpoch, 23
2954OffsetForLeaderEpochRequestV0 => [topics]
2955 topics => topic [partitions]
2956 topic => STRING
2957 partitions => partition leader_epoch
2958 partition => INT32
2959 leader_epoch => INT32
2960
2961# topics: An array of topics to get epochs for
2962# topic: Name of topic
2963# partitions: An array of partitions to get epochs for
2964# partition: Topic partition id
2965# leader_epoch: The epoch to lookup an offset for.
2966
2967
2968OffsetForLeaderEpochRequestV1 => [topics]
2969 topics => topic [partitions]
2970 topic => STRING
2971 partitions => partition leader_epoch
2972 partition => INT32
2973 leader_epoch => INT32
2974
2975# topics: An array of topics to get epochs for
2976# topic: Name of topic
2977# partitions: An array of partitions to get epochs for
2978# partition: Topic partition id
2979# leader_epoch: The epoch to lookup an offset for.
2980
2981
2982OffsetForLeaderEpochRequestV2 => [topics]
2983 topics => topic [partitions]
2984 topic => STRING
2985 partitions => partition current_leader_epoch leader_epoch
2986 partition => INT32
2987 current_leader_epoch => INT32
2988 leader_epoch => INT32
2989
2990# topics: An array of topics to get epochs for
2991# topic: Name of topic
2992# partitions: An array of partitions to get epochs for
2993# partition: Topic partition id
2994# current_leader_epoch: The current leader epoch, if provided, is used to fence consumers/replicas with old metadata. If the epoch provided by the client is larger than the current epoch known to the broker, then the UNKNOWN_LEADER_EPOCH error code will be returned. If the provided epoch is smaller, then the FENCED_LEADER_EPOCH error code will be returned.
2995# leader_epoch: The epoch to lookup an offset for.
2996
2997
2998OffsetForLeaderEpochResponseV0 => [topics]
2999 topics => topic [partitions]
3000 topic => STRING
3001 partitions => error_code partition end_offset
3002 error_code => INT16
3003 partition => INT32
3004 end_offset => INT64
3005
3006# topics: An array of topics for which we have leader offsets for some requested partition leader epoch
3007# topic: Name of topic
3008# partitions: An array of offsets by partition
3009# error_code: Response error code
3010# partition: Topic partition id
3011# end_offset: The end offset
3012
3013
3014OffsetForLeaderEpochResponseV1 => [topics]
3015 topics => topic [partitions]
3016 topic => STRING
3017 partitions => error_code partition leader_epoch end_offset
3018 error_code => INT16
3019 partition => INT32
3020 leader_epoch => INT32
3021 end_offset => INT64
3022
3023# topics: An array of topics for which we have leader offsets for some requested partition leader epoch
3024# topic: Name of topic
3025# partitions: An array of offsets by partition
3026# error_code: Response error code
3027# partition: Topic partition id
3028# leader_epoch: The leader epoch
3029# end_offset: The end offset
3030
3031
3032OffsetForLeaderEpochResponseV2 => throttle_time_ms [topics]
3033 throttle_time_ms => INT32
3034 topics => topic [partitions]
3035 topic => STRING
3036 partitions => error_code partition leader_epoch end_offset
3037 error_code => INT16
3038 partition => INT32
3039 leader_epoch => INT32
3040 end_offset => INT64
3041
3042# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3043# topics: An array of topics for which we have leader offsets for some requested partition leader epoch
3044# topic: Name of topic
3045# partitions: An array of offsets by partition
3046# error_code: Response error code
3047# partition: Topic partition id
3048# leader_epoch: The leader epoch
3049# end_offset: The end offset
3050
3051
3052#ApiKey: AddPartitionsToTxn, 24
3053AddPartitionsToTxnRequestV0 => transactional_id producer_id producer_epoch [topics]
3054 transactional_id => STRING
3055 producer_id => INT64
3056 producer_epoch => INT16
3057 topics => topic [partitions]
3058 topic => STRING
3059 partitions => INT32
3060
3061# transactional_id: The transactional id corresponding to the transaction.
3062# producer_id: Current producer id in use by the transactional id.
3063# producer_epoch: Current epoch associated with the producer id.
3064# topics: The partitions to add to the transaction.
3065# topic: Name of topic
3066
3067
3068AddPartitionsToTxnRequestV1 => transactional_id producer_id producer_epoch [topics]
3069 transactional_id => STRING
3070 producer_id => INT64
3071 producer_epoch => INT16
3072 topics => topic [partitions]
3073 topic => STRING
3074 partitions => INT32
3075
3076# transactional_id: The transactional id corresponding to the transaction.
3077# producer_id: Current producer id in use by the transactional id.
3078# producer_epoch: Current epoch associated with the producer id.
3079# topics: The partitions to add to the transaction.
3080# topic: Name of topic
3081
3082
3083AddPartitionsToTxnResponseV0 => throttle_time_ms [errors]
3084 throttle_time_ms => INT32
3085 errors => topic [partition_errors]
3086 topic => STRING
3087 partition_errors => partition error_code
3088 partition => INT32
3089 error_code => INT16
3090
3091# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3092# topic: Name of topic
3093# partition: Topic partition id
3094# error_code: Response error code
3095
3096
3097AddPartitionsToTxnResponseV1 => throttle_time_ms [errors]
3098 throttle_time_ms => INT32
3099 errors => topic [partition_errors]
3100 topic => STRING
3101 partition_errors => partition error_code
3102 partition => INT32
3103 error_code => INT16
3104
3105# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3106# topic: Name of topic
3107# partition: Topic partition id
3108# error_code: Response error code
3109
3110
3111#ApiKey: AddOffsetsToTxn, 25
3112AddOffsetsToTxnRequestV0 => transactional_id producer_id producer_epoch group_id
3113 transactional_id => STRING
3114 producer_id => INT64
3115 producer_epoch => INT16
3116 group_id => STRING
3117
3118# transactional_id: The transactional id corresponding to the transaction.
3119# producer_id: Current producer id in use by the transactional id.
3120# producer_epoch: Current epoch associated with the producer id.
3121# group_id: The unique group identifier
3122
3123
3124AddOffsetsToTxnRequestV1 => transactional_id producer_id producer_epoch group_id
3125 transactional_id => STRING
3126 producer_id => INT64
3127 producer_epoch => INT16
3128 group_id => STRING
3129
3130# transactional_id: The transactional id corresponding to the transaction.
3131# producer_id: Current producer id in use by the transactional id.
3132# producer_epoch: Current epoch associated with the producer id.
3133# group_id: The unique group identifier
3134
3135
3136AddOffsetsToTxnResponseV0 => throttle_time_ms error_code
3137 throttle_time_ms => INT32
3138 error_code => INT16
3139
3140# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3141# error_code: Response error code
3142
3143
3144AddOffsetsToTxnResponseV1 => throttle_time_ms error_code
3145 throttle_time_ms => INT32
3146 error_code => INT16
3147
3148# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3149# error_code: Response error code
3150
3151
3152#ApiKey: EndTxn, 26
3153EndTxnRequestV0 => transactional_id producer_id producer_epoch transaction_result
3154 transactional_id => STRING
3155 producer_id => INT64
3156 producer_epoch => INT16
3157 transaction_result => BOOLEAN
3158
3159# transactional_id: The transactional id corresponding to the transaction.
3160# producer_id: Current producer id in use by the transactional id.
3161# producer_epoch: Current epoch associated with the producer id.
3162# transaction_result: The result of the transaction (0 = ABORT, 1 = COMMIT)
3163
3164
3165EndTxnRequestV1 => transactional_id producer_id producer_epoch transaction_result
3166 transactional_id => STRING
3167 producer_id => INT64
3168 producer_epoch => INT16
3169 transaction_result => BOOLEAN
3170
3171# transactional_id: The transactional id corresponding to the transaction.
3172# producer_id: Current producer id in use by the transactional id.
3173# producer_epoch: Current epoch associated with the producer id.
3174# transaction_result: The result of the transaction (0 = ABORT, 1 = COMMIT)
3175
3176
3177EndTxnResponseV0 => throttle_time_ms error_code
3178 throttle_time_ms => INT32
3179 error_code => INT16
3180
3181# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3182# error_code: Response error code
3183
3184
3185EndTxnResponseV1 => throttle_time_ms error_code
3186 throttle_time_ms => INT32
3187 error_code => INT16
3188
3189# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3190# error_code: Response error code
3191
3192
3193#ApiKey: TxnOffsetCommit, 28
3194TxnOffsetCommitRequestV0 => transactional_id group_id producer_id producer_epoch [topics]
3195 transactional_id => STRING
3196 group_id => STRING
3197 producer_id => INT64
3198 producer_epoch => INT16
3199 topics => topic [partitions]
3200 topic => STRING
3201 partitions => partition offset metadata
3202 partition => INT32
3203 offset => INT64
3204 metadata => NULLABLE_STRING
3205
3206# transactional_id: The transactional id corresponding to the transaction.
3207# group_id: The unique group identifier
3208# producer_id: Current producer id in use by the transactional id.
3209# producer_epoch: Current epoch associated with the producer id.
3210# topics: Topics to commit offsets
3211# topic: Name of topic
3212# partitions: Partitions to commit offsets
3213# partition: Topic partition id
3214# offset: Message offset to be committed
3215# metadata: Any associated metadata the client wants to keep.
3216
3217
3218TxnOffsetCommitRequestV1 => transactional_id group_id producer_id producer_epoch [topics]
3219 transactional_id => STRING
3220 group_id => STRING
3221 producer_id => INT64
3222 producer_epoch => INT16
3223 topics => topic [partitions]
3224 topic => STRING
3225 partitions => partition offset metadata
3226 partition => INT32
3227 offset => INT64
3228 metadata => NULLABLE_STRING
3229
3230# transactional_id: The transactional id corresponding to the transaction.
3231# group_id: The unique group identifier
3232# producer_id: Current producer id in use by the transactional id.
3233# producer_epoch: Current epoch associated with the producer id.
3234# topics: Topics to commit offsets
3235# topic: Name of topic
3236# partitions: Partitions to commit offsets
3237# partition: Topic partition id
3238# offset: Message offset to be committed
3239# metadata: Any associated metadata the client wants to keep.
3240
3241
3242TxnOffsetCommitRequestV2 => transactional_id group_id producer_id producer_epoch [topics]
3243 transactional_id => STRING
3244 group_id => STRING
3245 producer_id => INT64
3246 producer_epoch => INT16
3247 topics => topic [partitions]
3248 topic => STRING
3249 partitions => partition offset leader_epoch metadata
3250 partition => INT32
3251 offset => INT64
3252 leader_epoch => INT32
3253 metadata => NULLABLE_STRING
3254
3255# transactional_id: The transactional id corresponding to the transaction.
3256# group_id: The unique group identifier
3257# producer_id: Current producer id in use by the transactional id.
3258# producer_epoch: Current epoch associated with the producer id.
3259# topics: Topics to commit offsets
3260# topic: Name of topic
3261# partitions: Partitions to commit offsets
3262# partition: Topic partition id
3263# offset: Message offset to be committed
3264# leader_epoch: The leader epoch, if provided is derived from the last consumed record. This is used by the consumer to check for log truncation and to ensure partition metadata is up to date following a group rebalance.
3265# metadata: Any associated metadata the client wants to keep.
3266
3267
3268TxnOffsetCommitResponseV0 => throttle_time_ms [topics]
3269 throttle_time_ms => INT32
3270 topics => topic [partitions]
3271 topic => STRING
3272 partitions => partition error_code
3273 partition => INT32
3274 error_code => INT16
3275
3276# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3277# topics: Responses by topic for committed offsets
3278# topic: Name of topic
3279# partitions: Responses by partition for committed offsets
3280# partition: Topic partition id
3281# error_code: Response error code
3282
3283
3284TxnOffsetCommitResponseV1 => throttle_time_ms [topics]
3285 throttle_time_ms => INT32
3286 topics => topic [partitions]
3287 topic => STRING
3288 partitions => partition error_code
3289 partition => INT32
3290 error_code => INT16
3291
3292# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3293# topics: Responses by topic for committed offsets
3294# topic: Name of topic
3295# partitions: Responses by partition for committed offsets
3296# partition: Topic partition id
3297# error_code: Response error code
3298
3299
3300TxnOffsetCommitResponseV2 => throttle_time_ms [topics]
3301 throttle_time_ms => INT32
3302 topics => topic [partitions]
3303 topic => STRING
3304 partitions => partition error_code
3305 partition => INT32
3306 error_code => INT16
3307
3308# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3309# topics: Responses by topic for committed offsets
3310# topic: Name of topic
3311# partitions: Responses by partition for committed offsets
3312# partition: Topic partition id
3313# error_code: Response error code
3314
3315
3316#ApiKey: DescribeAcls, 29
3317DescribeAclsRequestV0 => resource_type resource_name principal host operation permission_type
3318 resource_type => INT8
3319 resource_name => NULLABLE_STRING
3320 principal => NULLABLE_STRING
3321 host => NULLABLE_STRING
3322 operation => INT8
3323 permission_type => INT8
3324
3325# resource_type: The resource type
3326# resource_name: The resource name filter
3327# principal: The ACL principal filter
3328# host: The ACL host filter
3329# operation: The ACL operation
3330# permission_type: The ACL permission type
3331
3332
3333DescribeAclsRequestV1 => resource_type resource_name resource_pattern_type_filter principal host operation permission_type
3334 resource_type => INT8
3335 resource_name => NULLABLE_STRING
3336 resource_pattern_type_filter => INT8
3337 principal => NULLABLE_STRING
3338 host => NULLABLE_STRING
3339 operation => INT8
3340 permission_type => INT8
3341
3342# resource_type: The resource type
3343# resource_name: The resource name filter
3344# resource_pattern_type_filter: The resource pattern type filter
3345# principal: The ACL principal filter
3346# host: The ACL host filter
3347# operation: The ACL operation
3348# permission_type: The ACL permission type
3349
3350
3351DescribeAclsResponseV0 => throttle_time_ms error_code error_message [resources]
3352 throttle_time_ms => INT32
3353 error_code => INT16
3354 error_message => NULLABLE_STRING
3355 resources => resource_type resource_name [acls]
3356 resource_type => INT8
3357 resource_name => STRING
3358 acls => principal host operation permission_type
3359 principal => STRING
3360 host => STRING
3361 operation => INT8
3362 permission_type => INT8
3363
3364# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3365# error_code: Response error code
3366# error_message: Response error message
3367# resources: The resources and their associated ACLs.
3368# resource_type: The resource type
3369# resource_name: The resource name
3370# principal: The ACL principal
3371# host: The ACL host
3372# operation: The ACL operation
3373# permission_type: The ACL permission type
3374
3375
3376DescribeAclsResponseV1 => throttle_time_ms error_code error_message [resources]
3377 throttle_time_ms => INT32
3378 error_code => INT16
3379 error_message => NULLABLE_STRING
3380 resources => resource_type resource_name resource_pattten_type [acls]
3381 resource_type => INT8
3382 resource_name => STRING
3383 resource_pattten_type => INT8
3384 acls => principal host operation permission_type
3385 principal => STRING
3386 host => STRING
3387 operation => INT8
3388 permission_type => INT8
3389
3390# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3391# error_code: Response error code
3392# error_message: Response error message
3393# resources: The resources and their associated ACLs.
3394# resource_type: The resource type
3395# resource_name: The resource name
3396# resource_pattten_type: The resource pattern type
3397# principal: The ACL principal
3398# host: The ACL host
3399# operation: The ACL operation
3400# permission_type: The ACL permission type
3401
3402
3403#ApiKey: CreateAcls, 30
3404CreateAclsRequestV0 => [creations]
3405 creations => resource_type resource_name principal host operation permission_type
3406 resource_type => INT8
3407 resource_name => STRING
3408 principal => STRING
3409 host => STRING
3410 operation => INT8
3411 permission_type => INT8
3412
3413# resource_type: The resource type
3414# resource_name: The resource name
3415# principal: The ACL principal
3416# host: The ACL host
3417# operation: The ACL operation
3418# permission_type: The ACL permission type
3419
3420
3421CreateAclsRequestV1 => [creations]
3422 creations => resource_type resource_name resource_pattten_type principal host operation permission_type
3423 resource_type => INT8
3424 resource_name => STRING
3425 resource_pattten_type => INT8
3426 principal => STRING
3427 host => STRING
3428 operation => INT8
3429 permission_type => INT8
3430
3431# resource_type: The resource type
3432# resource_name: The resource name
3433# resource_pattten_type: The resource pattern type
3434# principal: The ACL principal
3435# host: The ACL host
3436# operation: The ACL operation
3437# permission_type: The ACL permission type
3438
3439
3440CreateAclsResponseV0 => throttle_time_ms [creation_responses]
3441 throttle_time_ms => INT32
3442 creation_responses => error_code error_message
3443 error_code => INT16
3444 error_message => NULLABLE_STRING
3445
3446# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3447# error_code: Response error code
3448# error_message: Response error message
3449
3450
3451CreateAclsResponseV1 => throttle_time_ms [creation_responses]
3452 throttle_time_ms => INT32
3453 creation_responses => error_code error_message
3454 error_code => INT16
3455 error_message => NULLABLE_STRING
3456
3457# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3458# error_code: Response error code
3459# error_message: Response error message
3460
3461
3462#ApiKey: DeleteAcls, 31
3463DeleteAclsRequestV0 => [filters]
3464 filters => resource_type resource_name principal host operation permission_type
3465 resource_type => INT8
3466 resource_name => NULLABLE_STRING
3467 principal => NULLABLE_STRING
3468 host => NULLABLE_STRING
3469 operation => INT8
3470 permission_type => INT8
3471
3472# resource_type: The resource type
3473# resource_name: The resource name filter
3474# principal: The ACL principal filter
3475# host: The ACL host filter
3476# operation: The ACL operation
3477# permission_type: The ACL permission type
3478
3479
3480DeleteAclsRequestV1 => [filters]
3481 filters => resource_type resource_name resource_pattern_type_filter principal host operation permission_type
3482 resource_type => INT8
3483 resource_name => NULLABLE_STRING
3484 resource_pattern_type_filter => INT8
3485 principal => NULLABLE_STRING
3486 host => NULLABLE_STRING
3487 operation => INT8
3488 permission_type => INT8
3489
3490# resource_type: The resource type
3491# resource_name: The resource name filter
3492# resource_pattern_type_filter: The resource pattern type filter
3493# principal: The ACL principal filter
3494# host: The ACL host filter
3495# operation: The ACL operation
3496# permission_type: The ACL permission type
3497
3498
3499DeleteAclsResponseV0 => throttle_time_ms [filter_responses]
3500 throttle_time_ms => INT32
3501 filter_responses => error_code error_message [matching_acls]
3502 error_code => INT16
3503 error_message => NULLABLE_STRING
3504 matching_acls => error_code error_message resource_type resource_name principal host operation permission_type
3505 error_code => INT16
3506 error_message => NULLABLE_STRING
3507 resource_type => INT8
3508 resource_name => STRING
3509 principal => STRING
3510 host => STRING
3511 operation => INT8
3512 permission_type => INT8
3513
3514# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3515# error_code: Response error code
3516# error_message: Response error message
3517# matching_acls: The matching ACLs
3518# error_code: Response error code
3519# error_message: Response error message
3520# resource_type: The resource type
3521# resource_name: The resource name
3522# principal: The ACL principal
3523# host: The ACL host
3524# operation: The ACL operation
3525# permission_type: The ACL permission type
3526
3527
3528DeleteAclsResponseV1 => throttle_time_ms [filter_responses]
3529 throttle_time_ms => INT32
3530 filter_responses => error_code error_message [matching_acls]
3531 error_code => INT16
3532 error_message => NULLABLE_STRING
3533 matching_acls => error_code error_message resource_type resource_name resource_pattten_type principal host operation permission_type
3534 error_code => INT16
3535 error_message => NULLABLE_STRING
3536 resource_type => INT8
3537 resource_name => STRING
3538 resource_pattten_type => INT8
3539 principal => STRING
3540 host => STRING
3541 operation => INT8
3542 permission_type => INT8
3543
3544# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3545# error_code: Response error code
3546# error_message: Response error message
3547# matching_acls: The matching ACLs
3548# error_code: Response error code
3549# error_message: Response error message
3550# resource_type: The resource type
3551# resource_name: The resource name
3552# resource_pattten_type: The resource pattern type
3553# principal: The ACL principal
3554# host: The ACL host
3555# operation: The ACL operation
3556# permission_type: The ACL permission type
3557
3558
3559#ApiKey: DescribeConfigs, 32
3560DescribeConfigsRequestV0 => [resources]
3561 resources => resource_type resource_name [config_names]
3562 resource_type => INT8
3563 resource_name => STRING
3564 config_names => STRING
3565
3566# resources: An array of config resources to be returned.
3567
3568
3569DescribeConfigsRequestV1 => [resources] include_synonyms
3570 resources => resource_type resource_name [config_names]
3571 resource_type => INT8
3572 resource_name => STRING
3573 config_names => STRING
3574 include_synonyms => BOOLEAN
3575
3576# resources: An array of config resources to be returned.
3577
3578
3579DescribeConfigsRequestV2 => [resources] include_synonyms
3580 resources => resource_type resource_name [config_names]
3581 resource_type => INT8
3582 resource_name => STRING
3583 config_names => STRING
3584 include_synonyms => BOOLEAN
3585
3586# resources: An array of config resources to be returned.
3587
3588
3589DescribeConfigsResponseV0 => throttle_time_ms [resources]
3590 throttle_time_ms => INT32
3591 resources => error_code error_message resource_type resource_name [config_entries]
3592 error_code => INT16
3593 error_message => NULLABLE_STRING
3594 resource_type => INT8
3595 resource_name => STRING
3596 config_entries => config_name config_value read_only is_default is_sensitive
3597 config_name => STRING
3598 config_value => NULLABLE_STRING
3599 read_only => BOOLEAN
3600 is_default => BOOLEAN
3601 is_sensitive => BOOLEAN
3602
3603# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3604# error_code: Response error code
3605# error_message: Response error message
3606
3607
3608DescribeConfigsResponseV1 => throttle_time_ms [resources]
3609 throttle_time_ms => INT32
3610 resources => error_code error_message resource_type resource_name [config_entries]
3611 error_code => INT16
3612 error_message => NULLABLE_STRING
3613 resource_type => INT8
3614 resource_name => STRING
3615 config_entries => config_name config_value read_only config_source is_sensitive [config_synonyms]
3616 config_name => STRING
3617 config_value => NULLABLE_STRING
3618 read_only => BOOLEAN
3619 config_source => INT8
3620 is_sensitive => BOOLEAN
3621 config_synonyms => config_name config_value config_source
3622 config_name => STRING
3623 config_value => NULLABLE_STRING
3624 config_source => INT8
3625
3626# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3627# error_code: Response error code
3628# error_message: Response error message
3629
3630
3631DescribeConfigsResponseV2 => throttle_time_ms [resources]
3632 throttle_time_ms => INT32
3633 resources => error_code error_message resource_type resource_name [config_entries]
3634 error_code => INT16
3635 error_message => NULLABLE_STRING
3636 resource_type => INT8
3637 resource_name => STRING
3638 config_entries => config_name config_value read_only config_source is_sensitive [config_synonyms]
3639 config_name => STRING
3640 config_value => NULLABLE_STRING
3641 read_only => BOOLEAN
3642 config_source => INT8
3643 is_sensitive => BOOLEAN
3644 config_synonyms => config_name config_value config_source
3645 config_name => STRING
3646 config_value => NULLABLE_STRING
3647 config_source => INT8
3648
3649# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3650# error_code: Response error code
3651# error_message: Response error message
3652
3653
3654#ApiKey: AlterConfigs, 33
3655AlterConfigsRequestV0 => [resources] validate_only
3656 resources => resource_type resource_name [config_entries]
3657 resource_type => INT8
3658 resource_name => STRING
3659 config_entries => config_name config_value
3660 config_name => STRING
3661 config_value => NULLABLE_STRING
3662 validate_only => BOOLEAN
3663
3664# resources: An array of resources to update with the provided configs.
3665# config_name: Configuration name
3666# config_value: Configuration value
3667
3668
3669AlterConfigsRequestV1 => [resources] validate_only
3670 resources => resource_type resource_name [config_entries]
3671 resource_type => INT8
3672 resource_name => STRING
3673 config_entries => config_name config_value
3674 config_name => STRING
3675 config_value => NULLABLE_STRING
3676 validate_only => BOOLEAN
3677
3678# resources: An array of resources to update with the provided configs.
3679# config_name: Configuration name
3680# config_value: Configuration value
3681
3682
3683AlterConfigsResponseV0 => throttle_time_ms [resources]
3684 throttle_time_ms => INT32
3685 resources => error_code error_message resource_type resource_name
3686 error_code => INT16
3687 error_message => NULLABLE_STRING
3688 resource_type => INT8
3689 resource_name => STRING
3690
3691# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3692# error_code: Response error code
3693# error_message: Response error message
3694
3695
3696AlterConfigsResponseV1 => throttle_time_ms [resources]
3697 throttle_time_ms => INT32
3698 resources => error_code error_message resource_type resource_name
3699 error_code => INT16
3700 error_message => NULLABLE_STRING
3701 resource_type => INT8
3702 resource_name => STRING
3703
3704# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3705# error_code: Response error code
3706# error_message: Response error message
3707
3708
3709#ApiKey: AlterReplicaLogDirs, 34
3710AlterReplicaLogDirsRequestV0 => [log_dirs]
3711 log_dirs => log_dir [topics]
3712 log_dir => STRING
3713 topics => topic [partitions]
3714 topic => STRING
3715 partitions => INT32
3716
3717# log_dir: The absolute log directory path.
3718# topic: Name of topic
3719# partitions: List of partition ids of the topic.
3720
3721
3722AlterReplicaLogDirsRequestV1 => [log_dirs]
3723 log_dirs => log_dir [topics]
3724 log_dir => STRING
3725 topics => topic [partitions]
3726 topic => STRING
3727 partitions => INT32
3728
3729# log_dir: The absolute log directory path.
3730# topic: Name of topic
3731# partitions: List of partition ids of the topic.
3732
3733
3734AlterReplicaLogDirsResponseV0 => throttle_time_ms [topics]
3735 throttle_time_ms => INT32
3736 topics => topic [partitions]
3737 topic => STRING
3738 partitions => partition error_code
3739 partition => INT32
3740 error_code => INT16
3741
3742# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3743# topic: Name of topic
3744# partition: Topic partition id
3745# error_code: Response error code
3746
3747
3748AlterReplicaLogDirsResponseV1 => throttle_time_ms [topics]
3749 throttle_time_ms => INT32
3750 topics => topic [partitions]
3751 topic => STRING
3752 partitions => partition error_code
3753 partition => INT32
3754 error_code => INT16
3755
3756# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3757# topic: Name of topic
3758# partition: Topic partition id
3759# error_code: Response error code
3760
3761
3762#ApiKey: DescribeLogDirs, 35
3763DescribeLogDirsRequestV0 => [topics]
3764 topics => topic [partitions]
3765 topic => STRING
3766 partitions => INT32
3767
3768# topic: Name of topic
3769# partitions: List of partition ids of the topic.
3770
3771
3772DescribeLogDirsRequestV1 => [topics]
3773 topics => topic [partitions]
3774 topic => STRING
3775 partitions => INT32
3776
3777# topic: Name of topic
3778# partitions: List of partition ids of the topic.
3779
3780
3781DescribeLogDirsResponseV0 => throttle_time_ms [log_dirs]
3782 throttle_time_ms => INT32
3783 log_dirs => error_code log_dir [topics]
3784 error_code => INT16
3785 log_dir => STRING
3786 topics => topic [partitions]
3787 topic => STRING
3788 partitions => partition size offset_lag is_future
3789 partition => INT32
3790 size => INT64
3791 offset_lag => INT64
3792 is_future => BOOLEAN
3793
3794# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3795# error_code: Response error code
3796# log_dir: The absolute log directory path.
3797# topic: Name of topic
3798# partition: Topic partition id
3799# size: The size of the log segments of the partition in bytes.
3800# offset_lag: The lag of the log's LEO w.r.t. partition's HW (if it is the current log for the partition) or current replica's LEO (if it is the future log for the partition)
3801# is_future: True if this log is created by AlterReplicaLogDirsRequest and will replace the current log of the replica in the future.
3802
3803
3804DescribeLogDirsResponseV1 => throttle_time_ms [log_dirs]
3805 throttle_time_ms => INT32
3806 log_dirs => error_code log_dir [topics]
3807 error_code => INT16
3808 log_dir => STRING
3809 topics => topic [partitions]
3810 topic => STRING
3811 partitions => partition size offset_lag is_future
3812 partition => INT32
3813 size => INT64
3814 offset_lag => INT64
3815 is_future => BOOLEAN
3816
3817# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3818# error_code: Response error code
3819# log_dir: The absolute log directory path.
3820# topic: Name of topic
3821# partition: Topic partition id
3822# size: The size of the log segments of the partition in bytes.
3823# offset_lag: The lag of the log's LEO w.r.t. partition's HW (if it is the current log for the partition) or current replica's LEO (if it is the future log for the partition)
3824# is_future: True if this log is created by AlterReplicaLogDirsRequest and will replace the current log of the replica in the future.
3825
3826
3827#ApiKey: SaslAuthenticate, 36
3828SaslAuthenticateRequestV0 => sasl_auth_bytes
3829 sasl_auth_bytes => BYTES
3830
3831# sasl_auth_bytes: SASL authentication bytes from client as defined by the SASL mechanism.
3832
3833
3834SaslAuthenticateRequestV1 => sasl_auth_bytes
3835 sasl_auth_bytes => BYTES
3836
3837# sasl_auth_bytes: SASL authentication bytes from client as defined by the SASL mechanism.
3838
3839
3840SaslAuthenticateResponseV0 => error_code error_message sasl_auth_bytes
3841 error_code => INT16
3842 error_message => NULLABLE_STRING
3843 sasl_auth_bytes => BYTES
3844
3845# error_code: Response error code
3846# error_message: Response error message
3847# sasl_auth_bytes: SASL authentication bytes from server as defined by the SASL mechanism.
3848
3849
3850SaslAuthenticateResponseV1 => error_code error_message sasl_auth_bytes session_lifetime_ms
3851 error_code => INT16
3852 error_message => NULLABLE_STRING
3853 sasl_auth_bytes => BYTES
3854 session_lifetime_ms => INT64
3855
3856# error_code: Response error code
3857# error_message: Response error message
3858# sasl_auth_bytes: SASL authentication bytes from server as defined by the SASL mechanism.
3859# session_lifetime_ms: Number of milliseconds after which only re-authentication over the existing connection to create a new session can occur.
3860
3861
3862#ApiKey: CreatePartitions, 37
3863CreatePartitionsRequestV0 => [topic_partitions] timeout validate_only
3864 topic_partitions => topic new_partitions
3865 topic => STRING
3866 new_partitions => count [assignment]
3867 count => INT32
3868 assignment => ARRAY(INT32)
3869 timeout => INT32
3870 validate_only => BOOLEAN
3871
3872# topic_partitions: List of topic and the corresponding new partitions.
3873# topic: Name of topic
3874# count: The new partition count.
3875# assignment: The assigned brokers.
3876# timeout: The time in ms to wait for the partitions to be created.
3877# validate_only: If true then validate the request, but don't actually increase the number of partitions.
3878
3879
3880CreatePartitionsRequestV1 => [topic_partitions] timeout validate_only
3881 topic_partitions => topic new_partitions
3882 topic => STRING
3883 new_partitions => count [assignment]
3884 count => INT32
3885 assignment => ARRAY(INT32)
3886 timeout => INT32
3887 validate_only => BOOLEAN
3888
3889# topic_partitions: List of topic and the corresponding new partitions.
3890# topic: Name of topic
3891# count: The new partition count.
3892# assignment: The assigned brokers.
3893# timeout: The time in ms to wait for the partitions to be created.
3894# validate_only: If true then validate the request, but don't actually increase the number of partitions.
3895
3896
3897CreatePartitionsResponseV0 => throttle_time_ms [topic_errors]
3898 throttle_time_ms => INT32
3899 topic_errors => topic error_code error_message
3900 topic => STRING
3901 error_code => INT16
3902 error_message => NULLABLE_STRING
3903
3904# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3905# topic_errors: Per topic results for the create partitions request
3906# topic: Name of topic
3907# error_code: Response error code
3908# error_message: Response error message
3909
3910
3911CreatePartitionsResponseV1 => throttle_time_ms [topic_errors]
3912 throttle_time_ms => INT32
3913 topic_errors => topic error_code error_message
3914 topic => STRING
3915 error_code => INT16
3916 error_message => NULLABLE_STRING
3917
3918# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3919# topic_errors: Per topic results for the create partitions request
3920# topic: Name of topic
3921# error_code: Response error code
3922# error_message: Response error message
3923
3924
3925#ApiKey: CreateDelegationToken, 38
3926CreateDelegationTokenRequestV0 => [renewers] max_life_time
3927 renewers => principal_type name
3928 principal_type => STRING
3929 name => STRING
3930 max_life_time => INT64
3931
3932# renewers: An array of token renewers. Renewer is an Kafka PrincipalType and name string, who is allowed to renew this token before the max lifetime expires.
3933# principal_type: principalType of the Kafka principal
3934# name: name of the Kafka principal
3935# max_life_time: Max lifetime period for token in milli seconds. if value is -1, then max lifetime will default to a server side config value.
3936
3937
3938CreateDelegationTokenRequestV1 => [renewers] max_life_time
3939 renewers => principal_type name
3940 principal_type => STRING
3941 name => STRING
3942 max_life_time => INT64
3943
3944# renewers: An array of token renewers. Renewer is an Kafka PrincipalType and name string, who is allowed to renew this token before the max lifetime expires.
3945# principal_type: principalType of the Kafka principal
3946# name: name of the Kafka principal
3947# max_life_time: Max lifetime period for token in milli seconds. if value is -1, then max lifetime will default to a server side config value.
3948
3949
3950CreateDelegationTokenResponseV0 => error_code owner issue_timestamp expiry_timestamp max_timestamp token_id hmac throttle_time_ms
3951 error_code => INT16
3952 owner => principal_type name
3953 principal_type => STRING
3954 name => STRING
3955 issue_timestamp => INT64
3956 expiry_timestamp => INT64
3957 max_timestamp => INT64
3958 token_id => STRING
3959 hmac => BYTES
3960 throttle_time_ms => INT32
3961
3962# error_code: Response error code
3963# owner: token owner.
3964# principal_type: principalType of the Kafka principal
3965# name: name of the Kafka principal
3966# issue_timestamp: timestamp (in msec) when this token was generated.
3967# expiry_timestamp: timestamp (in msec) at which this token expires.
3968# max_timestamp: max life time of this token.
3969# token_id: UUID to ensure uniqueness.
3970# hmac: HMAC of the delegation token.
3971# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3972
3973
3974CreateDelegationTokenResponseV1 => error_code owner issue_timestamp expiry_timestamp max_timestamp token_id hmac throttle_time_ms
3975 error_code => INT16
3976 owner => principal_type name
3977 principal_type => STRING
3978 name => STRING
3979 issue_timestamp => INT64
3980 expiry_timestamp => INT64
3981 max_timestamp => INT64
3982 token_id => STRING
3983 hmac => BYTES
3984 throttle_time_ms => INT32
3985
3986# error_code: Response error code
3987# owner: token owner.
3988# principal_type: principalType of the Kafka principal
3989# name: name of the Kafka principal
3990# issue_timestamp: timestamp (in msec) when this token was generated.
3991# expiry_timestamp: timestamp (in msec) at which this token expires.
3992# max_timestamp: max life time of this token.
3993# token_id: UUID to ensure uniqueness.
3994# hmac: HMAC of the delegation token.
3995# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
3996
3997
3998#ApiKey: RenewDelegationToken, 39
3999RenewDelegationTokenRequestV0 => hmac renew_time_period
4000 hmac => BYTES
4001 renew_time_period => INT64
4002
4003# hmac: HMAC of the delegation token to be renewed.
4004# renew_time_period: Renew time period in milli seconds.
4005
4006
4007RenewDelegationTokenRequestV1 => hmac renew_time_period
4008 hmac => BYTES
4009 renew_time_period => INT64
4010
4011# hmac: HMAC of the delegation token to be renewed.
4012# renew_time_period: Renew time period in milli seconds.
4013
4014
4015RenewDelegationTokenResponseV0 => error_code expiry_timestamp throttle_time_ms
4016 error_code => INT16
4017 expiry_timestamp => INT64
4018 throttle_time_ms => INT32
4019
4020# error_code: Response error code
4021# expiry_timestamp: timestamp (in msec) at which this token expires..
4022# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
4023
4024
4025RenewDelegationTokenResponseV1 => error_code expiry_timestamp throttle_time_ms
4026 error_code => INT16
4027 expiry_timestamp => INT64
4028 throttle_time_ms => INT32
4029
4030# error_code: Response error code
4031# expiry_timestamp: timestamp (in msec) at which this token expires..
4032# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
4033
4034
4035#ApiKey: ExpireDelegationToken, 40
4036ExpireDelegationTokenRequestV0 => hmac expiry_time_period
4037 hmac => BYTES
4038 expiry_time_period => INT64
4039
4040# hmac: HMAC of the delegation token to be expired.
4041# expiry_time_period: expiry time period in milli seconds.
4042
4043
4044ExpireDelegationTokenRequestV1 => hmac expiry_time_period
4045 hmac => BYTES
4046 expiry_time_period => INT64
4047
4048# hmac: HMAC of the delegation token to be expired.
4049# expiry_time_period: expiry time period in milli seconds.
4050
4051
4052ExpireDelegationTokenResponseV0 => error_code expiry_timestamp throttle_time_ms
4053 error_code => INT16
4054 expiry_timestamp => INT64
4055 throttle_time_ms => INT32
4056
4057# error_code: Response error code
4058# expiry_timestamp: timestamp (in msec) at which this token expires..
4059# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
4060
4061
4062ExpireDelegationTokenResponseV1 => error_code expiry_timestamp throttle_time_ms
4063 error_code => INT16
4064 expiry_timestamp => INT64
4065 throttle_time_ms => INT32
4066
4067# error_code: Response error code
4068# expiry_timestamp: timestamp (in msec) at which this token expires..
4069# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
4070
4071
4072#ApiKey: DescribeDelegationToken, 41
4073DescribeDelegationTokenRequestV0 => [owners]
4074 owners => principal_type name
4075 principal_type => STRING
4076 name => STRING
4077
4078# owners: An array of token owners.
4079# principal_type: principalType of the Kafka principal
4080# name: name of the Kafka principal
4081
4082
4083DescribeDelegationTokenRequestV1 => [owners]
4084 owners => principal_type name
4085 principal_type => STRING
4086 name => STRING
4087
4088# owners: An array of token owners.
4089# principal_type: principalType of the Kafka principal
4090# name: name of the Kafka principal
4091
4092
4093DescribeDelegationTokenResponseV0 => error_code [token_details] throttle_time_ms
4094 error_code => INT16
4095 token_details => owner issue_timestamp expiry_timestamp max_timestamp token_id hmac [renewers]
4096 owner => principal_type name
4097 principal_type => STRING
4098 name => STRING
4099 issue_timestamp => INT64
4100 expiry_timestamp => INT64
4101 max_timestamp => INT64
4102 token_id => STRING
4103 hmac => BYTES
4104 renewers => principal_type name
4105 principal_type => STRING
4106 name => STRING
4107 throttle_time_ms => INT32
4108
4109# error_code: Response error code
4110# owner: token owner.
4111# principal_type: principalType of the Kafka principal
4112# name: name of the Kafka principal
4113# issue_timestamp: timestamp (in msec) when this token was generated.
4114# expiry_timestamp: timestamp (in msec) at which this token expires.
4115# max_timestamp: max life time of this token.
4116# token_id: UUID to ensure uniqueness.
4117# hmac: HMAC of the delegation token to be expired.
4118# renewers: An array of token renewers. Renewer is an Kafka PrincipalType and name string, who is allowed to renew this token before the max lifetime expires.
4119# principal_type: principalType of the Kafka principal
4120# name: name of the Kafka principal
4121# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
4122
4123
4124DescribeDelegationTokenResponseV1 => error_code [token_details] throttle_time_ms
4125 error_code => INT16
4126 token_details => owner issue_timestamp expiry_timestamp max_timestamp token_id hmac [renewers]
4127 owner => principal_type name
4128 principal_type => STRING
4129 name => STRING
4130 issue_timestamp => INT64
4131 expiry_timestamp => INT64
4132 max_timestamp => INT64
4133 token_id => STRING
4134 hmac => BYTES
4135 renewers => principal_type name
4136 principal_type => STRING
4137 name => STRING
4138 throttle_time_ms => INT32
4139
4140# error_code: Response error code
4141# owner: token owner.
4142# principal_type: principalType of the Kafka principal
4143# name: name of the Kafka principal
4144# issue_timestamp: timestamp (in msec) when this token was generated.
4145# expiry_timestamp: timestamp (in msec) at which this token expires.
4146# max_timestamp: max life time of this token.
4147# token_id: UUID to ensure uniqueness.
4148# hmac: HMAC of the delegation token to be expired.
4149# renewers: An array of token renewers. Renewer is an Kafka PrincipalType and name string, who is allowed to renew this token before the max lifetime expires.
4150# principal_type: principalType of the Kafka principal
4151# name: name of the Kafka principal
4152# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
4153
4154
4155#ApiKey: DeleteGroups, 42
4156DeleteGroupsRequestV0 => [groups]
4157 groups => STRING
4158
4159# groups: An array of groups to be deleted.
4160
4161
4162DeleteGroupsRequestV1 => [groups]
4163 groups => STRING
4164
4165# groups: An array of groups to be deleted.
4166
4167
4168DeleteGroupsResponseV0 => throttle_time_ms [group_error_codes]
4169 throttle_time_ms => INT32
4170 group_error_codes => group_id error_code
4171 group_id => STRING
4172 error_code => INT16
4173
4174# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
4175# group_error_codes: An array of per group error codes.
4176# group_id: The unique group identifier
4177# error_code: Response error code
4178
4179
4180DeleteGroupsResponseV1 => throttle_time_ms [group_error_codes]
4181 throttle_time_ms => INT32
4182 group_error_codes => group_id error_code
4183 group_id => STRING
4184 error_code => INT16
4185
4186# throttle_time_ms: Duration in milliseconds for which the request was throttled due to quota violation (Zero if the request did not violate any quota)
4187# group_error_codes: An array of per group error codes.
4188# group_id: The unique group identifier
4189# error_code: Response error code
4190
4191
4192#ApiKey: ElectPreferredLeaders, 43
4193ElectPreferredLeadersRequestV0 => [topic_partitions] timeout_ms
4194 topic_partitions => topic [partition_id]
4195 topic => STRING
4196 partition_id => INT32
4197 timeout_ms => INT32
4198
4199# topic_partitions: The topic partitions to elect the preferred leader of.
4200# topic: The name of a topic.
4201# partition_id: The partitions of this topic whose preferred leader should be elected
4202# timeout_ms: The time in ms to wait for the election to complete.
4203
4204
4205ElectPreferredLeadersResponseV0 => throttle_time_ms [replica_election_results]
4206 throttle_time_ms => INT32
4207 replica_election_results => topic [partition_result]
4208 topic => STRING
4209 partition_result => partition_id error_code error_message
4210 partition_id => INT32
4211 error_code => INT16
4212 error_message => NULLABLE_STRING
4213
4214# throttle_time_ms: The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota.
4215# replica_election_results: The error code, or 0 if there was no error.
4216# topic: The topic name
4217# partition_result: The results for each partition
4218# partition_id: The partition id
4219# error_code: The result error, or zero if there was no error.
4220# error_message: The result message, or null if there was no error.