# `Electric.Client.Fetch.Request`
[🔗](https://github.com/electric-sql/electric/tree/%40core/elixir-client%400.9.4/packages/elixir-client/lib/electric/client/fetch/request.ex#L1)

# `attr`

```elixir
@type attr() ::
  {:headers, headers()}
  | {:params, params()}
  | {:next_cursor, Electric.Client.cursor()}
  | {:live, boolean()}
  | {:replica, Electric.Client.replica()}
  | {:shape_handle, Electric.Client.shape_handle() | nil}
  | {:offset, Electric.Client.offset()}
  | {:method, :get | :head | :delete | :options}
  | {:stream_id, term()}
```

# `attrs`

```elixir
@type attrs() ::
  [attr()]
  | %{
      stream_id: term(),
      method: :get | :head | :delete | :options,
      offset: Electric.Client.offset(),
      shape_handle: Electric.Client.shape_handle() | nil,
      replica: Electric.Client.replica(),
      live: boolean(),
      next_cursor: Electric.Client.cursor(),
      params: params(),
      headers: headers()
    }
```

# `authenticated`

```elixir
@type authenticated() :: %Electric.Client.Fetch.Request{
  authenticated: true,
  endpoint: URI.t(),
  headers: headers(),
  live: boolean(),
  method: :get | :head | :delete | :options,
  next_cursor: Electric.Client.cursor(),
  offset: Electric.Client.offset(),
  params: params(),
  replica: Electric.Client.replica(),
  shape_handle: Electric.Client.shape_handle() | nil,
  stream_id: term()
}
```

# `headers`

```elixir
@type headers() :: %{required(String.t()) =&gt; [String.t()] | String.t()}
```

# `params`

```elixir
@type params() :: %{required(String.t()) =&gt; String.t()}
```

# `t`

```elixir
@type t() :: unauthenticated() | authenticated()
```

# `unauthenticated`

```elixir
@type unauthenticated() :: %Electric.Client.Fetch.Request{
  authenticated: false,
  endpoint: URI.t(),
  headers: headers(),
  live: boolean(),
  method: :get | :head | :delete | :options,
  next_cursor: Electric.Client.cursor(),
  offset: Electric.Client.offset(),
  params: params(),
  replica: Electric.Client.replica(),
  shape_handle: Electric.Client.shape_handle() | nil,
  stream_id: term()
}
```

# `uri`

Returns the %URI{} for the Request.

# `url`

Returns the URL for the Request.

---

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