# `Qdrant.Client`
[🔗](https://github.com/marinac-dev/qdrant/blob/v0.1.18/lib/qdrant/client.ex#L1)

Immutable configuration for one Qdrant client.

Construct independent clients with `new/1`; each value retains its own URL,
credentials, adapter, and timeout configuration.

    iex> {:ok, client} = Qdrant.Client.new(url: "http://localhost:6333")
    iex> client.url
    "http://localhost:6333"

    iex> {:error, %Qdrant.Error{kind: :configuration}} = Qdrant.Client.new(url: "not-a-url")

# `t`

```elixir
@type t() :: %Qdrant.Client{
  adapter: module() | function(),
  adapter_opts: keyword(),
  api_key: String.t() | nil,
  base_path: String.t(),
  interface: :rest,
  max_response_bytes: pos_integer(),
  tesla: Tesla.Client.t(),
  url: String.t()
}
```

# `new`

```elixir
@spec new(keyword()) :: {:ok, t()} | {:error, Qdrant.Error.t()}
```

# `new!`

```elixir
@spec new!(keyword()) :: t()
```

---

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