# `Tesla.OpenAPI.HeaderParams`
[🔗](https://github.com/elixir-tesla/tesla/blob/v1.18.1/lib/tesla/open_api/header_params.ex#L1)

A collection of header parameter definitions.

`Tesla.OpenAPI.HeaderParams` keeps static header parameter metadata separate
from per-request values. Since header parameter definitions usually come from
a static operation specification, prefer defining the collection in a module
attribute and passing only dynamic values when creating request headers.

    defmodule MyApi.Operation.GetItem.Header do
      alias Tesla.OpenAPI.{HeaderParam, HeaderParams}

      @header_params HeaderParams.new!([
                       HeaderParam.new!("X-Request-ID")
                     ])

      def to_headers(values) do
        HeaderParams.to_headers(@header_params, values)
      end
    end

# `t`

```elixir
@opaque t()
```

# `new!`

```elixir
@spec new!([Tesla.OpenAPI.HeaderParam.t()]) :: t()
```

# `to_headers`

```elixir
@spec to_headers(t(), map() | nil) :: Tesla.Env.headers()
```

---

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