# `Kayrock.Metadata.V1.Response`
[🔗](https://github.com/kafkaex/kayrock/blob/main/lib/generated/metadata.ex#L1251)

Kayrock-generated response struct for Kafka `metadata` v1 API
messages

The schema of this API is
```
[
  brokers: {:array,
   [node_id: :int32, host: :string, port: :int32, rack: :nullable_string]},
  controller_id: :int32,
  topics: {:array,
   [
     error_code: :int16,
     name: :string,
     is_internal: :boolean,
     partitions: {:array,
      [
        error_code: :int16,
        partition_index: :int32,
        leader_id: :int32,
        replica_nodes: {:array, :int32},
        isr_nodes: {:array, :int32}
      ]}
   ]}
]
```

# `t`

```elixir
@type t() :: %Kayrock.Metadata.V1.Response{
  brokers: [
    %{
      node_id: nil | integer(),
      host: nil | binary(),
      port: nil | integer(),
      rack: nil | binary()
    }
  ],
  controller_id: nil | integer(),
  correlation_id: integer(),
  topics: [
    %{
      error_code: nil | integer(),
      name: nil | binary(),
      is_internal: nil | integer(),
      partitions: [
        %{
          error_code: nil | integer(),
          partition_index: nil | integer(),
          leader_id: nil | integer(),
          replica_nodes: [nil | integer()],
          isr_nodes: [nil | integer()]
        }
      ]
    }
  ]
}
```

Response struct for the Kafka `metadata` API v1

# `api_key`

```elixir
@spec api_key() :: integer()
```

Returns the Kafka API key for this API

# `api_vsn`

```elixir
@spec api_vsn() :: integer()
```

Returns the API version (1) implemented by this module

# `deserialize`

```elixir
@spec deserialize(binary()) :: {t(), binary()}
```

Deserialize data for this version of this API

# `schema`

```elixir
@spec schema() :: term()
```

Returns the schema of this message

See [above](#).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
