What is DescribeGroups?
Returns the full state of consumer groups including per-member partition assignments, used by kafka-consumer-groups.sh --describe. PreparingRebalance means JoinGroup responses are pending; Stable means all members are heartbeating; Empty means no members but offsets may still exist.
Wire Diagram
Response Header · flexible
message_size
int32 · 4B
correlation_id
int32 · 4B
tagged
var
DescribeGroupsResponse v5
ThrottleTimeMs
int32 · 4B
tagged
var
ErrorCode
int16 · 2B
GroupId
string (compact)
GroupState
string (compact)
ProtocolType
string (compact)
ProtocolData
string (compact)
AuthorizedOperations
int32 · 4B
tagged
var
MemberId
string (compact)
GroupInstanceId?
string (compact)
ClientId
string (compact)
ClientHost
string (compact)
MemberMetadata
bytes (compact)
MemberAssignment
bytes (compact)
tagged
var
Schema & Example
Schema { "ThrottleTimeMs": int32, "Groups": [{ "ErrorCode": int16, "GroupId": string, "GroupState": string, "ProtocolType": string, "ProtocolData": string, "Members": [{ "MemberId": string, "GroupInstanceId": string?, "ClientId": string, "ClientHost": string, "MemberMetadata": bytes, "MemberAssignment": bytes }], "AuthorizedOperations": int32 }] }
Example { "ThrottleTimeMs": 0, "Groups": [{ "ErrorCode": 0, "GroupId": "order-processors", "GroupState": "Stable", "ProtocolType": "consumer", "ProtocolData": "<protocol-metadata>", "Members": [{ "MemberId": "consumer-1-abc123", "GroupInstanceId": "instance-0", "ClientId": "my-app-producer", "ClientHost": "192.168.1.100", "MemberMetadata": "<metadata>", "MemberAssignment": "<assignment>" }], "AuthorizedOperations": 2 }] }