<!-- Generated by `just docs` from catalog/toolkits/qdrant.yaml, catalog/expansions/qdrant.yaml, catalog/evals/scorecard.json. Edit the source, not this file. -->

# Qdrant

Vector database. Create and manage collections, add and delete points, and run vector search, recommendation, and filtered queries.

| Property | Value |
| --- | --- |
| Slug | `qdrant` |
| Definition version | `0.1.0` |
| Base URL | `https://{{account.hostname}}:{{account.port}}` |
| Auth schemes | `api_key` |
| Action tools | 65 |
| By class | 17 read, 36 write, 12 destructive |
| Triggers | 0 |
| Provider rate limit | not declared, so outbound calls are unpaced |

## Measured routing accuracy

83 golden cases replayed through the router over the whole index: measured over corpus `ea4f12ad2948` (65 toolkits, 2283 tools indexed and 13 declared uncallable), 65 cases written by hand and 18 cases from the paraphrase pass. A case counts as top-1 when its gold tool ranked first and top-8 when it reached the slate at all.

| Measure | Cases | Share |
| --- | --- | --- |
| top-1 | 65/83 | 78.3% |
| top-8 | 81/83 | 97.6% |

The sweep is offline: the reranker is a deterministic identity fake that returns candidates in the order retrieval produced them, so top-1 measures retrieval order rather than a reranked slate. `just eval-live` measures the same cases through the live reranker.

## Authentication

Connect an entity with `ConnectionsService.InitiateConnection`, naming this toolkit's slug. Credentials stay in the connections vault; callers hold connected-account ids only.

### `api_key`

| Property | Value |
| --- | --- |
| Placement | `header` |
| Name | `api-key` |
| Rendered as | `{key}` |

Submit the key with `ConnectionsService` rather than putting it in a request; it is sealed at rest and never returned.

## Tools

65 action tools. The catalog-wide slug is `qdrant.<tool>`, which is what `search_tools` returns and `call_tool` takes.

### `qdrant.root`

Returns information about the running Qdrant instance. Returns information about the running Qdrant instance like version and commit id. Calls GET /.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /`.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `commit` | string |  |
| `title` | string |  |
| `version` | string |  |

Also retrieved by: "what version is this server", "build and commit of the running instance", "basic info about the service".

### `qdrant.get_collections_aliases`

List collections aliases. Get list of all existing collections aliases. Calls GET /aliases.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /aliases`.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.aliases` | array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "every nickname across all indexes", "which alternate names are defined", "the full alias mapping on this cluster".

### `qdrant.cluster_status`

Read the Qdrant cluster's state: which nodes and peers are members, which one leads, and where raft consensus stands. Use for questions about node health and cluster membership. Calls GET /cluster.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /cluster`.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object | Information about current cluster status and structure |
| `result.status` | string, one of disabled |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "how are the nodes doing", "which peers belong to this deployment", "who leads the raft group right now".

### `qdrant.remove_peer`

Remove peer from the cluster. Tries to remove peer from the cluster. Calls DELETE /cluster/peer/{peer_id}.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /cluster/peer/{{params.peer_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `force` | boolean | no | If true - removes peer even if it has shards/replicas on it. Defaults to false. |
| `peer_id` | integer | **yes** | Id of the peer |
| `timeout` | integer | no | Wait for operation commit timeout in seconds. If timeout is reached - request will return with service error. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "drop a node from the cluster", "detach a member by its id", "take a peer out of consensus".

### `qdrant.recover_current_peer`

Tries to recover current peer Raft state. Calls POST /cluster/recover.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /cluster/recover`.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "repair this node's raft state", "bring a peer back into consensus", "fix a member that fell out of the cluster".

### `qdrant.cluster_telemetry`

Collect cluster telemetry data. Get telemetry data, from the point of view of the cluster. Calls GET /cluster/telemetry.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /cluster/telemetry`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `details_level` | integer | no | The level of detail to include in the response |
| `timeout` | integer | no | Timeout for this request. Defaults to 60. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.cluster` | object |  |
| `result.collections` | object |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "usage figures across every peer", "cluster-wide stats and counters", "how the whole deployment is performing".

### `qdrant.get_collections`

List the collections in Qdrant: the name of every vector store and embedding index this database holds. Use when someone asks what stores or indexes exist. Calls GET /collections.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /collections`.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.collections` | array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "what vector stores exist here", "every index this database holds", "names of the embedding stores".

### `qdrant.update_aliases`

Update aliases of the collections. Calls POST /collections/aliases.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/aliases`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `actions` | array of object | **yes** |  |
| `actions[].create_alias` | object | **yes** | Create alternative name for a collection. Collection will be available under both names for search, retrieve, |
| `timeout` | integer | no | Wait for operation commit timeout in seconds. If timeout is reached - request will return with service error. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "point a nickname at a different index", "swap which collection a name resolves to", "add or drop alternate names in one call".

### `qdrant.get_collection`

Read one Qdrant collection's info and configuration: the vector size and distance metric of a store, its shard, replica, and payload settings, and how many records it holds. Calls GET /collections/{collection_name}.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /collections/{{params.collection_name}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to retrieve |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object | Current statistics and configuration of the collection |
| `result.config` | object | Information about the collection configuration |
| `result.indexed_vectors_count` | integer (uint) | Approximate number of indexed vectors in the collection. Indexed vectors in large segments are faster to query, as it is stored in a specialized vector index. |
| `result.optimizer_status` | string, one of ok | Current state of the collection |
| `result.payload_schema` | object | Types of stored payload |
| `result.points_count` | integer (uint) | Approximate number of points (vectors + payloads) in collection. Each point could be accessed by unique id. |
| `result.segments_count` | integer (uint) | Number of segments in collection. Each segment has independent vector as payload indexes |
| `result.status` | string, one of green, yellow, grey, red | Current state of the collection. `Green` - all good. `Yellow` - optimization is running, 'Grey' - optimizations are possible but not triggered, `Red` - some operations failed and was not recovered |
| `result.update_queue` | object | Update queue info |
| `result.warnings` | array | Warnings related to the collection |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "how is this store configured", "what vector size and metric does it use", "shard and replica settings of one store".

### `qdrant.create_collection`

Create a Qdrant collection: a new vector store for embeddings, with the vector size, distance metric, and sharding it should use. Calls PUT /collections/{collection_name}.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /collections/{{params.collection_name}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the new collection |
| `hnsw_config` | object | no | Custom params for HNSW index. If none - values from service configuration file are used. |
| `hnsw_config.ef_construct` | integer (uint) | no | Number of neighbours to consider during the index building. Larger the value - more accurate the search, more time required to build the index. |
| `hnsw_config.full_scan_threshold` | integer (uint) | no | Minimal size threshold (in KiloBytes) below which full-scan is preferred over HNSW search. This measures the total size of vectors being queried against. When the maximum estimated amount of points... |
| `hnsw_config.inline_storage` | boolean | no | Store copies of original and quantized vectors within the HNSW index file. Default: false. Enabling this option will trade the search speed for disk usage by reducing amount of random seeks during... |
| `hnsw_config.m` | integer (uint) | no | Number of edges per node in the index graph. Larger the value - more accurate the search, more space required. |
| `hnsw_config.max_indexing_threads` | integer (uint) | no | Number of parallel threads used for background index building. If 0 - automatically select from 8 to 16. Best to keep between 8 and 16 to prevent likelihood of building broken/inefficient HNSW... |
| `hnsw_config.on_disk` | boolean | no | Store HNSW index on disk. If set to false, the index will be stored in RAM. Default: false |
| `hnsw_config.payload_m` | integer (uint) | no | Custom M param for additional payload-aware HNSW links. If not set, default M will be used. |
| `metadata` | object | no | Arbitrary JSON metadata for the collection This can be used to store application-specific information such as creation time, migration data, inference model info, etc. |
| `on_disk_payload` | boolean | no | If true - point's payload will not be stored in memory. It will be read from the disk every time it is requested. This setting saves RAM by (slightly) increasing the response time. Note: those... |
| `optimizers_config` | object | no | Custom params for Optimizers. If none - values from service configuration file are used. |
| `optimizers_config.default_segment_number` | integer (uint) | no | Target amount of segments optimizer will try to keep. Real amount of segments may vary depending on multiple parameters: - Amount of stored points - Current write RPS It is recommended to select... |
| `optimizers_config.deleted_threshold` | number (double) | no | The minimal fraction of deleted vectors in a segment, required to perform segment optimization |
| `optimizers_config.flush_interval_sec` | integer (uint64) | no | Minimum interval between forced flushes. |
| `optimizers_config.indexing_threshold` | integer (uint) | no | Maximum size (in kilobytes) of vectors allowed for plain index, exceeding this threshold will enable vector indexing Default value is 20,000, based on... |
| `optimizers_config.max_optimization_threads` | string, one of auto | no | Max number of threads (jobs) for running optimizations per shard. Note: each optimization job will also use `max_indexing_threads` threads by itself for index building. If "auto" - have no limit and... |
| `optimizers_config.max_segment_size` | integer (uint) | no | Do not create segments larger this size (in kilobytes). Large segments might require disproportionately long indexation times, therefore it makes sense to limit the size of segments. If indexation... |
| `optimizers_config.memmap_threshold` | integer (uint) | no | Maximum size (in kilobytes) of vectors to store in-memory per segment. Segments larger than this threshold will be stored as read-only memmapped file. Memmap storage is disabled by default, to enable... |
| `optimizers_config.prevent_unoptimized` | boolean | no | If enabled, the service will try to prevent the creation of large unoptimized segments. When enabled, new points written to segments larger than the indexing threshold are stored as "deferred... |
| `optimizers_config.vacuum_min_vector_number` | integer (uint) | no | The minimal number of vectors in a segment, required to perform segment optimization |
| `quantization_config` | object | no | Quantization parameters. If none - quantization is disabled. |
| `quantization_config.scalar` | object | **yes** |  |
| `replication_factor` | integer (uint32) | no | Number of shards replicas. Default is 1 Minimum is 1 |
| `shard_number` | integer (uint32) | no | For auto sharding: Number of shards in collection. - Default is 1 for standalone, otherwise equal to the number of nodes - Minimum is 1 For custom sharding: Number of shards in collection per shard... |
| `sharding_method` | string, one of auto, custom | no | Sharding method Default is Auto - points are distributed across all available shards Custom - points are distributed across shards according to shard key |
| `sparse_vectors` | object | no | Sparse vector data config. |
| `strict_mode_config` | object | no | Strict-mode config. |
| `strict_mode_config.condition_max_size` | integer (uint) | no | Max size of a condition, eg. items in `MatchAny`. |
| `strict_mode_config.enabled` | boolean | no | Whether strict mode is enabled for a collection or not. |
| `strict_mode_config.filter_max_conditions` | integer (uint) | no | Max conditions a filter can have. |
| `strict_mode_config.max_collection_payload_size_bytes` | integer (uint) | no | Max size of a collections payload storage in bytes |
| `strict_mode_config.max_collection_vector_size_bytes` | integer (uint) | no | Max size of a collections vector storage in bytes, ignoring replicas. |
| `strict_mode_config.max_disk_usage_percent` | integer (uint8) | no | Reject disk-consuming update operations (e.g. upsert, set payload) when the filesystem hosting Qdrant storage is filled above this percentage of its total capacity. Value in [1, 100]. Applied... |
| `strict_mode_config.max_payload_index_count` | integer (uint) | no | Max number of payload indexes in a collection |
| `strict_mode_config.max_points_count` | integer (uint) | no | Max number of points estimated in a collection |
| `strict_mode_config.max_query_limit` | integer (uint) | no | Max allowed `limit` parameter for all APIs that don't have their own max limit. |
| `strict_mode_config.max_resident_memory_percent` | integer (uint8) | no | Reject memory-consuming update operations (e.g. upsert, set payload) when the process resident memory exceeds this percentage of total system memory (or cgroup limit). Value in [1, 100]. Applied... |
| `strict_mode_config.max_timeout` | integer (uint) | no | Max allowed `timeout` parameter. |
| `strict_mode_config.multivector_config` | object | no | Multivector strict mode configuration |
| `strict_mode_config.read_rate_limit` | integer (uint) | no | Max number of read operations per minute per replica |
| `strict_mode_config.search_allow_exact` | boolean | no | Whether exact search is allowed. |
| `strict_mode_config.search_max_batchsize` | integer (uint) | no | Max batchsize when searching |
| `strict_mode_config.search_max_hnsw_ef` | integer (uint) | no | Max HNSW ef value allowed in search parameters. |
| `strict_mode_config.search_max_oversampling` | number (double) | no | Max oversampling value allowed in search. |
| `strict_mode_config.sparse_config` | object | no | Sparse vector strict mode configuration |
| `strict_mode_config.unindexed_filtering_retrieve` | boolean | no | Allow usage of unindexed fields in retrieval based (e.g. search) filters. |
| `strict_mode_config.unindexed_filtering_update` | boolean | no | Allow usage of unindexed fields in filtered updates (e.g. delete by payload). |
| `strict_mode_config.upsert_max_batchsize` | integer (uint) | no | Max batchsize when upserting |
| `strict_mode_config.write_rate_limit` | integer (uint) | no | Max number of write operations per minute per replica |
| `timeout` | integer | no | Wait for operation commit timeout in seconds. If timeout is reached - request will return with service error. |
| `vectors` | object | no | Vector params separator for single and multiple vector modes Single mode: { "size": 128, "distance": "Cosine" } or multiple mode: { "default": { "size": 128, "distance": "Cosine" } } |
| `vectors.datatype` | string, one of float32, uint8, float16, turbo4 | no | Defines which datatype should be used to represent vectors in the storage. Choosing different datatypes allows to optimize memory usage and performance vs accuracy. - For `float32` datatype - vectors... |
| `vectors.distance` | string, one of Cosine, Euclid, Dot, Manhattan | **yes** | Type of internal tags, build from payload Distance function types used to compare vectors |
| `vectors.hnsw_config` | object | no | Custom params for HNSW index. If none - values from collection configuration are used. |
| `vectors.multivector_config` | object | no |  |
| `vectors.on_disk` | boolean | no | If true, vectors are served from disk, improving RAM usage at the cost of latency Default: false |
| `vectors.quantization_config` | object | no | Custom params for quantization. If none - values from collection configuration are used. |
| `vectors.size` | integer (uint64) | **yes** | Size of a vectors used |
| `wal_config` | object | no | Custom params for WAL. If none - values from service configuration file are used. |
| `wal_config.wal_capacity_mb` | integer (uint) | no | Size of a single WAL segment in MB |
| `wal_config.wal_retain_closed` | integer (uint) | no | Number of closed WAL segments to retain |
| `wal_config.wal_segments_ahead` | integer (uint) | no | Number of WAL segments to create ahead of actually used ones |
| `write_consistency_factor` | integer (uint32) | no | Defines how many replicas should apply the operation for us to consider it successful. Increasing this number will make the collection more resilient to inconsistencies, but will also make it fail if... |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "set up a new vector store", "start a fresh index for embeddings", "make somewhere to keep my vectors".

### `qdrant.update_collection`

Update collection parameters. Update parameters of the existing collection. Calls PATCH /collections/{collection_name}.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PATCH /collections/{{params.collection_name}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to update |
| `hnsw_config` | object | no | HNSW parameters to update for the collection index. If none - it is left unchanged. |
| `hnsw_config.ef_construct` | integer (uint) | no | Number of neighbours to consider during the index building. Larger the value - more accurate the search, more time required to build the index. |
| `hnsw_config.full_scan_threshold` | integer (uint) | no | Minimal size threshold (in KiloBytes) below which full-scan is preferred over HNSW search. This measures the total size of vectors being queried against. When the maximum estimated amount of points... |
| `hnsw_config.inline_storage` | boolean | no | Store copies of original and quantized vectors within the HNSW index file. Default: false. Enabling this option will trade the search speed for disk usage by reducing amount of random seeks during... |
| `hnsw_config.m` | integer (uint) | no | Number of edges per node in the index graph. Larger the value - more accurate the search, more space required. |
| `hnsw_config.max_indexing_threads` | integer (uint) | no | Number of parallel threads used for background index building. If 0 - automatically select from 8 to 16. Best to keep between 8 and 16 to prevent likelihood of building broken/inefficient HNSW... |
| `hnsw_config.on_disk` | boolean | no | Store HNSW index on disk. If set to false, the index will be stored in RAM. Default: false |
| `hnsw_config.payload_m` | integer (uint) | no | Custom M param for additional payload-aware HNSW links. If not set, default M will be used. |
| `metadata` | object | no | Metadata to update for the collection. If provided, this will merge with existing metadata. To remove metadata, set it to an empty object. |
| `optimizers_config` | object | no | Custom params for Optimizers. If none - it is left unchanged. This operation is blocking, it will only proceed once all current optimizations are complete |
| `optimizers_config.default_segment_number` | integer (uint) | no | Target amount of segments optimizer will try to keep. Real amount of segments may vary depending on multiple parameters: - Amount of stored points - Current write RPS It is recommended to select... |
| `optimizers_config.deleted_threshold` | number (double) | no | The minimal fraction of deleted vectors in a segment, required to perform segment optimization |
| `optimizers_config.flush_interval_sec` | integer (uint64) | no | Minimum interval between forced flushes. |
| `optimizers_config.indexing_threshold` | integer (uint) | no | Maximum size (in kilobytes) of vectors allowed for plain index, exceeding this threshold will enable vector indexing Default value is 20,000, based on... |
| `optimizers_config.max_optimization_threads` | string, one of auto | no | Max number of threads (jobs) for running optimizations per shard. Note: each optimization job will also use `max_indexing_threads` threads by itself for index building. If "auto" - have no limit and... |
| `optimizers_config.max_segment_size` | integer (uint) | no | Do not create segments larger this size (in kilobytes). Large segments might require disproportionately long indexation times, therefore it makes sense to limit the size of segments. If indexation... |
| `optimizers_config.memmap_threshold` | integer (uint) | no | Maximum size (in kilobytes) of vectors to store in-memory per segment. Segments larger than this threshold will be stored as read-only memmapped file. Memmap storage is disabled by default, to enable... |
| `optimizers_config.prevent_unoptimized` | boolean | no | If enabled, the service will try to prevent the creation of large unoptimized segments. When enabled, new points written to segments larger than the indexing threshold are stored as "deferred... |
| `optimizers_config.vacuum_min_vector_number` | integer (uint) | no | The minimal number of vectors in a segment, required to perform segment optimization |
| `params` | object | no | Collection base params. If none - it is left unchanged. |
| `params.on_disk_payload` | boolean | no | If true - point's payload will not be stored in memory. It will be read from the disk every time it is requested. This setting saves RAM by (slightly) increasing the response time. Note: those... |
| `params.read_fan_out_delay_ms` | integer (uint64) | no | Delay in milliseconds before sending read requests to remote nodes |
| `params.read_fan_out_factor` | integer (uint32) | no | Fan-out every read request to these many additional remote nodes (and return first available response) |
| `params.replication_factor` | integer (uint32) | no | Number of replicas for each shard |
| `params.write_consistency_factor` | integer (uint32) | no | Minimal number successful responses from replicas to consider operation successful |
| `quantization_config` | object | no | Quantization parameters to update. If none - it is left unchanged. |
| `quantization_config.scalar` | object | **yes** |  |
| `sparse_vectors` | object | no | Map of sparse vector data parameters to update for each sparse vector. |
| `strict_mode_config` | object | no |  |
| `strict_mode_config.condition_max_size` | integer (uint) | no | Max size of a condition, eg. items in `MatchAny`. |
| `strict_mode_config.enabled` | boolean | no | Whether strict mode is enabled for a collection or not. |
| `strict_mode_config.filter_max_conditions` | integer (uint) | no | Max conditions a filter can have. |
| `strict_mode_config.max_collection_payload_size_bytes` | integer (uint) | no | Max size of a collections payload storage in bytes |
| `strict_mode_config.max_collection_vector_size_bytes` | integer (uint) | no | Max size of a collections vector storage in bytes, ignoring replicas. |
| `strict_mode_config.max_disk_usage_percent` | integer (uint8) | no | Reject disk-consuming update operations (e.g. upsert, set payload) when the filesystem hosting Qdrant storage is filled above this percentage of its total capacity. Value in [1, 100]. Applied... |
| `strict_mode_config.max_payload_index_count` | integer (uint) | no | Max number of payload indexes in a collection |
| `strict_mode_config.max_points_count` | integer (uint) | no | Max number of points estimated in a collection |
| `strict_mode_config.max_query_limit` | integer (uint) | no | Max allowed `limit` parameter for all APIs that don't have their own max limit. |
| `strict_mode_config.max_resident_memory_percent` | integer (uint8) | no | Reject memory-consuming update operations (e.g. upsert, set payload) when the process resident memory exceeds this percentage of total system memory (or cgroup limit). Value in [1, 100]. Applied... |
| `strict_mode_config.max_timeout` | integer (uint) | no | Max allowed `timeout` parameter. |
| `strict_mode_config.multivector_config` | object | no | Multivector strict mode configuration |
| `strict_mode_config.read_rate_limit` | integer (uint) | no | Max number of read operations per minute per replica |
| `strict_mode_config.search_allow_exact` | boolean | no | Whether exact search is allowed. |
| `strict_mode_config.search_max_batchsize` | integer (uint) | no | Max batchsize when searching |
| `strict_mode_config.search_max_hnsw_ef` | integer (uint) | no | Max HNSW ef value allowed in search parameters. |
| `strict_mode_config.search_max_oversampling` | number (double) | no | Max oversampling value allowed in search. |
| `strict_mode_config.sparse_config` | object | no | Sparse vector strict mode configuration |
| `strict_mode_config.unindexed_filtering_retrieve` | boolean | no | Allow usage of unindexed fields in retrieval based (e.g. search) filters. |
| `strict_mode_config.unindexed_filtering_update` | boolean | no | Allow usage of unindexed fields in filtered updates (e.g. delete by payload). |
| `strict_mode_config.upsert_max_batchsize` | integer (uint) | no | Max batchsize when upserting |
| `strict_mode_config.write_rate_limit` | integer (uint) | no | Max number of write operations per minute per replica |
| `timeout` | integer | no | Wait for operation commit timeout in seconds. If timeout is reached - request will return with service error. |
| `vectors` | object | no | Map of vector data parameters to update for each named vector. To update parameters in a collection having a single unnamed vector, use an empty string as name. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "change an index's optimizer and hnsw settings", "tune segment and quantization config", "alter how a vector collection is stored".

### `qdrant.delete_collection`

Delete a Qdrant collection: drop a whole vector store, its embeddings, and its metadata, permanently and without a recycle bin. Calls DELETE /collections/{collection_name}.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /collections/{{params.collection_name}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to delete |
| `timeout` | integer | no | Wait for operation commit timeout in seconds. If timeout is reached - request will return with service error. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "drop a whole vector store", "throw away an index and its embeddings", "remove a store for good".

### `qdrant.get_collection_aliases`

List a Qdrant collection's aliases: the alternative names that point at one vector store, which is how a rebuilt store takes over a name clients already query. Calls GET /collections/{collection_name}/aliases.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /collections/{{params.collection_name}}/aliases`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.aliases` | array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "what other names point at this store", "alternative names for one index", "which store does an alias resolve to".

### `qdrant.collection_cluster_info`

Collection cluster info. Get cluster information for a collection. Calls GET /collections/{collection_name}/cluster.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /collections/{{params.collection_name}}/cluster`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to retrieve the cluster info for |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object | Current clustering distribution for the collection |
| `result.local_shards` | array | Local shards |
| `result.peer_id` | integer (uint64) | ID of this peer |
| `result.remote_shards` | array | Remote shards |
| `result.resharding_operations` | array | Resharding operations |
| `result.shard_count` | integer (uint) | Total number of shards |
| `result.shard_transfers` | array | Shard transfers |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "which shards of an index sit on which node", "peer placement for one vector collection", "local and remote shard layout here".

### `qdrant.update_collection_cluster`

Update collection cluster setup. Calls POST /collections/{collection_name}/cluster.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/cluster`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection on which to to apply the cluster update operation |
| `move_shard` | object | **yes** |  |
| `move_shard.from_peer_id` | integer (uint64) | **yes** |  |
| `move_shard.method` | string, one of stream_records, snapshot, wal_delta, resharding_stream_records | no | Method for transferring the shard from one node to another |
| `move_shard.shard_id` | integer (uint32) | **yes** |  |
| `move_shard.to_peer_id` | integer (uint64) | **yes** |  |
| `timeout` | integer | no | Wait for operation commit timeout in seconds. If timeout is reached - request will return with service error. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "move a shard to another peer", "rebalance replicas across nodes", "change where partitions of an index live".

### `qdrant.collection_exists`

Check whether a Qdrant collection exists: answer true or false for a vector store or index by name, without reading its configuration. Use before creating a store that may already be there. Calls GET /collections/{collection_name}/exists.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /collections/{{params.collection_name}}/exists`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object | State of existence of a collection, true = exists, false = does not exist |
| `result.exists` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "is there already a store by that name", "has this index been created yet", "check a name before setting one up".

### `qdrant.facet`

Facet a payload key with a given filter. Count points that satisfy the given filter for each unique value of a payload key. Calls POST /collections/{collection_name}/facet.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/facet`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to facet in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `exact` | boolean | no | Whether to do a more expensive exact count for each of the values in the facet. Default is false. |
| `filter` | object | no | Filter conditions - only consider points that satisfy these conditions. |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `key` | string | **yes** | Payload key to use for faceting. |
| `limit` | integer (uint) | no | Max number of hits to return. Default is 10. |
| `shard_key` | string | no |  |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.hits` | array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "count matches per distinct value", "how many points share each payload value", "group a filtered result by one key".

### `qdrant.create_field_index`

Index one payload field of a Qdrant collection, so filters and lookups on that attribute or metadata key run fast instead of scanning. Calls PUT /collections/{collection_name}/index.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /collections/{{params.collection_name}}/index`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection |
| `field_name` | string | **yes** |  |
| `field_schema` | string, one of keyword, integer, float, geo, text, bool, datetime, uuid | no | All possible names of payload types |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `timeout` | integer | no | Timeout for the operation |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "make filtering on an attribute fast", "add a payload index on one field", "stop a metadata lookup from scanning".

### `qdrant.delete_field_index`

Delete index for field in collection. Delete field index for collection. Calls DELETE /collections/{collection_name}/index/{field_name}.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /collections/{{params.collection_name}}/index/{{params.field_name}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection |
| `field_name` | string | **yes** | Name of the field where to delete the index |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `timeout` | integer | no | Timeout for the operation |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "drop a payload field index", "stop indexing one metadata key", "remove the secondary lookup on an attribute".

### `qdrant.get_optimizations`

Get optimization progress. Get progress of ongoing and completed optimizations for a collection. Calls GET /collections/{collection_name}/optimizations.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /collections/{{params.collection_name}}/optimizations`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection |
| `completed_limit` | integer | no | Maximum number of completed optimizations to return. Ignored if `completed` is not in the `with` parameter. Defaults to 16. |
| `with` | string | no | Comma-separated list of optional fields to include in the response. Possible values: queued, completed, idle_segments. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object | Optimizations progress for the collection |
| `result.completed` | array | Completed optimizations. Requires `?with=completed`. Limited by `?completed_limit=N`. |
| `result.idle_segments` | array | Segments that don't require optimization. Requires `?with=idle_segments`. |
| `result.queued` | array | An estimated queue of pending optimizations. Requires `?with=queued`. |
| `result.running` | array | Currently running optimizations. |
| `result.summary` | object |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "how far along is indexing", "progress of segment merges for a collection", "which optimizers have finished".

### `qdrant.get_points`

Get several Qdrant points by id: the vectors and metadata for a list of record ids in one call. Calls POST /collections/{collection_name}/points.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to retrieve from |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `ids` | array of integer | **yes** | Look for points with ids |
| `shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `with_payload` | boolean | no | Select which payload to return with the response. Default is true. |
| `with_vector` | boolean | no | Options for specifying which vector to include |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of object |  |
| `result[].id` | integer (uint64) | Type, used for specifying point ID in user interface |
| `result[].order_value` | integer (int64) |  |
| `result[].payload` | object | Payload - values assigned to the point |
| `result[].shard_key` | string | Shard Key |
| `result[].vector` | array | Vector of the point |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "fetch a batch of records by id", "read the vectors behind several ids", "pull back many rows at once".

### `qdrant.upsert_points`

Write records into a Qdrant collection: load embeddings and their metadata into a vector store, inserting new ids and overwriting ids already there. Calls PUT /collections/{collection_name}/points.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /collections/{{params.collection_name}}/points`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `batch` | object | **yes** |  |
| `batch.ids` | array | **yes** |  |
| `batch.payloads` | array | no |  |
| `batch.vectors` | array | **yes** |  |
| `collection_name` | string | **yes** | Name of the collection to update from |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `shard_key` | string | no |  |
| `timeout` | integer | no | Timeout for the operation |
| `update_filter` | object | no | Filter to apply when updating existing points. Only points matching this filter will be updated. Points that don't match will keep their current state. New points will be inserted regardless of the... |
| `update_filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `update_filter.must` | object | no | All conditions must match |
| `update_filter.must_not` | object | no | All conditions must NOT match |
| `update_filter.should` | object | no | At least one of those conditions should match |
| `update_mode` | string, one of upsert, insert_only, update_only | no | Mode of the upsert operation: insert_only, upsert (default), update_only |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "load embeddings into a store", "write vectors and their metadata", "add or overwrite rows by id".

### `qdrant.batch_update`

Batch update points. Apply a series of update operations for points, vectors and payloads. Calls POST /collections/{collection_name}/points/batch.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/batch`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to apply operations on |
| `operations` | array of object | **yes** |  |
| `operations[].upsert` | object | **yes** |  |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `timeout` | integer | no | Timeout for the operation |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of object |  |
| `result[].operation_id` | integer (uint64) | Sequential number of the operation |
| `result[].status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "apply several point operations in one call", "insert, delete and set payload together", "run a list of vector changes at once".

### `qdrant.count_points`

Count the records in a Qdrant collection: how many points a vector store holds, either all of them or only those a filter selects. Calls POST /collections/{collection_name}/points/count.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/count`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to count in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `exact` | boolean | no | If true, count exact number of points. If false, count approximate number of points faster. Approximate count might be unreliable during the indexing process. Default: true. Defaults to true. |
| `filter` | object | no | Look only for points which satisfies this conditions |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.count` | integer (uint) | Number of points which satisfy the conditions |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "how many records does a store hold", "total rows that match a filter", "size of a vector store in records".

### `qdrant.delete_points`

Delete records from a Qdrant collection: drop the embeddings and metadata for a list of ids, or for everything a filter selects. Calls POST /collections/{collection_name}/points/delete.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/delete`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to delete from |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `points` | array of integer | **yes** |  |
| `shard_key` | string | no |  |
| `timeout` | integer | no | Timeout for the operation |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "drop the vectors for these ids", "remove records that match a filter", "take rows out of a store".

### `qdrant.discover_points`

Discover points. Use context and a target to find the most similar points to the target, constrained by the context. Calls POST /collections/{collection_name}/points/discover.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/discover`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to search in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `context` | array of object | no | Pairs of { positive, negative } examples to constrain the search. When using only the context (without a target), a special search - called context search - is performed where pairs of points are... |
| `context[].negative` | integer (uint64) | **yes** | Type, used for specifying point ID in user interface |
| `context[].positive` | integer (uint64) | **yes** | Type, used for specifying point ID in user interface |
| `filter` | object | no | Look only for points which satisfies this conditions |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `limit` | integer (uint) | **yes** | Max number of result to return |
| `lookup_from` | object | no | The location used to lookup vectors. If not specified - use current collection. Note: the other collection should have the same vector size as the current collection |
| `lookup_from.collection` | string | **yes** | Name of the collection used for lookup |
| `lookup_from.shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `lookup_from.vector` | string | no | Optional name of the vector field within the collection. If not provided, the default vector field will be used. |
| `offset` | integer (uint) | no | Offset of the first result to return. May be used to paginate results. Note: large offset values may cause performance issues. |
| `params` | object | no | Additional search params |
| `params.acorn` | object | no | ACORN search params |
| `params.exact` | boolean | no | Search without approximation. If set to true, search may run long but with exact results. Defaults to false. |
| `params.hnsw_ef` | integer (uint) | no | Params relevant to HNSW index Size of the beam in a beam-search. Larger the value - more accurate the result, more time required for search. |
| `params.indexed_only` | boolean | no | If enabled, the engine will only perform search among indexed or small segments. Using this option prevents slow searches in case of delayed index, but does not guarantee that all uploaded vectors... Defaults to false. |
| `params.quantization` | object | no | Quantization params |
| `shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `target` | integer (uint64) | no | Look for vectors closest to this. When using the target (with or without context), the integer part of the score represents the rank with respect to the context, while the decimal part of the score... |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `using` | string | no | Define which vector to use for recommendation, if not specified - try to use default vector |
| `with_payload` | boolean | no | Select which payload to return with the response. Default is false. |
| `with_vector` | boolean | no | Options for specifying which vectors to include into response. Default is false. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of object |  |
| `result[].id` | integer (uint64) | Type, used for specifying point ID in user interface |
| `result[].order_value` | integer (int64) | Order-by value |
| `result[].payload` | object | Payload - values assigned to the point |
| `result[].score` | number (float) | Points vector distance to the query vector |
| `result[].shard_key` | string | Shard Key |
| `result[].vector` | array | Vector of the point |
| `result[].version` | integer (uint64) | Point version |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "add points", "set up points", "start points".

### `qdrant.discover_batch_points`

Discover batch points. Look for points based on target and/or positive and negative example pairs, in batch. Calls POST /collections/{collection_name}/points/discover/batch.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/discover/batch`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to search in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `searches` | array of object | **yes** |  |
| `searches[].context` | array | no | Pairs of { positive, negative } examples to constrain the search. When using only the context (without a target), a special search - called context search - is performed where pairs of points are... |
| `searches[].filter` | object | no | Look only for points which satisfies this conditions |
| `searches[].limit` | integer (uint) | **yes** | Max number of result to return |
| `searches[].lookup_from` | object | no | The location used to lookup vectors. If not specified - use current collection. Note: the other collection should have the same vector size as the current collection |
| `searches[].offset` | integer (uint) | no | Offset of the first result to return. May be used to paginate results. Note: large offset values may cause performance issues. |
| `searches[].params` | object | no | Additional search params |
| `searches[].shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `searches[].target` | integer (uint64) | no | Look for vectors closest to this. When using the target (with or without context), the integer part of the score represents the rank with respect to the context, while the decimal part of the score... |
| `searches[].using` | string | no | Define which vector to use for recommendation, if not specified - try to use default vector |
| `searches[].with_payload` | boolean | no | Select which payload to return with the response. Default is false. |
| `searches[].with_vector` | boolean | no | Options for specifying which vectors to include into response. Default is false. |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "run several context searches at once", "positive and negative examples in one call", "batched discovery over target pairs".

### `qdrant.set_payload`

Set metadata on Qdrant records: attach or overwrite payload fields, tags, and attributes on the points an id list or filter selects. Calls POST /collections/{collection_name}/points/payload.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/payload`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to set from |
| `filter` | object | no | Assigns payload to each point that satisfy this filter condition |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `key` | string | no | Assigns payload to each point that satisfy this path of property |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `payload` | object | **yes** |  |
| `points` | array of integer | no | Assigns payload to each point in this list |
| `shard_key` | string | no |  |
| `timeout` | integer | no | Timeout for the operation |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "tag records with metadata", "attach attributes to stored rows", "write a field onto these records".

### `qdrant.overwrite_payload`

Overwrite payload. Replace full payload of points with new one. Calls PUT /collections/{collection_name}/points/payload.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /collections/{{params.collection_name}}/points/payload`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to set from |
| `filter` | object | no | Assigns payload to each point that satisfy this filter condition |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `key` | string | no | Assigns payload to each point that satisfy this path of property |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `payload` | object | **yes** |  |
| `points` | array of integer | no | Assigns payload to each point in this list |
| `shard_key` | string | no |  |
| `timeout` | integer | no | Timeout for the operation |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "replace payload", "overwrite payload", "swap out payload".

### `qdrant.clear_payload`

Clear payload. Remove all payload for specified points. Calls POST /collections/{collection_name}/points/payload/clear.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/payload/clear`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to clear payload from |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `points` | array of integer | **yes** |  |
| `shard_key` | string | no |  |
| `timeout` | integer | no | Timeout for the operation |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "add payload", "set up payload", "start payload".

### `qdrant.delete_payload`

Delete payload. Delete specified key payload for points. Calls POST /collections/{collection_name}/points/payload/delete.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/payload/delete`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to delete from |
| `filter` | object | no | Deletes values from points that satisfy this filter condition |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `keys` | array of string | **yes** | List of payload keys to remove from payload |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `points` | array of integer | no | Deletes values from each point in this list |
| `shard_key` | string | no |  |
| `timeout` | integer | no | Timeout for the operation |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "get rid of payload", "take down payload", "clear out payload".

### `qdrant.query_points`

Query a Qdrant collection: the general entry point that returns the closest matches to a vector, an id, or a set of examples, with filters, ordering, and grouping. Calls POST /collections/{collection_name}/points/query.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/query`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to query |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `filter` | object | no | Filter conditions - return only those points that satisfy the specified conditions. |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `limit` | integer (uint) | no | Max number of points to return. Default is 10. |
| `lookup_from` | object | no | The location to use for IDs lookup, if not specified - use the current collection and the 'using' vector Note: the other collection vectors should have the same vector size as the 'using' vector in... |
| `lookup_from.collection` | string | **yes** | Name of the collection used for lookup |
| `lookup_from.shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `lookup_from.vector` | string | no | Optional name of the vector field within the collection. If not provided, the default vector field will be used. |
| `offset` | integer (uint) | no | Offset of the result. Skip this many points. Default is 0 |
| `params` | object | no | Search params for when there is no prefetch |
| `params.acorn` | object | no | ACORN search params |
| `params.exact` | boolean | no | Search without approximation. If set to true, search may run long but with exact results. Defaults to false. |
| `params.hnsw_ef` | integer (uint) | no | Params relevant to HNSW index Size of the beam in a beam-search. Larger the value - more accurate the result, more time required for search. |
| `params.indexed_only` | boolean | no | If enabled, the engine will only perform search among indexed or small segments. Using this option prevents slow searches in case of delayed index, but does not guarantee that all uploaded vectors... Defaults to false. |
| `params.quantization` | object | no | Quantization params |
| `prefetch` | object | no | Sub-requests to perform first. If present, the query will be performed on the results of the prefetch(es). |
| `prefetch.filter` | object | no | Filter conditions - return only those points that satisfy the specified conditions. |
| `prefetch.limit` | integer (uint) | no | Max number of points to return. Default is 10. |
| `prefetch.lookup_from` | object | no | The location to use for IDs lookup, if not specified - use the current collection and the 'using' vector Note: the other collection vectors should have the same vector size as the 'using' vector in... |
| `prefetch.params` | object | no | Search params for when there is no prefetch |
| `prefetch.prefetch` | object | no | Sub-requests to perform first. If present, the query will be performed on the results of the prefetches. |
| `prefetch.query` | array | no | Query to perform. If missing without prefetches, returns points ordered by their IDs. |
| `prefetch.score_threshold` | number (float) | no | Return points with scores better than this threshold. |
| `prefetch.using` | string | no | Define which vector name to use for querying. If missing, the default vector is used. |
| `query` | array of number | no | Query to perform. If missing without prefetches, returns points ordered by their IDs. |
| `score_threshold` | number (float) | no | Return points with scores better than this threshold. |
| `shard_key` | string | no |  |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `using` | string | no | Define which vector name to use for querying. If missing, the default vector is used. |
| `with_payload` | boolean | no | Options for specifying which payload to include or not. Default is false. |
| `with_vector` | boolean | no | Options for specifying which vectors to include into the response. Default is false. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.points` | array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "closest matches for a vector", "rank a store by similarity with filters", "the general similarity query".

### `qdrant.query_batch_points`

Query points in batch. Universally query points in batch. Calls POST /collections/{collection_name}/points/query/batch.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/query/batch`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to query |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `searches` | array of object | **yes** |  |
| `searches[].filter` | object | no | Filter conditions - return only those points that satisfy the specified conditions. |
| `searches[].limit` | integer (uint) | no | Max number of points to return. Default is 10. |
| `searches[].lookup_from` | object | no | The location to use for IDs lookup, if not specified - use the current collection and the 'using' vector Note: the other collection vectors should have the same vector size as the 'using' vector in... |
| `searches[].offset` | integer (uint) | no | Offset of the result. Skip this many points. Default is 0 |
| `searches[].params` | object | no | Search params for when there is no prefetch |
| `searches[].prefetch` | object | no | Sub-requests to perform first. If present, the query will be performed on the results of the prefetch(es). |
| `searches[].query` | array | no | Query to perform. If missing without prefetches, returns points ordered by their IDs. |
| `searches[].score_threshold` | number (float) | no | Return points with scores better than this threshold. |
| `searches[].shard_key` | string | no |  |
| `searches[].using` | string | no | Define which vector name to use for querying. If missing, the default vector is used. |
| `searches[].with_payload` | boolean | no | Options for specifying which payload to include or not. Default is false. |
| `searches[].with_vector` | boolean | no | Options for specifying which vectors to include into the response. Default is false. |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of object |  |
| `result[].points` | array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "run several searches in one request", "many vector lookups at once", "batched queries over an index".

### `qdrant.query_points_groups`

Query points, grouped by a given payload field. Universally query points, grouped by a given payload field. Calls POST /collections/{collection_name}/points/query/groups.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/query/groups`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to query |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `filter` | object | no | Filter conditions - return only those points that satisfy the specified conditions. |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `group_by` | string | **yes** | Payload field to group by, must be a string or number field. If the field contains more than 1 value, all values will be used for grouping. One point can be in multiple groups. |
| `group_size` | integer (uint) | no | Maximum amount of points to return per group. Default is 3. |
| `limit` | integer (uint) | no | Maximum amount of groups to return. Default is 10. |
| `lookup_from` | object | no | The location to use for IDs lookup, if not specified - use the current collection and the 'using' vector Note: the other collection vectors should have the same vector size as the 'using' vector in... |
| `lookup_from.collection` | string | **yes** | Name of the collection used for lookup |
| `lookup_from.shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `lookup_from.vector` | string | no | Optional name of the vector field within the collection. If not provided, the default vector field will be used. |
| `params` | object | no | Search params for when there is no prefetch |
| `params.acorn` | object | no | ACORN search params |
| `params.exact` | boolean | no | Search without approximation. If set to true, search may run long but with exact results. Defaults to false. |
| `params.hnsw_ef` | integer (uint) | no | Params relevant to HNSW index Size of the beam in a beam-search. Larger the value - more accurate the result, more time required for search. |
| `params.indexed_only` | boolean | no | If enabled, the engine will only perform search among indexed or small segments. Using this option prevents slow searches in case of delayed index, but does not guarantee that all uploaded vectors... Defaults to false. |
| `params.quantization` | object | no | Quantization params |
| `prefetch` | object | no | Sub-requests to perform first. If present, the query will be performed on the results of the prefetch(es). |
| `prefetch.filter` | object | no | Filter conditions - return only those points that satisfy the specified conditions. |
| `prefetch.limit` | integer (uint) | no | Max number of points to return. Default is 10. |
| `prefetch.lookup_from` | object | no | The location to use for IDs lookup, if not specified - use the current collection and the 'using' vector Note: the other collection vectors should have the same vector size as the 'using' vector in... |
| `prefetch.params` | object | no | Search params for when there is no prefetch |
| `prefetch.prefetch` | object | no | Sub-requests to perform first. If present, the query will be performed on the results of the prefetches. |
| `prefetch.query` | array | no | Query to perform. If missing without prefetches, returns points ordered by their IDs. |
| `prefetch.score_threshold` | number (float) | no | Return points with scores better than this threshold. |
| `prefetch.using` | string | no | Define which vector name to use for querying. If missing, the default vector is used. |
| `query` | array of number | no | Query to perform. If missing without prefetches, returns points ordered by their IDs. |
| `score_threshold` | number (float) | no | Return points with scores better than this threshold. |
| `shard_key` | string | no |  |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `using` | string | no | Define which vector name to use for querying. If missing, the default vector is used. |
| `with_lookup` | string | no | Look for points in another collection using the group ids |
| `with_payload` | boolean | no | Options for specifying which payload to include or not. Default is false. |
| `with_vector` | boolean | no | Options for specifying which vectors to include into the response. Default is false. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.groups` | array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "search and group hits by a payload field", "best matches per category", "top results collapsed by one key".

### `qdrant.recommend_points`

Recommend records from a Qdrant collection: find points like the positive examples given and unlike the negative ones, which is the more-like-this suggestion path. Calls POST /collections/{collection_name}/points/recommend.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/recommend`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to search in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `filter` | object | no | Look only for points which satisfies this conditions |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `limit` | integer (uint) | **yes** | Max number of result to return |
| `lookup_from` | object | no | The location used to lookup vectors. If not specified - use current collection. Note: the other collection should have the same vector size as the current collection |
| `lookup_from.collection` | string | **yes** | Name of the collection used for lookup |
| `lookup_from.shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `lookup_from.vector` | string | no | Optional name of the vector field within the collection. If not provided, the default vector field will be used. |
| `negative` | array of integer | no | Try to avoid vectors like this. Defaults to []. |
| `offset` | integer (uint) | no | Offset of the first result to return. May be used to paginate results. Note: large offset values may cause performance issues. |
| `params` | object | no | Additional search params |
| `params.acorn` | object | no | ACORN search params |
| `params.exact` | boolean | no | Search without approximation. If set to true, search may run long but with exact results. Defaults to false. |
| `params.hnsw_ef` | integer (uint) | no | Params relevant to HNSW index Size of the beam in a beam-search. Larger the value - more accurate the result, more time required for search. |
| `params.indexed_only` | boolean | no | If enabled, the engine will only perform search among indexed or small segments. Using this option prevents slow searches in case of delayed index, but does not guarantee that all uploaded vectors... Defaults to false. |
| `params.quantization` | object | no | Quantization params |
| `positive` | array of integer | no | Look for vectors closest to those. Defaults to []. |
| `score_threshold` | number (float) | no | Define a minimal score threshold for the result. If defined, less similar results will not be returned. Score of the returned result might be higher or smaller than the threshold depending on the... |
| `shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `strategy` | string, one of average_vector, best_score, sum_scores | no | How to use positive and negative examples to find the results |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `using` | string | no | Define which vector to use for recommendation, if not specified - try to use default vector |
| `with_payload` | boolean | no | Select which payload to return with the response. Default is false. |
| `with_vector` | boolean | no | Options for specifying which vectors to include into response. Default is false. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of object |  |
| `result[].id` | integer (uint64) | Type, used for specifying point ID in user interface |
| `result[].order_value` | integer (int64) | Order-by value |
| `result[].payload` | object | Payload - values assigned to the point |
| `result[].score` | number (float) | Points vector distance to the query vector |
| `result[].shard_key` | string | Shard Key |
| `result[].vector` | array | Vector of the point |
| `result[].version` | integer (uint64) | Point version |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "more like these examples", "suggestions from good and bad examples", "records resembling the ones I picked".

### `qdrant.recommend_batch_points`

Recommend batch points. Look for the points which are closer to stored positive examples and at the same time further to negative examples. Calls POST /collections/{collection_name}/points/recommend/batch.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/recommend/batch`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to search in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `searches` | array of object | **yes** |  |
| `searches[].filter` | object | no | Look only for points which satisfies this conditions |
| `searches[].limit` | integer (uint) | **yes** | Max number of result to return |
| `searches[].lookup_from` | object | no | The location used to lookup vectors. If not specified - use current collection. Note: the other collection should have the same vector size as the current collection |
| `searches[].negative` | array | no | Try to avoid vectors like this. Defaults to []. |
| `searches[].offset` | integer (uint) | no | Offset of the first result to return. May be used to paginate results. Note: large offset values may cause performance issues. |
| `searches[].params` | object | no | Additional search params |
| `searches[].positive` | array | no | Look for vectors closest to those. Defaults to []. |
| `searches[].score_threshold` | number (float) | no | Define a minimal score threshold for the result. If defined, less similar results will not be returned. Score of the returned result might be higher or smaller than the threshold depending on the... |
| `searches[].shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `searches[].strategy` | string, one of average_vector, best_score, sum_scores | no | How to use positive and negative examples to find the results |
| `searches[].using` | string | no | Define which vector to use for recommendation, if not specified - try to use default vector |
| `searches[].with_payload` | boolean | no | Select which payload to return with the response. Default is false. |
| `searches[].with_vector` | boolean | no | Options for specifying which vectors to include into response. Default is false. |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "several recommendation requests together", "many liked-and-disliked lookups at once", "batched suggestions from example ids".

### `qdrant.recommend_point_groups`

Recommend point groups. Look for the points which are closer to stored positive examples and at the same time further to negative examples, grouped by a given payload field. Calls POST /collections/{collection_name}/points/recommend/groups.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/recommend/groups`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to search in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `filter` | object | no | Look only for points which satisfies this conditions |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `group_by` | string | **yes** | Payload field to group by, must be a string or number field. If the field contains more than 1 value, all values will be used for grouping. One point can be in multiple groups. |
| `group_size` | integer (uint32) | **yes** | Maximum amount of points to return per group |
| `limit` | integer (uint32) | **yes** | Maximum amount of groups to return |
| `lookup_from` | object | no | The location used to lookup vectors. If not specified - use current collection. Note: the other collection should have the same vector size as the current collection |
| `lookup_from.collection` | string | **yes** | Name of the collection used for lookup |
| `lookup_from.shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `lookup_from.vector` | string | no | Optional name of the vector field within the collection. If not provided, the default vector field will be used. |
| `negative` | array of integer | no | Try to avoid vectors like this. Defaults to []. |
| `params` | object | no | Additional search params |
| `params.acorn` | object | no | ACORN search params |
| `params.exact` | boolean | no | Search without approximation. If set to true, search may run long but with exact results. Defaults to false. |
| `params.hnsw_ef` | integer (uint) | no | Params relevant to HNSW index Size of the beam in a beam-search. Larger the value - more accurate the result, more time required for search. |
| `params.indexed_only` | boolean | no | If enabled, the engine will only perform search among indexed or small segments. Using this option prevents slow searches in case of delayed index, but does not guarantee that all uploaded vectors... Defaults to false. |
| `params.quantization` | object | no | Quantization params |
| `positive` | array of integer | no | Look for vectors closest to those. Defaults to []. |
| `score_threshold` | number (float) | no | Define a minimal score threshold for the result. If defined, less similar results will not be returned. Score of the returned result might be higher or smaller than the threshold depending on the... |
| `shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `strategy` | string, one of average_vector, best_score, sum_scores | no | How to use positive and negative examples to find the results |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `using` | string | no | Define which vector to use for recommendation, if not specified - try to use default vector |
| `with_lookup` | string | no | Look for points in another collection using the group ids |
| `with_payload` | boolean | no | Select which payload to return with the response. Default is false. |
| `with_vector` | boolean | no | Options for specifying which vectors to include into response. Default is false. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.groups` | array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "suggestions grouped by a payload field", "recommendations collapsed per category", "best matches to examples, one per key".

### `qdrant.scroll_points`

Page through a Qdrant collection: walk every record in a vector store one batch at a time, optionally filtered, with no similarity ranking involved. Calls POST /collections/{collection_name}/points/scroll.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/scroll`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to retrieve from |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `filter` | object | no | Look only for points which satisfies this conditions. If not provided - all points. |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `limit` | integer (uint) | no | Page size. Default: 10 |
| `offset` | integer (uint64) | no | Start ID to read points from. |
| `order_by` | string | no | Order the records by a payload field. |
| `shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `with_payload` | boolean | no | Select which payload to return with the response. Default is true. |
| `with_vector` | boolean | no | Options for specifying which vector to include |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object | Result of the points read request |
| `result.next_page_offset` | integer (uint64) | Offset which should be used to retrieve a next page result |
| `result.points` | array | List of retrieved points |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "page through every record", "walk a store batch by batch", "iterate all rows with a cursor".

### `qdrant.search_points`

Search a Qdrant collection by vector similarity: the nearest neighbours to an embedding, ranked by distance and narrowed by a metadata filter. Calls POST /collections/{collection_name}/points/search.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/search`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to search in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `filter` | object | no | Look only for points which satisfies this conditions |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `limit` | integer (uint) | **yes** | Max number of result to return |
| `offset` | integer (uint) | no | Offset of the first result to return. May be used to paginate results. Note: large offset values may cause performance issues. |
| `params` | object | no | Additional search params |
| `params.acorn` | object | no | ACORN search params |
| `params.exact` | boolean | no | Search without approximation. If set to true, search may run long but with exact results. Defaults to false. |
| `params.hnsw_ef` | integer (uint) | no | Params relevant to HNSW index Size of the beam in a beam-search. Larger the value - more accurate the result, more time required for search. |
| `params.indexed_only` | boolean | no | If enabled, the engine will only perform search among indexed or small segments. Using this option prevents slow searches in case of delayed index, but does not guarantee that all uploaded vectors... Defaults to false. |
| `params.quantization` | object | no | Quantization params |
| `score_threshold` | number (float) | no | Define a minimal score threshold for the result. If defined, less similar results will not be returned. Score of the returned result might be higher or smaller than the threshold depending on the... |
| `shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `vector` | array of number | **yes** | Vector data separator for named and unnamed modes Unnamed mode: { "vector": [1.0, 2.0, 3.0] } or named mode: { "vector": { "vector": [1.0, 2.0, 3.0], "name": "image-embeddings" } } |
| `with_payload` | boolean | no | Select which payload to return with the response. Default is false. |
| `with_vector` | boolean | no | Options for specifying which vectors to include into response. Default is false. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of object |  |
| `result[].id` | integer (uint64) | Type, used for specifying point ID in user interface |
| `result[].order_value` | integer (int64) | Order-by value |
| `result[].payload` | object | Payload - values assigned to the point |
| `result[].score` | number (float) | Points vector distance to the query vector |
| `result[].shard_key` | string | Shard Key |
| `result[].vector` | array | Vector of the point |
| `result[].version` | integer (uint64) | Point version |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "nearest neighbours of an embedding", "which stored vectors are most alike", "similarity lookup with a metadata filter".

### `qdrant.search_batch_points`

Search batch points. Retrieve by batch the closest points based on vector similarity and given filtering conditions. Calls POST /collections/{collection_name}/points/search/batch.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/search/batch`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to search in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `searches` | array of object | **yes** |  |
| `searches[].filter` | object | no | Look only for points which satisfies this conditions |
| `searches[].limit` | integer (uint) | **yes** | Max number of result to return |
| `searches[].offset` | integer (uint) | no | Offset of the first result to return. May be used to paginate results. Note: large offset values may cause performance issues. |
| `searches[].params` | object | no | Additional search params |
| `searches[].score_threshold` | number (float) | no | Define a minimal score threshold for the result. If defined, less similar results will not be returned. Score of the returned result might be higher or smaller than the threshold depending on the... |
| `searches[].shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `searches[].vector` | array | **yes** | Vector data separator for named and unnamed modes Unnamed mode: { "vector": [1.0, 2.0, 3.0] } or named mode: { "vector": { "vector": [1.0, 2.0, 3.0], "name": "image-embeddings" } } |
| `searches[].with_payload` | boolean | no | Select which payload to return with the response. Default is false. |
| `searches[].with_vector` | boolean | no | Options for specifying which vectors to include into response. Default is false. |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "several nearest-neighbour queries at once", "many similarity lookups in one request", "batched vector search with filters".

### `qdrant.search_point_groups`

Search point groups. Retrieve closest points based on vector similarity and given filtering conditions, grouped by a given payload field. Calls POST /collections/{collection_name}/points/search/groups.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/search/groups`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to search in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `filter` | object | no | Look only for points which satisfies this conditions |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `group_by` | string | **yes** | Payload field to group by, must be a string or number field. If the field contains more than 1 value, all values will be used for grouping. One point can be in multiple groups. |
| `group_size` | integer (uint32) | **yes** | Maximum amount of points to return per group |
| `limit` | integer (uint32) | **yes** | Maximum amount of groups to return |
| `params` | object | no | Additional search params |
| `params.acorn` | object | no | ACORN search params |
| `params.exact` | boolean | no | Search without approximation. If set to true, search may run long but with exact results. Defaults to false. |
| `params.hnsw_ef` | integer (uint) | no | Params relevant to HNSW index Size of the beam in a beam-search. Larger the value - more accurate the result, more time required for search. |
| `params.indexed_only` | boolean | no | If enabled, the engine will only perform search among indexed or small segments. Using this option prevents slow searches in case of delayed index, but does not guarantee that all uploaded vectors... Defaults to false. |
| `params.quantization` | object | no | Quantization params |
| `score_threshold` | number (float) | no | Define a minimal score threshold for the result. If defined, less similar results will not be returned. Score of the returned result might be higher or smaller than the threshold depending on the... |
| `shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `vector` | array of number | **yes** | Vector data separator for named and unnamed modes Unnamed mode: { "vector": [1.0, 2.0, 3.0] } or named mode: { "vector": { "vector": [1.0, 2.0, 3.0], "name": "image-embeddings" } } |
| `with_lookup` | string | no | Look for points in another collection using the group ids |
| `with_payload` | boolean | no | Select which payload to return with the response. Default is false. |
| `with_vector` | boolean | no | Options for specifying which vectors to include into response. Default is false. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.groups` | array |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "nearest matches grouped by a payload field", "one best hit per category", "similarity results collapsed by key".

### `qdrant.search_matrix_offsets`

Search points matrix distance offsets. Compute distance matrix for sampled points with an offset based output format. Calls POST /collections/{collection_name}/points/search/matrix/offsets.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/search/matrix/offsets`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to search in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `filter` | object | no | Look only for points which satisfies this conditions |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `limit` | integer (uint) | no | How many neighbours per sample to find. Default is 3. |
| `sample` | integer (uint) | no | How many points to select and search within. Default is 10. |
| `shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `using` | string | no | Define which vector name to use for querying. If missing, the default vector is used. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.ids` | array | Ids of the points in order |
| `result.offsets_col` | array | Column indices of the matrix |
| `result.offsets_row` | array | Row indices of the matrix |
| `result.scores` | array | Scores associated with matrix coordinates |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "pairwise distances in offset form", "a similarity matrix over sampled points", "how close sampled records are, indexed by position".

### `qdrant.search_matrix_pairs`

Search points matrix distance pairs. Compute distance matrix for sampled points with a pair based output format. Calls POST /collections/{collection_name}/points/search/matrix/pairs.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/search/matrix/pairs`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to search in |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `filter` | object | no | Look only for points which satisfies this conditions |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `limit` | integer (uint) | no | How many neighbours per sample to find. Default is 3. |
| `sample` | integer (uint) | no | How many points to select and search within. Default is 10. |
| `shard_key` | string | no | Specify in which shards to look for the points, if not specified - look in all shards |
| `timeout` | integer | no | If set, overrides global timeout for this request. Unit is seconds. |
| `using` | string | no | Define which vector name to use for querying. If missing, the default vector is used. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.pairs` | array | List of pairs of points with scores |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "pairwise distances as explicit id pairs", "a similarity matrix listed pair by pair", "how close sampled records are, keyed by both ids".

### `qdrant.update_vectors`

Update vectors. Update specified named vectors on points, keep unspecified vectors intact. Calls PUT /collections/{collection_name}/points/vectors.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /collections/{{params.collection_name}}/points/vectors`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to update from |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `points` | array of object | **yes** | Points with named vectors |
| `points[].id` | integer (uint64) | **yes** | Type, used for specifying point ID in user interface |
| `points[].vector` | array | **yes** | Full vector data per point separator with single and multiple vector modes |
| `shard_key` | string | no |  |
| `timeout` | integer | no | Timeout for the operation |
| `update_filter` | object | no |  |
| `update_filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `update_filter.must` | object | no | All conditions must match |
| `update_filter.must_not` | object | no | All conditions must NOT match |
| `update_filter.should` | object | no | At least one of those conditions should match |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "change vectors", "edit vectors", "adjust vectors".

### `qdrant.delete_vectors`

Delete vectors. Delete named vectors from the given points. Calls POST /collections/{collection_name}/points/vectors/delete.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/points/vectors/delete`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to delete from |
| `filter` | object | no | Deletes values from points that satisfy this filter condition |
| `filter.min_should` | object | no | At least minimum amount of given conditions should match |
| `filter.must` | object | no | All conditions must match |
| `filter.must_not` | object | no | All conditions must NOT match |
| `filter.should` | object | no | At least one of those conditions should match |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `points` | array of integer | no | Deletes values from each point in this list |
| `shard_key` | string | no |  |
| `timeout` | integer | no | Timeout for the operation |
| `vector` | array of string | **yes** | Vector names |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "get rid of vectors", "take down vectors", "clear out vectors".

### `qdrant.get_point`

Get one Qdrant point by id: the vector and the metadata of a single stored record. Calls GET /collections/{collection_name}/points/{id}.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /collections/{{params.collection_name}}/points/{{params.id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to retrieve from |
| `consistency` | integer (uint) | no | Define read consistency guarantees for the operation |
| `id` | integer (uint64) | **yes** | Id of the point |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object | Point data |
| `result.id` | integer (uint64) | Type, used for specifying point ID in user interface |
| `result.order_value` | integer (int64) |  |
| `result.payload` | object | Payload - values assigned to the point |
| `result.shard_key` | string | Shard Key |
| `result.vector` | array | Vector of the point |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "fetch one record by its id", "read a single stored vector", "show one row out of the store".

### `qdrant.list_shard_keys`

List shard keys. Calls GET /collections/{collection_name}/shards.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /collections/{{params.collection_name}}/shards`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to list shard keys for |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.shard_keys` | array | The existing shard keys. Only available when sharding method is `custom` |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "show me all shard keys", "what are the shard keys", "give me every shard keys".

### `qdrant.create_shard_key`

Create shard key. Calls PUT /collections/{collection_name}/shards.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /collections/{{params.collection_name}}/shards`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to create shards for |
| `initial_state` | string, one of Active, Dead, Partial, Initializing, Listener, PartialSnapshot, Recovery, Resharding, ReshardingScaleDown, ActiveRead, ManualRecovery | no | Initial state of the shards for this key If not specified, will be `Initializing` first and then `Active` Warning: do not change this unless you know what you are doing |
| `placement` | array of integer | no | Placement of shards for this key List of peer ids, that can be used to place shards for this key If not specified, will be randomly placed among all peers |
| `replication_factor` | integer (uint32) | no | How many replicas to create for each shard If not specified, will use the default value from config |
| `shard_key` | string | **yes** |  |
| `shards_number` | integer (uint32) | no | How many shards to create for this key If not specified, will use the default value from config |
| `timeout` | integer | no | Wait for operation commit timeout in seconds. If timeout is reached - request will return with service error. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "add shard key", "set up shard key", "start shard key".

### `qdrant.delete_shard_key`

Delete shard key. Calls POST /collections/{collection_name}/shards/delete.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/shards/delete`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection to create shards for |
| `shard_key` | string | **yes** |  |
| `timeout` | integer | no | Wait for operation commit timeout in seconds. If timeout is reached - request will return with service error. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "get rid of shard key", "take down shard key", "clear out shard key".

### `qdrant.list_shard_snapshots`

List shards snapshots for a collection. Get list of snapshots for a shard of a collection. Calls GET /collections/{collection_name}/shards/{shard_id}/snapshots.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /collections/{{params.collection_name}}/shards/{{params.shard_id}}/snapshots`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection |
| `shard_id` | integer | **yes** | Id of the shard |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of object |  |
| `result[].checksum` | string |  |
| `result[].creation_time` | string (partial-date-time) |  |
| `result[].name` | string |  |
| `result[].size` | integer (uint64) |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "backups taken of one partition", "restore points for a single shard", "which per-shard dumps exist".

### `qdrant.create_shard_snapshot`

Create shard snapshot. Create new snapshot of a shard for a collection. Calls POST /collections/{collection_name}/shards/{shard_id}/snapshots.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/shards/{{params.shard_id}}/snapshots`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection for which to create a snapshot |
| `shard_id` | integer | **yes** | Id of the shard |
| `wait` | boolean | no | If true, wait for changes to actually happen. If false - let changes happen in background. Default is true. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.checksum` | string |  |
| `result.creation_time` | string (partial-date-time) |  |
| `result.name` | string |  |
| `result.size` | integer (uint64) |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |

Also retrieved by: "back up one shard of a collection", "make a restore point for a single partition", "snapshot just part of an index".

### `qdrant.recover_shard_from_snapshot`

Restore one shard of a Qdrant collection from a snapshot, rather than the whole store: recovery for a single shard of a sharded vector store. Calls PUT /collections/{collection_name}/shards/{shard_id}/snapshots/recover.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /collections/{{params.collection_name}}/shards/{{params.shard_id}}/snapshots/recover`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `api_key` | string | no | Optional API key used when fetching the snapshot from a remote URL. |
| `checksum` | string | no | Optional SHA256 checksum to verify snapshot integrity before recovery. |
| `collection_name` | string | **yes** | Name of the collection |
| `location` | string (uri) | **yes** |  |
| `priority` | string, one of no_sync, snapshot, replica | no | Defines source of truth for snapshot recovery: `NoSync` means - restore snapshot without *any* additional synchronization. `Snapshot` means - prefer snapshot data over the current state. `Replica`... |
| `shard_id` | integer | **yes** | Id of the shard to recover |
| `wait` | boolean | no | If true, wait for changes to actually happen. If false - let changes happen in background. Default is true. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |

Also retrieved by: "restore one shard from its backup", "recover a single shard of a store", "roll back part of a sharded index".

### `qdrant.delete_shard_snapshot`

Delete shard snapshot. Delete snapshot of a shard for a collection. Calls DELETE /collections/{collection_name}/shards/{shard_id}/snapshots/{snapshot_name}.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /collections/{{params.collection_name}}/shards/{{params.shard_id}}/snapshots/{{params.snapshot_name}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection for which to delete a snapshot |
| `shard_id` | integer | **yes** | Id of the shard |
| `snapshot_name` | string | **yes** | Name of the snapshot to delete |
| `wait` | boolean | no | If true, wait for changes to actually happen. If false - let changes happen in background. Default is true. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |

Also retrieved by: "remove a backup of one partition", "delete a shard-level restore point", "free space held by a per-shard dump".

### `qdrant.list_snapshots`

List collection snapshots. Get list of snapshots for a collection. Calls GET /collections/{collection_name}/snapshots.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /collections/{{params.collection_name}}/snapshots`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of object |  |
| `result[].checksum` | string |  |
| `result[].creation_time` | string (partial-date-time) |  |
| `result[].name` | string |  |
| `result[].size` | integer (uint64) |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "every backup of one collection", "restore points for an index", "which dumps of this data exist".

### `qdrant.create_snapshot`

Take a snapshot of a Qdrant collection: a backup copy of one vector store, kept on the server, that a later recover call can restore from. Calls POST /collections/{collection_name}/snapshots.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /collections/{{params.collection_name}}/snapshots`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection for which to create a snapshot |
| `wait` | boolean | no | If true, wait for changes to actually happen. If false - let changes happen in background. Default is true. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.checksum` | string |  |
| `result.creation_time` | string (partial-date-time) |  |
| `result.name` | string |  |
| `result.size` | integer (uint64) |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |

Also retrieved by: "back up a vector store", "take a restore point for one store", "keep a copy I can roll back to".

### `qdrant.recover_from_snapshot`

Restore a whole Qdrant collection from a snapshot: bring a vector store back from an earlier backup, replacing what it holds now. Calls PUT /collections/{collection_name}/snapshots/recover.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /collections/{{params.collection_name}}/snapshots/recover`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `api_key` | string | no | Optional API key used when fetching the snapshot from a remote URL. |
| `checksum` | string | no | Optional SHA256 checksum to verify snapshot integrity before recovery. |
| `collection_name` | string | **yes** | Name of the collection |
| `location` | string (uri) | **yes** | Examples: - URL `http://localhost:8080/collections/my_collection/snapshots/my_snapshot` - Local path `file:///qdrant/snapshots/test_collection-2022-08-04-10-49-10.snapshot` |
| `priority` | string, one of no_sync, snapshot, replica | no | Defines which data should be used as a source of truth if there are other replicas in the cluster. If set to `Snapshot`, the snapshot will be used as a source of truth, and the current state will be... |
| `wait` | boolean | no | If true, wait for changes to actually happen. If false - let changes happen in background. Default is true. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |

Also retrieved by: "restore a store from its backup", "roll a whole index back", "bring back an earlier copy of the data".

### `qdrant.delete_snapshot`

Delete collection snapshot. Delete snapshot for a collection. Calls DELETE /collections/{collection_name}/snapshots/{snapshot_name}.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /collections/{{params.collection_name}}/snapshots/{{params.snapshot_name}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection for which to delete a snapshot |
| `snapshot_name` | string | **yes** | Name of the snapshot to delete |
| `wait` | boolean | no | If true, wait for changes to actually happen. If false - let changes happen in background. Default is true. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |

Also retrieved by: "remove a backup of one collection", "delete a restore point for an index", "free the disk a collection dump uses".

### `qdrant.create_vector_name`

Create named vector. Create a new named vector on an existing collection. Calls PUT /collections/{collection_name}/vectors/{vector_name}.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /collections/{{params.collection_name}}/vectors/{{params.vector_name}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection |
| `dense` | object | **yes** | Configuration for creating a new dense named vector. Only includes properties that define the vector space and cannot be changed after creation. Storage type, index type, and quantization are... |
| `dense.datatype` | string, one of float32, float16, uint8, turbo4 | no | Element storage type (Float32, Float16, Uint8, Turbo4) |
| `dense.distance` | string, one of Cosine, Euclid, Dot, Manhattan | **yes** | Type of internal tags, build from payload Distance function types used to compare vectors |
| `dense.multivector_config` | object | no | Configuration for multi-vector points (e.g., ColBERT) |
| `dense.size` | integer (uint) | **yes** | Dimensionality of the vectors |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `timeout` | integer | no | Timeout for the operation |
| `vector_name` | string | **yes** | Name of the vector to create |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "add another named vector to an index", "give a collection a second embedding field", "define one more vector slot on existing points".

### `qdrant.delete_vector_name`

Delete named vector. Delete a named vector from a collection. Calls DELETE /collections/{collection_name}/vectors/{vector_name}.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /collections/{{params.collection_name}}/vectors/{{params.vector_name}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `collection_name` | string | **yes** | Name of the collection |
| `ordering` | string, one of weak, medium, strong | no | define ordering guarantees for the operation |
| `timeout` | integer | no | Timeout for the operation |
| `vector_name` | string | **yes** | Name of the vector to delete |
| `wait` | boolean | no | If true, wait for changes to actually happen |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.operation_id` | integer (uint64) | Sequential number of the operation |
| `result.status` | string, one of acknowledged, completed, wait_timeout | `Acknowledged` - Request is saved to WAL and will be process in a queue. `Completed` - Request is completed, changes are actual. `WaitTimeout` - Request is waiting for timeout. |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "drop a named vector from an index", "remove one embedding field and its data", "stop storing a second vector per point".

### `qdrant.get_issues`

Report the problems Qdrant sees in itself: detected performance issues and configuration suggestions, such as a filter running without a payload index. Calls GET /issues.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /issues`.

Takes no arguments.

Also retrieved by: "is anything misconfigured", "what slowdowns has the server noticed", "suggestions for making this faster".

### `qdrant.clear_issues`

Clear issues. Removes all issues reported so far. Calls DELETE /issues.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /issues`.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "get rid of issues", "take down issues", "clear out issues".

### `qdrant.list_full_snapshots`

List of storage snapshots. Get list of snapshots of the whole storage. Calls GET /snapshots.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /snapshots`.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | array of object |  |
| `result[].checksum` | string |  |
| `result[].creation_time` | string (partial-date-time) |  |
| `result[].name` | string |  |
| `result[].size` | integer (uint64) |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "every whole-storage backup on disk", "which global restore points exist", "all dumps covering all collections".

### `qdrant.create_full_snapshot`

Create storage snapshot. Create new snapshot of the whole storage. Calls POST /snapshots.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /snapshots`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `wait` | boolean | no | If true, wait for changes to actually happen. If false - let changes happen in background. Default is true. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.checksum` | string |  |
| `result.creation_time` | string (partial-date-time) |  |
| `result.name` | string |  |
| `result.size` | integer (uint64) |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |

Also retrieved by: "back up the entire storage", "make a restore point for every collection", "dump all data to a snapshot file".

### `qdrant.delete_full_snapshot`

Delete storage snapshot. Delete snapshot of the whole storage. Calls DELETE /snapshots/{snapshot_name}.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /snapshots/{{params.snapshot_name}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `snapshot_name` | string | **yes** | Name of the full snapshot to delete |
| `wait` | boolean | no | If true, wait for changes to actually happen. If false - let changes happen in background. Default is true. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | boolean |  |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |

Also retrieved by: "remove a whole-storage backup file", "free the disk a global restore point uses", "delete one dump of everything".

### `qdrant.telemetry`

Collect telemetry data. Collect telemetry data including app info, system info, collections info, cluster info, configs and statistics. Calls GET /telemetry.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /telemetry`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `anonymize` | boolean | no | If true, anonymize result |
| `details_level` | integer | no | Level of details in telemetry data. Minimal level is 0, maximal is infinity |
| `per_collection` | boolean | no | If true, include per-collection request statistics in the response |
| `timeout` | integer | no | Timeout for this request. Defaults to 60. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `result` | object |  |
| `result.app` | object |  |
| `result.cluster` | object |  |
| `result.collections` | object |  |
| `result.hardware` | object |  |
| `result.id` | string |  |
| `result.memory` | object |  |
| `result.requests` | object |  |
| `result.search_pool` | object | Live snapshot of the adaptive search routing. `mode` is the runtime currently selected by [`SearchMode`]; `high_cpu_threads` and `high_io_threads` are the blocking-thread budgets of the two... |
| `status` | string |  |
| `time` | number (float) | Time spent to process this request |
| `usage` | object | Usage of the hardware resources, spent to process the request |
| `usage.hardware` | object | Usage of the hardware resources, spent to process the request |
| `usage.inference` | object |  |

Also retrieved by: "internal stats for this node", "app, system and collection counters", "diagnostics about the running process".
