# `Accrue.APIError`
[🔗](https://github.com/szTheory/accrue/blob/accrue-v0.3.0/lib/accrue/errors.ex#L6)

Raised when a processor call fails for a reason that is neither a card
error nor a rate limit (e.g., HTTP 500, unexpected payload). Pattern-match
on `%Accrue.APIError{}` in retry logic.

> ⚠️ `processor_error` may contain raw processor payload and MUST NOT be
> logged verbatim — treat it as sensitive and scrub before logging.

# `t`

```elixir
@type t() :: %Accrue.APIError{
  __exception__: true,
  code: term(),
  http_status: term(),
  message: term(),
  processor_error: term(),
  request_id: term()
}
```

---

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