You're probably underusing middleware for HTTP response handling - Blog Posts - Elixir Programming Language Forum
A note on a pattern I keep running into in Elixir API clients: status-code checks and body parsing live in code after Tesla.request, instead of inside the middleware chain itself. It looks fine from the caller’s side, but it silently breaks observability. A 500 translated to {:error, _} looks like a successful request to Tesla, so :telemetry and anything else wired up to the request lifecycle stay quiet.