# `MOQX.RequestError`
[🔗](https://github.com/dmorn/moqx/blob/main/lib/moqx/messages.ex#L1)

Asynchronous request-level failure.

`t:t/0` is used when an operation is rejected by API contract, session role,
relay availability, or protocol-level request semantics.

# `op`

```elixir
@type op() ::
  :connect
  | :publish
  | :create_track
  | :write_frame
  | :finish_track
  | :subscribe
  | :fetch
  | :open_subgroup
  | :write_object
  | :write_datagram
  | :close_subgroup
  | :flush_subgroup
```

# `t`

```elixir
@type t() :: %MOQX.RequestError{
  code: atom() | non_neg_integer() | nil,
  handle: reference() | nil,
  message: String.t(),
  op: op(),
  ref: reference() | nil
}
```

---

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