# `RequestSeal.Message.Error`
[🔗](https://github.com/baselabs/request_seal/blob/v0.5.2/lib/request_seal/message/error.ex#L1)

Bounded message-construction errors. No supplied bytes appear in errors.

Each reason names the layer that rejected the input:

  * `:invalid_message` - message attributes, builder options, or a builder URL.
  * `:invalid_field` - a field or trailer occurrence, or the combined field bound.
  * `:invalid_body` - a body availability snapshot.
  * `:invalid_transport` - transport declarations.

They indicate invalid shapes, unknown keys or options, missing required values,
inconsistent states, or exceeded documented bounds in that layer. Correct the
input before retrying; no authentication has taken place.

# `t`

```elixir
@type t() :: %RequestSeal.Message.Error{
  reason: :invalid_message | :invalid_field | :invalid_body | :invalid_transport
}
```

---

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