# `StripeManaged.Client`
[🔗](https://github.com/safemyprivacy0-bit/stripe_managed/blob/main/lib/stripe_managed/client.ex#L1)

HTTP client for the Stripe API.

Handles authentication, request encoding, response parsing, and retries.
All resource modules delegate to this module for actual HTTP calls.

# `response`

```elixir
@type response() :: {:ok, map()} | {:error, StripeManaged.Error.t()}
```

# `delete`

```elixir
@spec delete(
  String.t(),
  keyword()
) :: response()
```

Performs a DELETE request.

# `get`

```elixir
@spec get(
  String.t(),
  keyword()
) :: response()
```

Performs a GET request.

# `list_paginated`

```elixir
@spec list_paginated(String.t(), map(), keyword()) :: Enumerable.t()
```

Lists resources with auto-pagination support.

Returns a Stream that lazily fetches pages.

# `post`

```elixir
@spec post(String.t(), map() | nil, keyword()) :: response()
```

Performs a POST request with form-encoded body.

---

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