# `Qdrant.Api.Http.Points`
[🔗](https://github.com/marinac-dev/qdrant/blob/v0.1.18/lib/qdrant/api/http/points.ex#L1)

Client-aware Qdrant points and search API.

Each operation accepts a `Qdrant.Client` first and a keyword list of request
options last. No-client positional forms remain available for compatibility.

# `batch_update_points`

# `batch_update_points`

# `batch_update_points`

```elixir
@spec batch_update_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Applies a batch of point updates. Options: `:wait`, `:ordering`, `:timeout`.

# `batch_update_points`

# `clear_payload`

# `clear_payload`

# `clear_payload`

```elixir
@spec clear_payload(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Clears payloads selected by a map such as `%{points: [1, 2]}` or
`%{filter: %{must: [...]}}`. Options: `:wait`, `:ordering`, `:timeout`.

# `clear_payload`

# `count_points`

# `count_points`

# `count_points`

```elixir
@spec count_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Counts points matching the request body. Options: `:timeout`.

# `delete_payload`

# `delete_payload`

# `delete_payload`

```elixir
@spec delete_payload(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Deletes payload keys. Options: `:wait`, `:ordering`, `:timeout`.

# `delete_payload`

# `delete_points`

# `delete_points`

# `delete_points`

```elixir
@spec delete_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Deletes points selected by the request body. Options: `:wait`, `:ordering`, `:timeout`.

# `delete_points`

# `delete_vectors`

# `delete_vectors`

# `delete_vectors`

```elixir
@spec delete_vectors(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Deletes vectors. Options: `:wait`, `:ordering`, `:timeout`.

# `delete_vectors`

# `discover_points`

# `discover_points`

# `discover_points`

```elixir
@spec discover_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Discovers points from context pairs. Options: `:consistency`, `:timeout`.

# `discover_points_batch`

# `discover_points_batch`

# `discover_points_batch`

```elixir
@spec discover_points_batch(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.batch_request(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Runs batch discovery. The body must be `%{searches: [discovery, ...]}`.
Options: `:consistency`, `:timeout`.

# `facet_points`

# `facet_points`

# `facet_points`

```elixir
@spec facet_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Calculates facet values. Options: `:consistency`, `:timeout`.

# `get_point`

# `get_point`

# `get_point`

```elixir
@spec get_point(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.extended_point_id(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Retrieves one point. Options: `:consistency`.

# `get_points`

# `get_points`

# `get_points`

```elixir
@spec get_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Retrieves points by ID. Options: `:consistency`, `:timeout`.

# `overwrite_payload`

# `overwrite_payload`

# `overwrite_payload`

```elixir
@spec overwrite_payload(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Replaces complete payloads. Options: `:wait`, `:ordering`, `:timeout`.

# `overwrite_payload`

# `query_points`

# `query_points`

# `query_points`

```elixir
@spec query_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Runs a universal query. `:query` may be omitted for ID-ordered retrieval.
Options: `:consistency`, `:timeout`.

# `query_points_batch`

# `query_points_batch`

# `query_points_batch`

```elixir
@spec query_points_batch(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.batch_request(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Runs batch universal queries. The body must be `%{searches: [query, ...]}`.
Options: `:consistency`, `:timeout`.

# `query_points_groups`

# `query_points_groups`

# `query_points_groups`

```elixir
@spec query_points_groups(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Runs a grouped universal query. Options: `:consistency`, `:timeout`.

# `recommend_points`

# `recommend_points`

# `recommend_points`

```elixir
@spec recommend_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Recommends points. Options: `:consistency`, `:timeout`.

# `recommend_points_batch`

# `recommend_points_batch`

# `recommend_points_batch`

```elixir
@spec recommend_points_batch(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.batch_request(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Runs batch recommendation. The body must be `%{searches: [recommendation, ...]}`.
Options: `:consistency`, `:timeout`.

# `recommend_points_groups`

# `recommend_points_groups`

# `recommend_points_groups`

```elixir
@spec recommend_points_groups(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Recommends points grouped by a field. Options: `:consistency`, `:timeout`.

# `scroll_points`

# `scroll_points`

# `scroll_points`

```elixir
@spec scroll_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Scrolls through points. Options: `:consistency`, `:timeout`.

# `search_matrix_offsets`

# `search_matrix_offsets`

# `search_matrix_offsets`

```elixir
@spec search_matrix_offsets(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Calculates a distance matrix as offsets. Options: `:consistency`, `:timeout`.

# `search_matrix_pairs`

# `search_matrix_pairs`

# `search_matrix_pairs`

```elixir
@spec search_matrix_pairs(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Calculates a distance matrix as point pairs. Options: `:consistency`, `:timeout`.

# `search_points`

# `search_points`

# `search_points`

```elixir
@spec search_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Searches for nearest points. Options: `:consistency`, `:timeout`.

# `search_points_batch`

# `search_points_batch`

# `search_points_batch`

```elixir
@spec search_points_batch(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.batch_request(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Runs batch search. The body must be `%{searches: [search, ...]}`.
Options: `:consistency`, `:timeout`.

# `search_points_groups`

# `search_points_groups`

# `search_points_groups`

```elixir
@spec search_points_groups(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Searches points grouped by a field. Options: `:consistency`, `:timeout`.

# `set_payload`

# `set_payload`

# `set_payload`

```elixir
@spec set_payload(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Sets payload values. Options: `:wait`, `:ordering`, `:timeout`.

# `set_payload`

# `update_vectors`

# `update_vectors`

# `update_vectors`

```elixir
@spec update_vectors(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Updates vectors. Options: `:wait`, `:ordering`, `:timeout`.

# `update_vectors`

# `upsert_points`

# `upsert_points`

# `upsert_points`

```elixir
@spec upsert_points(
  Qdrant.Client.t(),
  String.t(),
  Qdrant.Types.request_body(),
  Qdrant.Types.request_options()
) :: Qdrant.Types.result()
```

Inserts or replaces points. Options: `:wait`, `:ordering`, `:timeout`.

# `upsert_points`

---

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