conduktor.io ↗

Kafka DescribeConfigs Response Wire Format v3 — Binary Protocol Layout

What is DescribeConfigs?

Returns broker or topic configurations via kafka-configs.sh --describe. The synonyms flag shows the full resolution chain (dynamic topic, dynamic broker, static broker, default), which helps debug why a config value isn't what you expect.

Wire Diagram

Response Header
message_size int32 · 4B
correlation_id int32 · 4B
DescribeConfigsResponse v3
ThrottleTimeMs int32 · 4B
Results array
ErrorCode int16 · 2B
ErrorMessage? string
ResourceType int8 · 1B
ResourceName string
Configs array
Name string
Value? string
ReadOnly bool · 1B
ConfigSource int8 · 1B
IsSensitive bool · 1B
Synonyms array
ConfigType int8 · 1B
Documentation? string
Name string
Value? string
Source int8 · 1B

Schema & Example

Schema
{
  "ThrottleTimeMs": int32,
  "Results": [{
      "ErrorCode": int16,
      "ErrorMessage": string?,
      "ResourceType": int8,
      "ResourceName": string,
      "Configs": [{
          "Name": string,
          "Value": string?,
          "ReadOnly": bool,
          "ConfigSource": int8,
          "IsSensitive": bool,
          "Synonyms": [{
              "Name": string,
              "Value": string?,
              "Source": int8
          }],
          "ConfigType": int8,
          "Documentation": string?
      }]
  }]
}
Example
{
  "ThrottleTimeMs": 0,
  "Results": [{
      "ErrorCode": 0,
      "ErrorMessage": "NETWORK_EXCEPTION",
      "ResourceType": 2,
      "ResourceName": "orders",
      "Configs": [{
          "Name": "orders",
          "Value": "604800000",
          "ReadOnly": false,
          "ConfigSource": 4,
          "IsSensitive": false,
          "Synonyms": [{
              "Name": "orders",
              "Value": "604800000",
              "Source": 4
          }],
          "ConfigType": 1,
          "Documentation": "The maximum size of a message batch"
      }]
  }]
}