# `RevenueCat.Client`

HTTP client adapter interface for RevenueCat requests.

# `request_opts`

```elixir
@type request_opts() :: keyword()
```

# `response`

```elixir
@type response() :: {:ok, binary()} | {:error, term()}
```

# `do_request`

```elixir
@callback do_request(request_opts()) :: response()
```

# `do_request`

```elixir
@spec do_request(request_opts()) :: response()
```

Dispatch a fully-formed request to the configured adapter.

# `do_request`

```elixir
@spec do_request(atom(), String.t(), request_opts()) :: response()
```

Build and dispatch a request with RevenueCat headers and base options.

---

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