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

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

The schema of this API is
```
[topics: {:array, [name: :string]}]
```

# `t`

```elixir
@type t() :: %Kayrock.Metadata.V1.Request{
  client_id: nil | binary(),
  correlation_id: nil | integer(),
  topics: [%{name: nil | binary()}]
}
```

Request 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

# `response_deserializer`

```elixir
@spec response_deserializer() :: (binary() -&gt;
                              {Kayrock.Metadata.V1.Response.t(), binary()})
```

Returns a function that can be used to deserialize the wire response from the
broker for this message type

# `schema`

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

Returns the schema of this message

See [above](#).

# `serialize`

```elixir
@spec serialize(t()) :: iodata()
```

Serialize a message to binary data for transfer to a Kafka broker

---

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