# `Tinkex.Types.RequestErrorCategory`
[🔗](https://github.com/North-Shore-AI/tinkex/blob/v0.4.0/lib/tinkex/types/request_error_category.ex#L1)

Request error category.

Mirrors Python tinker.types.request_error_category.RequestErrorCategory.
Wire format uses lowercase strings: `"unknown"` | `"server"` | `"user"`
(Python StrEnum.auto() returns lowercase in Python 3.11+)

Parser is case-insensitive for defensive robustness.

# `t`

```elixir
@type t() :: :unknown | :server | :user
```

# `parse`

```elixir
@spec parse(String.t() | nil) :: t()
```

Parse wire format string to atom (case-insensitive).

Defaults to :unknown for unrecognized values.

# `retryable?`

```elixir
@spec retryable?(t()) :: boolean()
```

Check if error category is retryable.

User errors are not retryable; server and unknown errors are.

# `to_string`

```elixir
@spec to_string(t()) :: String.t()
```

Convert atom to wire format string.

---

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