openapi: 3.0.1 info: title: Qdrant Aliases Service API description: "API description for Qdrant vector search engine.\n\nThis document describes CRUD and search operations on collections of points (vectors with payload).\n\nQdrant supports any combinations of `should`, `min_should`, `must` and `must_not` conditions, which makes it possible to use in applications when object could not be described solely by vector. It could be location features, availability flags, and other custom properties businesses should take into account.\n## Examples\nThis examples cover the most basic use-cases - collection creation and basic vector search.\n### Create collection\nFirst - let's create a collection with dot-production metric.\n```\ncurl -X PUT 'http://localhost:6333/collections/test_collection' \\\n -H 'Content-Type: application/json' \\\n --data-raw '{\n \"vectors\": {\n \"size\": 4,\n \"distance\": \"Dot\"\n }\n }'\n\n```\nExpected response:\n```\n{\n \"result\": true,\n \"status\": \"ok\",\n \"time\": 0.031095451\n}\n```\nWe can ensure that collection was created:\n```\ncurl 'http://localhost:6333/collections/test_collection'\n```\nExpected response:\n```\n{\n \"result\": {\n \"status\": \"green\",\n \"segments_count\": 5,\n \"disk_data_size\": 0,\n \"ram_data_size\": 0,\n \"config\": {\n \"params\": {\n \"vectors\": {\n \"size\": 4,\n \"distance\": \"Dot\"\n }\n },\n \"hnsw_config\": {\n \"m\": 16,\n \"ef_construct\": 100,\n \"full_scan_threshold\": 10000\n },\n \"optimizer_config\": {\n \"deleted_threshold\": 0.2,\n \"vacuum_min_vector_number\": 1000,\n \"default_segment_number\": 2,\n \"max_segment_size\": null,\n \"memmap_threshold\": null,\n \"indexing_threshold\": 20000,\n \"flush_interval_sec\": 5,\n \"max_optimization_threads\": null\n },\n \"wal_config\": {\n \"wal_capacity_mb\": 32,\n \"wal_segments_ahead\": 0\n }\n }\n },\n \"status\": \"ok\",\n \"time\": 2.1199e-05\n}\n```\n\n### Add points\nLet's now add vectors with some payload:\n```\ncurl -L -X PUT 'http://localhost:6333/collections/test_collection/points?wait=true' \\ -H 'Content-Type: application/json' \\ --data-raw '{\n \"points\": [\n {\"id\": 1, \"vector\": [0.05, 0.61, 0.76, 0.74], \"payload\": {\"city\": \"Berlin\"}},\n {\"id\": 2, \"vector\": [0.19, 0.81, 0.75, 0.11], \"payload\": {\"city\": [\"Berlin\", \"London\"] }},\n {\"id\": 3, \"vector\": [0.36, 0.55, 0.47, 0.94], \"payload\": {\"city\": [\"Berlin\", \"Moscow\"] }},\n {\"id\": 4, \"vector\": [0.18, 0.01, 0.85, 0.80], \"payload\": {\"city\": [\"London\", \"Moscow\"] }},\n {\"id\": 5, \"vector\": [0.24, 0.18, 0.22, 0.44], \"payload\": {\"count\": [0]}},\n {\"id\": 6, \"vector\": [0.35, 0.08, 0.11, 0.44]}\n ]\n}'\n```\nExpected response:\n```\n{\n \"result\": {\n \"operation_id\": 0,\n \"status\": \"completed\"\n },\n \"status\": \"ok\",\n \"time\": 0.000206061\n}\n```\n### Search with filtering\nLet's start with a basic request:\n```\ncurl -L -X POST 'http://localhost:6333/collections/test_collection/points/search' \\ -H 'Content-Type: application/json' \\ --data-raw '{\n \"vector\": [0.2,0.1,0.9,0.7],\n \"top\": 3\n}'\n```\nExpected response:\n```\n{\n \"result\": [\n { \"id\": 4, \"score\": 1.362, \"payload\": null, \"version\": 0 },\n { \"id\": 1, \"score\": 1.273, \"payload\": null, \"version\": 0 },\n { \"id\": 3, \"score\": 1.208, \"payload\": null, \"version\": 0 }\n ],\n \"status\": \"ok\",\n \"time\": 0.000055785\n}\n```\nBut result is different if we add a filter:\n```\ncurl -L -X POST 'http://localhost:6333/collections/test_collection/points/search' \\ -H 'Content-Type: application/json' \\ --data-raw '{\n \"filter\": {\n \"should\": [\n {\n \"key\": \"city\",\n \"match\": {\n \"value\": \"London\"\n }\n }\n ]\n },\n \"vector\": [0.2, 0.1, 0.9, 0.7],\n \"top\": 3\n}'\n```\nExpected response:\n```\n{\n \"result\": [\n { \"id\": 4, \"score\": 1.362, \"payload\": null, \"version\": 0 },\n { \"id\": 2, \"score\": 0.871, \"payload\": null, \"version\": 0 }\n ],\n \"status\": \"ok\",\n \"time\": 0.000093972\n}\n```\n" contact: email: andrey@vasnetsov.com license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html version: master servers: - url: '{protocol}://{hostname}:{port}' variables: protocol: enum: - http - https default: http hostname: default: localhost port: default: '6333' security: - api-key: [] - bearerAuth: [] - {} tags: - name: Service description: Qdrant service utilities. paths: /: get: summary: Returns information about the running Qdrant instance description: Returns information about the running Qdrant instance like version and commit id operationId: root tags: - Service responses: '200': description: Qdrant server version information content: application/json: schema: $ref: '#/components/schemas/VersionInfo' 4XX: description: error /telemetry: get: summary: Collect telemetry data description: Collect telemetry data including app info, system info, collections info, cluster info, configs and statistics operationId: telemetry tags: - Service parameters: - name: anonymize in: query description: If true, anonymize result required: false schema: type: boolean - name: details_level in: query description: Level of details in telemetry data. Minimal level is 0, maximal is infinity required: false schema: type: integer minimum: 0 - name: per_collection in: query description: If true, include per-collection request statistics in the response required: false schema: type: boolean - name: timeout in: query description: Timeout for this request required: false schema: type: integer minimum: 1 default: 60 responses: default: description: error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 4XX: description: error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '200': description: successful operation content: application/json: schema: type: object properties: usage: default: null anyOf: - $ref: '#/components/schemas/Usage' - nullable: true time: type: number format: float description: Time spent to process this request example: 0.002 status: type: string example: ok result: $ref: '#/components/schemas/TelemetryData' /metrics: get: summary: Collect Prometheus metrics data description: Collect metrics data including app info, collections info, cluster info and statistics operationId: metrics tags: - Service parameters: - name: anonymize in: query description: If true, anonymize result required: false schema: type: boolean - name: per_collection in: query description: If true, include per-collection request metrics with a collection label instead of global request metrics required: false schema: type: boolean - name: timeout in: query description: Timeout for this request required: false schema: type: integer minimum: 1 default: 60 responses: '200': description: Metrics data in Prometheus format content: text/plain: schema: type: string example: '# HELP app_info information about qdrant server # TYPE app_info gauge app_info{name="qdrant",version="0.11.1"} 1 # HELP cluster_enabled is cluster support enabled # TYPE cluster_enabled gauge cluster_enabled 0 # HELP collections_total number of collections # TYPE collections_total gauge collections_total 1 ' 4XX: description: error /healthz: get: summary: Kubernetes healthz endpoint description: An endpoint for health checking used in Kubernetes. operationId: healthz tags: - Service responses: '200': description: Healthz response content: text/plain: schema: type: string example: healthz check passed 4XX: description: error /livez: get: summary: Kubernetes livez endpoint description: An endpoint for health checking used in Kubernetes. operationId: livez tags: - Service responses: '200': description: Healthz response content: text/plain: schema: type: string example: healthz check passed 4XX: description: error /readyz: get: summary: Kubernetes readyz endpoint description: An endpoint for health checking used in Kubernetes. operationId: readyz tags: - Service responses: '200': description: Healthz response content: text/plain: schema: type: string example: healthz check passed 4XX: description: error components: schemas: CollectionTelemetryEnum: anyOf: - $ref: '#/components/schemas/CollectionTelemetry' - $ref: '#/components/schemas/CollectionsAggregatedTelemetry' BinaryQuantization: type: object required: - binary properties: binary: $ref: '#/components/schemas/BinaryQuantizationConfig' OptimizerTelemetry: type: object required: - optimizations - status properties: status: $ref: '#/components/schemas/OptimizersStatus' optimizations: $ref: '#/components/schemas/OperationDurationStatistics' log: type: array items: $ref: '#/components/schemas/TrackerTelemetry' nullable: true ShardUpdateQueueInfo: type: object required: - length properties: length: description: Number of elements in the queue type: integer format: uint minimum: 0 op_num: description: last operation number processed type: integer format: uint minimum: 0 nullable: true deferred_points: description: Number of points that are deferred (i.e hidden from search as they're not yet optimized). type: integer format: uint minimum: 0 nullable: true PayloadIndexInfo: description: Display payload field type & index information type: object required: - data_type - points properties: data_type: $ref: '#/components/schemas/PayloadSchemaType' params: anyOf: - $ref: '#/components/schemas/PayloadSchemaParams' - nullable: true points: description: Number of points indexed with this index type: integer format: uint minimum: 0 StrictModeConfigOutput: type: object properties: enabled: description: Whether strict mode is enabled for a collection or not. type: boolean nullable: true max_query_limit: description: Max allowed `limit` parameter for all APIs that don't have their own max limit. type: integer format: uint minimum: 1 nullable: true max_timeout: description: Max allowed `timeout` parameter. type: integer format: uint minimum: 1 nullable: true unindexed_filtering_retrieve: description: Allow usage of unindexed fields in retrieval based (e.g. search) filters. type: boolean nullable: true unindexed_filtering_update: description: Allow usage of unindexed fields in filtered updates (e.g. delete by payload). type: boolean nullable: true search_max_hnsw_ef: description: Max HNSW value allowed in search parameters. type: integer format: uint minimum: 0 nullable: true search_allow_exact: description: Whether exact search is allowed or not. type: boolean nullable: true search_max_oversampling: description: Max oversampling value allowed in search. type: number format: double nullable: true upsert_max_batchsize: description: Max batchsize when upserting type: integer format: uint minimum: 0 nullable: true search_max_batchsize: description: Max batchsize when searching type: integer format: uint minimum: 0 nullable: true max_collection_vector_size_bytes: description: Max size of a collections vector storage in bytes, ignoring replicas. type: integer format: uint minimum: 0 nullable: true read_rate_limit: description: Max number of read operations per minute per replica type: integer format: uint minimum: 0 nullable: true write_rate_limit: description: Max number of write operations per minute per replica type: integer format: uint minimum: 0 nullable: true max_collection_payload_size_bytes: description: Max size of a collections payload storage in bytes type: integer format: uint minimum: 0 nullable: true max_points_count: description: Max number of points estimated in a collection type: integer format: uint minimum: 0 nullable: true filter_max_conditions: description: Max conditions a filter can have. type: integer format: uint minimum: 0 nullable: true condition_max_size: description: Max size of a condition, eg. items in `MatchAny`. type: integer format: uint minimum: 0 nullable: true multivector_config: description: Multivector configuration anyOf: - $ref: '#/components/schemas/StrictModeMultivectorConfigOutput' - nullable: true sparse_config: description: Sparse vector configuration anyOf: - $ref: '#/components/schemas/StrictModeSparseConfigOutput' - nullable: true max_payload_index_count: description: Max number of payload indexes in a collection type: integer format: uint minimum: 0 nullable: true GeoIndexType: type: string enum: - geo ReshardingInfo: type: object required: - direction - peer_id - shard_id properties: direction: $ref: '#/components/schemas/ReshardingDirection' shard_id: type: integer format: uint32 minimum: 0 peer_id: type: integer format: uint64 minimum: 0 shard_key: anyOf: - $ref: '#/components/schemas/ShardKey' - nullable: true BinaryQuantizationEncoding: type: string enum: - one_bit - two_bits - one_and_half_bits ShardCleanStatusFailedTelemetry: type: object required: - reason properties: reason: type: string TrackerTelemetry: description: Tracker object used in telemetry type: object required: - name - segment_ids - segment_uuids - start_at - status - uuid properties: name: description: Name of the optimizer type: string uuid: description: UUID of the upcoming segment being created by the optimizer type: string format: uuid segment_ids: description: Internal segment IDs being optimized. These are local and in-memory, meaning that they can refer to different segments after a service restart. type: array items: type: integer format: uint minimum: 0 segment_uuids: description: Segment UUIDs being optimized. Refers to same segments as in `segment_ids`, but trackable across restarts, and reflect their directory name. type: array items: type: string format: uuid status: $ref: '#/components/schemas/TrackerStatus' start_at: description: Start time of the optimizer type: string format: date-time end_at: description: End time of the optimizer type: string format: date-time nullable: true Usage: description: Usage of the hardware resources, spent to process the request type: object properties: hardware: anyOf: - $ref: '#/components/schemas/HardwareUsage' - nullable: true inference: anyOf: - $ref: '#/components/schemas/InferenceUsage' - nullable: true HnswGlobalConfig: type: object properties: healing_threshold: description: Enable HNSW healing if the ratio of missing points is no more than this value. To disable healing completely, set this value to `0.0`. default: 0.3 type: number format: double maximum: 1 minimum: 0 Payload: type: object additionalProperties: true example: city: London color: green InferenceUsage: type: object required: - models properties: models: type: object additionalProperties: $ref: '#/components/schemas/ModelUsage' VectorDataConfig: description: Config of single vector data storage type: object required: - distance - index - size - storage_type properties: size: description: Size/dimensionality of the vectors used type: integer format: uint minimum: 0 distance: $ref: '#/components/schemas/Distance' storage_type: $ref: '#/components/schemas/VectorStorageType' index: $ref: '#/components/schemas/Indexes' quantization_config: description: Vector specific quantization config that overrides collection config anyOf: - $ref: '#/components/schemas/QuantizationConfig' - nullable: true multivector_config: description: Vector specific configuration to enable multiple vectors per point anyOf: - $ref: '#/components/schemas/MultiVectorConfig' - nullable: true datatype: description: Vector specific configuration to set specific storage element type anyOf: - $ref: '#/components/schemas/VectorStorageDatatype' - nullable: true ShardTransferInfo: type: object required: - from - shard_id - sync - to properties: shard_id: type: integer format: uint32 minimum: 0 to_shard_id: description: 'Target shard ID if different than source shard ID Used exclusively with `ReshardingStreamRecords` transfer method.' type: integer format: uint32 minimum: 0 nullable: true from: description: Source peer id type: integer format: uint64 minimum: 0 to: description: Destination peer id type: integer format: uint64 minimum: 0 sync: description: If `true` transfer is a synchronization of a replicas If `false` transfer is a moving of a shard from one peer to another type: boolean method: anyOf: - $ref: '#/components/schemas/ShardTransferMethod' - nullable: true comment: description: A human-readable report of the transfer progress. Available only on the source peer. type: string nullable: true ShardKey: anyOf: - type: string example: region_1 - type: integer format: uint64 minimum: 0 example: 12 PayloadSchemaType: description: All possible names of payload types type: string enum: - keyword - integer - float - geo - text - bool - datetime - uuid FeatureFlags: type: object properties: all: description: 'Magic feature flag that enables all features. Note that this will only be applied to all flags when passed into [`init_feature_flags`].' default: false type: boolean payload_index_skip_rocksdb: description: 'Skip usage of RocksDB in new immutable payload indices. First implemented in Qdrant 1.13.5. Enabled by default in Qdrant 1.14.1.' default: true type: boolean payload_index_skip_mutable_rocksdb: description: 'Skip usage of RocksDB in new mutable payload indices. First implemented in Qdrant 1.15.0. Enabled by default in Qdrant 1.16.0.' default: true type: boolean payload_storage_skip_rocksdb: description: 'Skip usage of RocksDB in new payload storages. On-disk payload storages never use Gridstore. First implemented in Qdrant 1.15.0. Enabled by default in Qdrant 1.16.0.' default: true type: boolean incremental_hnsw_building: description: 'Use incremental HNSW building. Enabled by default in Qdrant 1.14.1.' default: true type: boolean migrate_rocksdb_id_tracker: description: 'Migrate RocksDB based ID trackers into file based ID tracker on start. Enabled by default in Qdrant 1.15.0.' default: true type: boolean migrate_rocksdb_vector_storage: description: 'Migrate RocksDB based vector storages into new format on start. Enabled by default in Qdrant 1.16.1.' default: true type: boolean migrate_rocksdb_payload_storage: description: 'Migrate RocksDB based payload storages into new format on start. Enabled by default in Qdrant 1.16.1.' default: true type: boolean migrate_rocksdb_payload_indices: description: 'Migrate RocksDB based payload indices into new format on start. Rebuilds a new payload index from scratch. Enabled by default in Qdrant 1.16.1.' default: true type: boolean appendable_quantization: description: 'Use appendable quantization in appendable plain segments. Enabled by default in Qdrant 1.16.0.' default: true type: boolean single_file_mmap_vector_storage: description: 'Use single-file mmap in-ram vector storage (InRamMmap) Enabled by default in Qdrant 1.17.1+' default: false type: boolean QuantizationConfig: anyOf: - $ref: '#/components/schemas/ScalarQuantization' - $ref: '#/components/schemas/ProductQuantization' - $ref: '#/components/schemas/BinaryQuantization' ReshardingDirection: description: 'Resharding direction, scale up or down in number of shards - `up` - Scale up, add a new shard - `down` - Scale down, remove a shard' type: string enum: - up - down HnswConfig: description: Config of HNSW index type: object required: - ef_construct - full_scan_threshold - m properties: m: description: Number of edges per node in the index graph. Larger the value - more accurate the search, more space required. type: integer format: uint minimum: 0 ef_construct: description: Number of neighbours to consider during the index building. Larger the value - more accurate the search, more time required to build index. type: integer format: uint minimum: 4 full_scan_threshold: description: '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 that a condition satisfies is smaller than `full_scan_threshold_kb`, the query planner will use full-scan search instead of HNSW index traversal for better performance. Note: 1Kb = 1 vector of size 256' type: integer format: uint minimum: 0 max_indexing_threads: description: 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 slow building or broken/inefficient HNSW graphs. On small CPUs, less threads are used. default: 0 type: integer format: uint minimum: 0 on_disk: description: 'Store HNSW index on disk. If set to false, index will be stored in RAM. Default: false' type: boolean nullable: true payload_m: description: Custom M param for hnsw graph built for payload index. If not set, default M will be used. type: integer format: uint minimum: 0 nullable: true inline_storage: description: '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 the search. Requires quantized vectors to be enabled. Multi-vectors are not supported.' type: boolean nullable: true FloatIndexParams: type: object required: - type properties: type: $ref: '#/components/schemas/FloatIndexType' is_principal: description: If true - use this key to organize storage of the collection data. This option assumes that this key will be used in majority of filtered requests. type: boolean nullable: true on_disk: description: 'If true, store the index on disk. Default: false.' type: boolean nullable: true enable_hnsw: description: 'Enable HNSW graph building for this payload field. If true, builds additional HNSW links (Need payload_m > 0). Default: true.' type: boolean nullable: true BinaryQuantizationConfig: type: object properties: always_ram: type: boolean nullable: true encoding: anyOf: - $ref: '#/components/schemas/BinaryQuantizationEncoding' - nullable: true query_encoding: description: Asymmetric quantization configuration allows a query to have different quantization than stored vectors. It can increase the accuracy of search at the cost of performance. anyOf: - $ref: '#/components/schemas/BinaryQuantizationQueryEncoding' - nullable: true ConsensusThreadStatus: description: Information about current consensus thread status oneOf: - type: object required: - consensus_thread_status - last_update properties: consensus_thread_status: type: string enum: - working last_update: type: string format: date-time - type: object required: - consensus_thread_status properties: consensus_thread_status: type: string enum: - stopped - type: object required: - consensus_thread_status - err properties: consensus_thread_status: type: string enum: - stopped_with_err err: type: string ShardCleanStatusTelemetry: oneOf: - type: string enum: - started - done - cancelled - type: object required: - progress properties: progress: $ref: '#/components/schemas/ShardCleanStatusProgressTelemetry' additionalProperties: false - type: object required: - failed properties: failed: $ref: '#/components/schemas/ShardCleanStatusFailedTelemetry' additionalProperties: false StrictModeMultivectorConfigOutput: type: object additionalProperties: $ref: '#/components/schemas/StrictModeMultivectorOutput' ScalarQuantization: type: object required: - scalar properties: scalar: $ref: '#/components/schemas/ScalarQuantizationConfig' WebApiTelemetry: type: object required: - responses properties: responses: type: object additionalProperties: type: object additionalProperties: $ref: '#/components/schemas/OperationDurationStatistics' per_collection_responses: type: object additionalProperties: type: object additionalProperties: type: object additionalProperties: $ref: '#/components/schemas/OperationDurationStatistics' FloatIndexType: type: string enum: - float ProductQuantizationConfig: type: object required: - compression properties: compression: $ref: '#/components/schemas/CompressionRatio' always_ram: type: boolean nullable: true PeerInfo: description: Information of a peer in the cluster type: object required: - uri properties: uri: type: string HardwareTelemetry: type: object required: - collection_data properties: collection_data: type: object additionalProperties: $ref: '#/components/schemas/HardwareUsage' OperationDurationStatistics: type: object required: - count properties: count: type: integer format: uint minimum: 0 fail_count: type: integer format: uint minimum: 0 nullable: true avg_duration_micros: description: The average time taken by 128 latest operations, calculated as a weighted mean. type: number format: float nullable: true min_duration_micros: description: The minimum duration of the operations across all the measurements. type: number format: float nullable: true max_duration_micros: description: The maximum duration of the operations across all the measurements. type: number format: float nullable: true total_duration_micros: description: The total duration of all operations in microseconds. type: integer format: uint64 minimum: 0 nullable: true last_responded: type: string format: date-time nullable: true AppFeaturesTelemetry: type: object required: - debug - gpu - recovery_mode - rocksdb - service_debug_feature - staging properties: debug: type: boolean service_debug_feature: type: boolean recovery_mode: type: boolean gpu: type: boolean rocksdb: type: boolean staging: type: boolean SparseIndexType: description: Sparse index types oneOf: - description: Mutable RAM sparse index type: string enum: - MutableRam - description: Immutable RAM sparse index type: string enum: - ImmutableRam - description: Mmap sparse index type: string enum: - Mmap SparseIndexParams: description: Configuration for sparse inverted index. type: object properties: full_scan_threshold: description: 'We prefer a full scan search upto (excluding) this number of vectors. Note: this is number of vectors, not KiloBytes.' type: integer format: uint minimum: 0 nullable: true on_disk: description: 'Store index on disk. If set to false, the index will be stored in RAM. Default: false' type: boolean nullable: true datatype: description: 'Defines which datatype should be used for the index. Choosing different datatypes allows to optimize memory usage and performance vs accuracy. - For `float32` datatype - vectors are stored as single-precision floating point numbers, 4 bytes. - For `float16` datatype - vectors are stored as half-precision floating point numbers, 2 bytes. - For `uint8` datatype - vectors are quantized to unsigned 8-bit integers, 1 byte. Quantization to fit byte range `[0, 255]` happens during indexing automatically, so the actual vector data does not need to conform to this range.' anyOf: - $ref: '#/components/schemas/Datatype' - nullable: true ProductQuantization: type: object required: - product properties: product: $ref: '#/components/schemas/ProductQuantizationConfig' LocalShardTelemetry: type: object required: - total_optimized_points properties: variant_name: type: string nullable: true status: anyOf: - $ref: '#/components/schemas/ShardStatus' - nullable: true total_optimized_points: description: Total number of optimized points since the last start. type: integer format: uint minimum: 0 vectors_size_bytes: description: An ESTIMATION of effective amount of bytes used for vectors Do NOT rely on this number unless you know what you are doing type: integer format: uint minimum: 0 nullable: true payloads_size_bytes: description: An estimation of the effective amount of bytes used for payloads Do NOT rely on this number unless you know what you are doing type: integer format: uint minimum: 0 nullable: true num_points: description: Sum of segment points This is an approximate number Do NOT rely on this number unless you know what you are doing type: integer format: uint minimum: 0 nullable: true num_vectors: description: Sum of number of vectors in all segments This is an approximate number Do NOT rely on this number unless you know what you are doing type: integer format: uint minimum: 0 nullable: true num_vectors_by_name: description: Sum of number of vectors across all segments, grouped by their name. This is an approximate number. Do NOT rely on this number unless you know what you are doing type: object additionalProperties: type: integer format: uint minimum: 0 nullable: true segments: type: array items: $ref: '#/components/schemas/SegmentTelemetry' nullable: true optimizations: anyOf: - $ref: '#/components/schemas/OptimizerTelemetry' - nullable: true async_scorer: type: boolean nullable: true indexed_only_excluded_vectors: type: object additionalProperties: type: integer format: uint minimum: 0 nullable: true update_queue: description: Update queue status anyOf: - $ref: '#/components/schemas/ShardUpdateQueueInfo' - nullable: true StateRole: description: Role of the peer in the consensus type: string enum: - Follower - Candidate - Leader - PreCandidate RequestsTelemetry: type: object required: - grpc - rest properties: rest: $ref: '#/components/schemas/WebApiTelemetry' grpc: $ref: '#/components/schemas/GrpcTelemetry' OptimizersStatus: description: Current state of the collection oneOf: - description: Optimizers are reporting as expected type: string enum: - ok - description: Something wrong happened with optimizers type: object required: - error properties: error: type: string additionalProperties: false CpuEndian: type: string enum: - little - big - other SegmentConfig: type: object required: - payload_storage_type properties: vector_data: default: {} type: object additionalProperties: $ref: '#/components/schemas/VectorDataConfig' sparse_vector_data: type: object additionalProperties: $ref: '#/components/schemas/SparseVectorDataConfig' payload_storage_type: $ref: '#/components/schemas/PayloadStorageType' ShardTransferMethod: description: 'Methods for transferring a shard from one node to another. - `stream_records` - Stream all shard records in batches until the whole shard is transferred. - `snapshot` - Snapshot the shard, transfer and restore it on the receiver. - `wal_delta` - Attempt to transfer shard difference by WAL delta. - `resharding_stream_records` - Shard transfer for resharding: stream all records in batches until all points are transferred.' type: string enum: - stream_records - snapshot - wal_delta - resharding_stream_records DatetimeIndexType: type: string enum: - datetime ShardCleanStatusProgressTelemetry: type: object required: - deleted_points properties: deleted_points: type: integer format: uint minimum: 0 BoolIndexParams: type: object required: - type properties: type: $ref: '#/components/schemas/BoolIndexType' on_disk: description: 'If true, store the index on disk. Default: false.' type: boolean nullable: true enable_hnsw: description: 'Enable HNSW graph building for this payload field. If true, builds additional HNSW links (Need payload_m > 0). Default: true.' type: boolean nullable: true StopwordsSet: type: object properties: languages: description: Set of languages to use for stopwords. Multiple pre-defined lists of stopwords can be combined. type: array items: $ref: '#/components/schemas/Language' uniqueItems: true nullable: true custom: description: Custom stopwords set. Will be merged with the languages set. type: array items: type: string uniqueItems: true nullable: true KeywordIndexParams: type: object required: - type properties: type: $ref: '#/components/schemas/KeywordIndexType' is_tenant: description: 'If true - used for tenant optimization. Default: false.' type: boolean nullable: true on_disk: description: 'If true, store the index on disk. Default: false.' type: boolean nullable: true enable_hnsw: description: 'Enable HNSW graph building for this payload field. If true, builds additional HNSW links (Need payload_m > 0). Default: true.' type: boolean nullable: true PartialSnapshotTelemetry: type: object required: - is_recovering - ongoing_create_snapshot_requests - recovery_timestamp properties: ongoing_create_snapshot_requests: type: integer format: uint minimum: 0 is_recovering: type: boolean recovery_timestamp: type: integer format: uint64 minimum: 0 IntegerIndexType: type: string enum: - integer BinaryQuantizationQueryEncoding: type: string enum: - default - binary - scalar4bits - scalar8bits CollectionConfigTelemetry: type: object required: - hnsw_config - optimizer_config - params - wal_config properties: params: $ref: '#/components/schemas/CollectionParams' hnsw_config: $ref: '#/components/schemas/HnswConfig' optimizer_config: $ref: '#/components/schemas/OptimizersConfig' wal_config: $ref: '#/components/schemas/WalConfig' quantization_config: default: null anyOf: - $ref: '#/components/schemas/QuantizationConfig' - nullable: true strict_mode_config: anyOf: - $ref: '#/components/schemas/StrictModeConfigOutput' - nullable: true uuid: default: null type: string format: uuid nullable: true metadata: description: Arbitrary JSON metadata for the collection anyOf: - $ref: '#/components/schemas/Payload' - nullable: true WalConfig: type: object required: - wal_capacity_mb - wal_segments_ahead properties: wal_capacity_mb: description: Size of a single WAL segment in MB type: integer format: uint minimum: 1 wal_segments_ahead: description: Number of WAL segments to create ahead of actually used ones type: integer format: uint minimum: 0 wal_retain_closed: description: Number of closed WAL segments to keep default: 1 type: integer format: uint minimum: 1 MemoryTelemetry: type: object required: - active_bytes - allocated_bytes - metadata_bytes - resident_bytes - retained_bytes properties: active_bytes: description: Total number of bytes in active pages allocated by the application type: integer format: uint minimum: 0 allocated_bytes: description: Total number of bytes allocated by the application type: integer format: uint minimum: 0 metadata_bytes: description: Total number of bytes dedicated to metadata type: integer format: uint minimum: 0 resident_bytes: description: Maximum number of bytes in physically resident data pages mapped type: integer format: uint minimum: 0 retained_bytes: description: Total number of bytes in virtual memory mappings type: integer format: uint minimum: 0 TrackerStatus: description: Represents the current state of the optimizer being tracked oneOf: - type: string enum: - optimizing - done - type: object required: - cancelled properties: cancelled: type: string additionalProperties: false - type: object required: - error properties: error: type: string additionalProperties: false ModelUsage: type: object required: - tokens properties: tokens: type: integer format: uint64 minimum: 0 RunningEnvironmentTelemetry: type: object required: - cpu_flags - is_docker properties: distribution: type: string nullable: true distribution_version: type: string nullable: true is_docker: type: boolean cores: type: integer format: uint minimum: 0 nullable: true ram_size: type: integer format: uint minimum: 0 nullable: true disk_size: type: integer format: uint minimum: 0 nullable: true cpu_flags: type: string cpu_endian: anyOf: - $ref: '#/components/schemas/CpuEndian' - nullable: true gpu_devices: type: array items: $ref: '#/components/schemas/GpuDeviceTelemetry' nullable: true Modifier: description: 'If used, include weight modification, which will be applied to sparse vectors at query time: None - no modification (default) Idf - inverse document frequency, based on statistics of the collection' type: string enum: - none - idf ShardStatus: description: 'Current state of the shard (supports same states as the collection) `Green` - all good. `Yellow` - optimization is running, ''Grey'' - optimizations are possible but not triggered, `Red` - some operations failed and was not recovered' type: string enum: - green - yellow - grey - red CollectionsAggregatedTelemetry: type: object required: - optimizers_status - params - vectors properties: vectors: type: integer format: uint minimum: 0 optimizers_status: $ref: '#/components/schemas/OptimizersStatus' params: $ref: '#/components/schemas/CollectionParams' MultiVectorComparator: type: string enum: - max_sim CollectionsTelemetry: type: object required: - number_of_collections properties: number_of_collections: type: integer format: uint minimum: 0 max_collections: type: integer format: uint minimum: 0 nullable: true collections: type: array items: $ref: '#/components/schemas/CollectionTelemetryEnum' nullable: true snapshots: type: array items: $ref: '#/components/schemas/CollectionSnapshotTelemetry' nullable: true ReplicaSetTelemetry: type: object required: - id - remote - replicate_states properties: id: type: integer format: uint32 minimum: 0 key: anyOf: - $ref: '#/components/schemas/ShardKey' - nullable: true local: anyOf: - $ref: '#/components/schemas/LocalShardTelemetry' - nullable: true remote: type: array items: $ref: '#/components/schemas/RemoteShardTelemetry' replicate_states: type: object additionalProperties: $ref: '#/components/schemas/ReplicaState' partial_snapshot: anyOf: - $ref: '#/components/schemas/PartialSnapshotTelemetry' - nullable: true CollectionSnapshotTelemetry: type: object required: - id properties: id: type: string running_snapshots: type: integer format: uint minimum: 0 nullable: true running_snapshot_recovery: type: integer format: uint minimum: 0 nullable: true total_snapshot_creations: type: integer format: uint minimum: 0 nullable: true StemmingAlgorithm: description: Different stemming algorithms with their configs. anyOf: - $ref: '#/components/schemas/SnowballParams' SparseVectorDataConfig: description: Config of single sparse vector data storage type: object required: - index properties: index: $ref: '#/components/schemas/SparseIndexConfig' storage_type: $ref: '#/components/schemas/SparseVectorStorageType' modifier: description: 'Configures addition value modifications for sparse vectors. Default: none' anyOf: - $ref: '#/components/schemas/Modifier' - nullable: true MultiVectorConfig: type: object required: - comparator properties: comparator: $ref: '#/components/schemas/MultiVectorComparator' HardwareUsage: description: Usage of the hardware resources, spent to process the request type: object required: - cpu - payload_index_io_read - payload_index_io_write - payload_io_read - payload_io_write - vector_io_read - vector_io_write properties: cpu: type: integer format: uint minimum: 0 payload_io_read: type: integer format: uint minimum: 0 payload_io_write: type: integer format: uint minimum: 0 payload_index_io_read: type: integer format: uint minimum: 0 payload_index_io_write: type: integer format: uint minimum: 0 vector_io_read: type: integer format: uint minimum: 0 vector_io_write: type: integer format: uint minimum: 0 VectorParams: description: Params of single vector data storage type: object required: - distance - size properties: size: description: Size of a vectors used type: integer format: uint64 minimum: 1 distance: $ref: '#/components/schemas/Distance' hnsw_config: description: Custom params for HNSW index. If none - values from collection configuration are used. anyOf: - $ref: '#/components/schemas/HnswConfigDiff' - nullable: true quantization_config: description: Custom params for quantization. If none - values from collection configuration are used. anyOf: - $ref: '#/components/schemas/QuantizationConfig' - nullable: true on_disk: description: 'If true, vectors are served from disk, improving RAM usage at the cost of latency Default: false' type: boolean nullable: true datatype: description: '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 are stored as single-precision floating point numbers, 4 bytes. - For `float16` datatype - vectors are stored as half-precision floating point numbers, 2 bytes. - For `uint8` datatype - vectors are stored as unsigned 8-bit integers, 1 byte. It expects vector elements to be in range `[0, 255]`.' anyOf: - $ref: '#/components/schemas/Datatype' - nullable: true multivector_config: anyOf: - $ref: '#/components/schemas/MultiVectorConfig' - nullable: true KeywordIndexType: type: string enum: - keyword P2pConfigTelemetry: type: object required: - connection_pool_size properties: connection_pool_size: type: integer format: uint minimum: 0 Distance: description: Type of internal tags, build from payload Distance function types used to compare vectors type: string enum: - Cosine - Euclid - Dot - Manhattan AppBuildTelemetry: type: object required: - name - startup - version properties: name: type: string version: type: string features: anyOf: - $ref: '#/components/schemas/AppFeaturesTelemetry' - nullable: true runtime_features: anyOf: - $ref: '#/components/schemas/FeatureFlags' - nullable: true hnsw_global_config: anyOf: - $ref: '#/components/schemas/HnswGlobalConfig' - nullable: true system: anyOf: - $ref: '#/components/schemas/RunningEnvironmentTelemetry' - nullable: true jwt_rbac: type: boolean nullable: true hide_jwt_dashboard: type: boolean nullable: true startup: type: string format: date-time OptimizersConfig: type: object required: - default_segment_number - flush_interval_sec properties: deleted_threshold: description: The minimal fraction of deleted vectors in a segment, required to perform segment optimization default: 0.2 type: number format: double maximum: 1 minimum: 0 vacuum_min_vector_number: description: The minimal number of vectors in a segment, required to perform segment optimization default: 1000 type: integer format: uint minimum: 100 default_segment_number: description: '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 default number of segments as a factor of the number of search threads, so that each segment would be handled evenly by one of the threads. If `default_segment_number = 0`, will be automatically selected by the number of available CPUs.' type: integer format: uint minimum: 0 max_segment_size: description: '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 indexing speed is more important - make this parameter lower. If search speed is more important - make this parameter higher. Note: 1Kb = 1 vector of size 256 If not set, will be automatically selected considering the number of available CPUs.' default: null type: integer format: uint minimum: 1 nullable: true memmap_threshold: description: '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 it, set this threshold to a reasonable value. To disable memmap storage, set this to `0`. Internally it will use the largest threshold possible. Note: 1Kb = 1 vector of size 256' default: null deprecated: true type: integer format: uint minimum: 0 nullable: true indexing_threshold: description: 'Maximum size (in kilobytes) of vectors allowed for plain index, exceeding this threshold will enable vector indexing Default value is 10,000, based on experiments and observations. To disable vector indexing, set to `0`. Note: 1kB = 1 vector of size 256.' default: null type: integer format: uint minimum: 0 nullable: true flush_interval_sec: description: Minimum interval between forced flushes. type: integer format: uint64 minimum: 0 max_optimization_threads: description: '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 null - have no limit and choose dynamically to saturate CPU. If 0 - no optimization threads, optimizations will be disabled.' default: null type: integer format: uint minimum: 0 nullable: true prevent_unoptimized: description: If this option is set, service will try to prevent creation of large unoptimized segments. When enabled, updates may be blocked at request level if there are unoptimized segments larger than indexing threshold. Updates will be resumed when optimization is completed and segments are optimized below the threshold. Using this option may lead to increased delay between submitting an update and its application. Default is disabled. default: null type: boolean nullable: true TokenizerType: type: string enum: - prefix - whitespace - word - multilingual SegmentType: description: Type of segment type: string enum: - plain - indexed - special ScalarType: type: string enum: - int8 SegmentTelemetry: type: object required: - config - info - payload_field_indices - vector_index_searches properties: info: $ref: '#/components/schemas/SegmentInfo' config: $ref: '#/components/schemas/SegmentConfig' vector_index_searches: type: array items: $ref: '#/components/schemas/VectorIndexSearchesTelemetry' payload_field_indices: type: array items: $ref: '#/components/schemas/PayloadIndexTelemetry' DatetimeIndexParams: type: object required: - type properties: type: $ref: '#/components/schemas/DatetimeIndexType' is_principal: description: If true - use this key to organize storage of the collection data. This option assumes that this key will be used in majority of filtered requests. type: boolean nullable: true on_disk: description: 'If true, store the index on disk. Default: false.' type: boolean nullable: true enable_hnsw: description: 'Enable HNSW graph building for this payload field. If true, builds additional HNSW links (Need payload_m > 0). Default: true.' type: boolean nullable: true UuidIndexType: type: string enum: - uuid ErrorResponse: type: object properties: time: type: number format: float description: Time spent to process this request status: type: object properties: error: type: string description: Description of the occurred error. result: type: object nullable: true CompressionRatio: type: string enum: - x4 - x8 - x16 - x32 - x64 TelemetryData: type: object required: - collections - id properties: id: type: string app: anyOf: - $ref: '#/components/schemas/AppBuildTelemetry' - nullable: true collections: $ref: '#/components/schemas/CollectionsTelemetry' cluster: anyOf: - $ref: '#/components/schemas/ClusterTelemetry' - nullable: true requests: anyOf: - $ref: '#/components/schemas/RequestsTelemetry' - nullable: true memory: anyOf: - $ref: '#/components/schemas/MemoryTelemetry' - nullable: true hardware: anyOf: - $ref: '#/components/schemas/HardwareTelemetry' - nullable: true VectorStorageType: description: Storage types for vectors oneOf: - description: 'Storage in memory (RAM) Will be very fast at the cost of consuming a lot of memory.' type: string enum: - Memory - description: 'Storage in mmap file, not appendable Search performance is defined by disk speed and the fraction of vectors that fit in memory.' type: string enum: - Mmap - description: 'Storage in chunked mmap files, appendable Search performance is defined by disk speed and the fraction of vectors that fit in memory.' type: string enum: - ChunkedMmap - description: 'Same as `ChunkedMmap`, but vectors are forced to be locked in RAM In this way we avoid cold requests to disk, but risk to run out of memory Designed as a replacement for `Memory`, which doesn''t depend on RocksDB' type: string enum: - InRamChunkedMmap - description: Storage in a single mmap file, not appendable Pre-fetched into RAM on load type: string enum: - InRamMmap SparseIndexConfig: description: Configuration for sparse inverted index. type: object required: - index_type properties: full_scan_threshold: description: 'We prefer a full scan search upto (excluding) this number of vectors. Note: this is number of vectors, not KiloBytes.' type: integer format: uint minimum: 0 nullable: true index_type: $ref: '#/components/schemas/SparseIndexType' datatype: description: Datatype used to store weights in the index. anyOf: - $ref: '#/components/schemas/VectorStorageDatatype' - nullable: true ClusterTelemetry: type: object required: - enabled properties: enabled: type: boolean status: anyOf: - $ref: '#/components/schemas/ClusterStatusTelemetry' - nullable: true config: anyOf: - $ref: '#/components/schemas/ClusterConfigTelemetry' - nullable: true peers: type: object additionalProperties: $ref: '#/components/schemas/PeerInfo' nullable: true peer_metadata: type: object additionalProperties: $ref: '#/components/schemas/PeerMetadata' nullable: true metadata: type: object additionalProperties: true nullable: true resharding_enabled: type: boolean nullable: true PayloadStorageType: description: Type of payload storage oneOf: - type: object required: - type properties: type: type: string enum: - in_memory - type: object required: - type properties: type: type: string enum: - on_disk - type: object required: - type properties: type: type: string enum: - mmap - type: object required: - type properties: type: type: string enum: - in_ram_mmap StrictModeSparseConfigOutput: type: object additionalProperties: $ref: '#/components/schemas/StrictModeSparseOutput' VectorDataInfo: type: object required: - num_deleted_vectors - num_indexed_vectors - num_vectors properties: num_vectors: type: integer format: uint minimum: 0 num_indexed_vectors: type: integer format: uint minimum: 0 num_deleted_vectors: type: integer format: uint minimum: 0 VectorStorageDatatype: description: Storage types for vectors type: string enum: - float32 - float16 - uint8 CollectionParams: type: object properties: vectors: $ref: '#/components/schemas/VectorsConfig' shard_number: description: Number of shards the collection has default: 1 type: integer format: uint32 minimum: 1 sharding_method: description: Sharding method Default is Auto - points are distributed across all available shards Custom - points are distributed across shards according to shard key anyOf: - $ref: '#/components/schemas/ShardingMethod' - nullable: true replication_factor: description: Number of replicas for each shard default: 1 type: integer format: uint32 minimum: 1 write_consistency_factor: description: 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 not enough replicas are available. Does not have any performance impact. default: 1 type: integer format: uint32 minimum: 1 read_fan_out_factor: description: Defines how many additional replicas should be processing read request at the same time. Default value is Auto, which means that fan-out will be determined automatically based on the busyness of the local replica. Having more than 0 might be useful to smooth latency spikes of individual nodes. type: integer format: uint32 minimum: 0 nullable: true read_fan_out_delay_ms: description: Define number of milliseconds to wait before attempting to read from another replica. This setting can help to reduce latency spikes in case of occasional slow replicas. Default is 0, which means delayed fan out request is disabled. type: integer format: uint64 minimum: 0 nullable: true on_disk_payload: description: '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 payload values that are involved in filtering and are indexed - remain in RAM. Default: true' default: true type: boolean sparse_vectors: description: Configuration of the sparse vector storage type: object additionalProperties: $ref: '#/components/schemas/SparseVectorParams' nullable: true ScalarQuantizationConfig: type: object required: - type properties: type: $ref: '#/components/schemas/ScalarType' quantile: description: Quantile for quantization. Expected value range in [0.5, 1.0]. If not set - use the whole range of values type: number format: float maximum: 1 minimum: 0.5 nullable: true always_ram: description: If true - quantized vectors always will be stored in RAM, ignoring the config of main storage type: boolean nullable: true ReplicaState: description: State of the single shard within a replica set. type: string enum: - Active - Dead - Partial - Initializing - Listener - PartialSnapshot - Recovery - Resharding - ReshardingScaleDown - ActiveRead - ManualRecovery GeoIndexParams: type: object required: - type properties: type: $ref: '#/components/schemas/GeoIndexType' on_disk: description: 'If true, store the index on disk. Default: false.' type: boolean nullable: true enable_hnsw: description: 'Enable HNSW graph building for this payload field. If true, builds additional HNSW links (Need payload_m > 0). Default: true.' type: boolean nullable: true CollectionTelemetry: type: object required: - id properties: id: type: string init_time_ms: type: integer format: uint64 minimum: 0 nullable: true config: anyOf: - $ref: '#/components/schemas/CollectionConfigTelemetry' - nullable: true shards: type: array items: $ref: '#/components/schemas/ReplicaSetTelemetry' nullable: true transfers: type: array items: $ref: '#/components/schemas/ShardTransferInfo' nullable: true resharding: type: array items: $ref: '#/components/schemas/ReshardingInfo' nullable: true shard_clean_tasks: type: object additionalProperties: $ref: '#/components/schemas/ShardCleanStatusTelemetry' nullable: true PayloadIndexTelemetry: type: object required: - index_type - points_count - points_values_count properties: field_name: type: string nullable: true index_type: type: string points_values_count: description: The amount of values indexed for all points. type: integer format: uint minimum: 0 points_count: description: The amount of points that have at least one value indexed. type: integer format: uint minimum: 0 histogram_bucket_size: type: integer format: uint minimum: 0 nullable: true ShardingMethod: type: string enum: - auto - custom SnowballParams: type: object required: - language - type properties: type: $ref: '#/components/schemas/Snowball' language: $ref: '#/components/schemas/SnowballLanguage' ClusterConfigTelemetry: type: object required: - consensus - grpc_timeout_ms - p2p properties: grpc_timeout_ms: type: integer format: uint64 minimum: 0 p2p: $ref: '#/components/schemas/P2pConfigTelemetry' consensus: $ref: '#/components/schemas/ConsensusConfigTelemetry' TextIndexParams: type: object required: - type properties: type: $ref: '#/components/schemas/TextIndexType' tokenizer: $ref: '#/components/schemas/TokenizerType' min_token_len: description: Minimum characters to be tokenized. type: integer format: uint minimum: 0 nullable: true max_token_len: description: Maximum characters to be tokenized. type: integer format: uint minimum: 0 nullable: true lowercase: description: 'If true, lowercase all tokens. Default: true.' type: boolean nullable: true ascii_folding: description: 'If true, normalize tokens by folding accented characters to ASCII (e.g., "ação" -> "acao"). Default: false.' type: boolean nullable: true phrase_matching: description: 'If true, support phrase matching. Default: false.' type: boolean nullable: true stopwords: description: Ignore this set of tokens. Can select from predefined languages and/or provide a custom set. anyOf: - $ref: '#/components/schemas/StopwordsInterface' - nullable: true on_disk: description: 'If true, store the index on disk. Default: false.' type: boolean nullable: true stemmer: description: 'Algorithm for stemming. Default: disabled.' anyOf: - $ref: '#/components/schemas/StemmingAlgorithm' - nullable: true enable_hnsw: description: 'Enable HNSW graph building for this payload field. If true, builds additional HNSW links (Need payload_m > 0). Default: true.' type: boolean nullable: true HnswConfigDiff: type: object properties: m: description: Number of edges per node in the index graph. Larger the value - more accurate the search, more space required. type: integer format: uint minimum: 0 nullable: true ef_construct: description: Number of neighbours to consider during the index building. Larger the value - more accurate the search, more time required to build the index. type: integer format: uint minimum: 4 nullable: true full_scan_threshold: description: '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 that a condition satisfies is smaller than `full_scan_threshold_kb`, the query planner will use full-scan search instead of HNSW index traversal for better performance. Note: 1Kb = 1 vector of size 256' type: integer format: uint minimum: 10 nullable: true max_indexing_threads: description: 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 graphs. On small CPUs, less threads are used. type: integer format: uint minimum: 0 nullable: true on_disk: description: 'Store HNSW index on disk. If set to false, the index will be stored in RAM. Default: false' type: boolean nullable: true payload_m: description: Custom M param for additional payload-aware HNSW links. If not set, default M will be used. type: integer format: uint minimum: 0 nullable: true inline_storage: description: '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 the search. Requires quantized vectors to be enabled. Multi-vectors are not supported.' type: boolean nullable: true StrictModeSparseOutput: type: object properties: max_length: description: Max length of sparse vector type: integer format: uint minimum: 0 nullable: true StrictModeMultivectorOutput: type: object properties: max_vectors: description: Max number of vectors in a multivector type: integer format: uint minimum: 0 nullable: true GrpcTelemetry: type: object required: - responses properties: responses: type: object additionalProperties: type: object additionalProperties: $ref: '#/components/schemas/OperationDurationStatistics' per_collection_responses: type: object additionalProperties: type: object additionalProperties: type: object additionalProperties: $ref: '#/components/schemas/OperationDurationStatistics' Snowball: type: string enum: - snowball VectorsConfig: description: 'Vector params separator for single and multiple vector modes Single mode: { "size": 128, "distance": "Cosine" } or multiple mode: { "default": { "size": 128, "distance": "Cosine" } }' anyOf: - $ref: '#/components/schemas/VectorParams' - type: object additionalProperties: $ref: '#/components/schemas/VectorParams' Datatype: type: string enum: - float32 - uint8 - float16 TextIndexType: type: string enum: - text VectorIndexSearchesTelemetry: type: object required: - filtered_exact - filtered_large_cardinality - filtered_plain - filtered_small_cardinality - filtered_sparse - unfiltered_exact - unfiltered_hnsw - unfiltered_plain - unfiltered_sparse properties: index_name: type: string nullable: true unfiltered_plain: $ref: '#/components/schemas/OperationDurationStatistics' unfiltered_hnsw: $ref: '#/components/schemas/OperationDurationStatistics' unfiltered_sparse: $ref: '#/components/schemas/OperationDurationStatistics' filtered_plain: $ref: '#/components/schemas/OperationDurationStatistics' filtered_small_cardinality: $ref: '#/components/schemas/OperationDurationStatistics' filtered_large_cardinality: $ref: '#/components/schemas/OperationDurationStatistics' filtered_exact: $ref: '#/components/schemas/OperationDurationStatistics' filtered_sparse: $ref: '#/components/schemas/OperationDurationStatistics' unfiltered_exact: $ref: '#/components/schemas/OperationDurationStatistics' VersionInfo: type: object required: - title - version properties: title: type: string version: type: string commit: type: string nullable: true SegmentInfo: description: Aggregated information about segment type: object required: - disk_usage_bytes - index_schema - is_appendable - num_deleted_vectors - num_indexed_vectors - num_points - num_vectors - payloads_size_bytes - ram_usage_bytes - segment_type - uuid - vector_data - vectors_size_bytes properties: uuid: type: string format: uuid segment_type: $ref: '#/components/schemas/SegmentType' num_vectors: type: integer format: uint minimum: 0 num_points: type: integer format: uint minimum: 0 num_deferred_points: type: integer format: uint minimum: 0 nullable: true num_deleted_deferred_points: type: integer format: uint minimum: 0 nullable: true num_indexed_vectors: type: integer format: uint minimum: 0 num_deleted_vectors: type: integer format: uint minimum: 0 vectors_size_bytes: description: An ESTIMATION of effective amount of bytes used for vectors Do NOT rely on this number unless you know what you are doing type: integer format: uint minimum: 0 payloads_size_bytes: description: An estimation of the effective amount of bytes used for payloads type: integer format: uint minimum: 0 ram_usage_bytes: type: integer format: uint minimum: 0 disk_usage_bytes: type: integer format: uint minimum: 0 is_appendable: type: boolean index_schema: type: object additionalProperties: $ref: '#/components/schemas/PayloadIndexInfo' vector_data: type: object additionalProperties: $ref: '#/components/schemas/VectorDataInfo' deferred_internal_id: description: Internal ID from which points are deferred (hidden from reads). Only set for appendable segments. type: integer format: uint32 minimum: 0 nullable: true SnowballLanguage: description: Languages supported by snowball stemmer. type: string enum: - arabic - armenian - danish - dutch - english - finnish - french - german - greek - hungarian - italian - norwegian - portuguese - romanian - russian - spanish - swedish - tamil - turkish IntegerIndexParams: type: object required: - type properties: type: $ref: '#/components/schemas/IntegerIndexType' lookup: description: If true - support direct lookups. Default is true. type: boolean nullable: true range: description: If true - support ranges filters. Default is true. type: boolean nullable: true is_principal: description: If true - use this key to organize storage of the collection data. This option assumes that this key will be used in majority of filtered requests. Default is false. type: boolean nullable: true on_disk: description: 'If true, store the index on disk. Default: false. Default is false.' type: boolean nullable: true enable_hnsw: description: 'Enable HNSW graph building for this payload field. If true, builds additional HNSW links (Need payload_m > 0). Default: true.' type: boolean nullable: true Indexes: description: Vector index configuration oneOf: - description: Do not use any index, scan whole vector collection during search. Guarantee 100% precision, but may be time consuming on large collections. type: object required: - options - type properties: type: type: string enum: - plain options: type: object - description: Use filterable HNSW index for approximate search. Is very fast even on a very huge collections, but require additional space to store index and additional time to build it. type: object required: - options - type properties: type: type: string enum: - hnsw options: $ref: '#/components/schemas/HnswConfig' GpuDeviceTelemetry: type: object required: - name properties: name: type: string ClusterStatusTelemetry: type: object required: - commit - consensus_thread_status - is_voter - number_of_peers - pending_operations - term properties: number_of_peers: type: integer format: uint minimum: 0 term: type: integer format: uint64 minimum: 0 commit: type: integer format: uint64 minimum: 0 pending_operations: type: integer format: uint minimum: 0 role: anyOf: - $ref: '#/components/schemas/StateRole' - nullable: true is_voter: type: boolean peer_id: type: integer format: uint64 minimum: 0 nullable: true consensus_thread_status: $ref: '#/components/schemas/ConsensusThreadStatus' StopwordsInterface: anyOf: - $ref: '#/components/schemas/Language' - $ref: '#/components/schemas/StopwordsSet' UuidIndexParams: type: object required: - type properties: type: $ref: '#/components/schemas/UuidIndexType' is_tenant: description: If true - used for tenant optimization. type: boolean nullable: true on_disk: description: 'If true, store the index on disk. Default: false.' type: boolean nullable: true enable_hnsw: description: 'Enable HNSW graph building for this payload field. If true, builds additional HNSW links (Need payload_m > 0). Default: true.' type: boolean nullable: true RemoteShardTelemetry: type: object required: - peer_id - shard_id properties: shard_id: type: integer format: uint32 minimum: 0 peer_id: type: integer format: uint64 minimum: 0 searches: anyOf: - $ref: '#/components/schemas/OperationDurationStatistics' - nullable: true updates: anyOf: - $ref: '#/components/schemas/OperationDurationStatistics' - nullable: true SparseVectorStorageType: oneOf: - description: Storage on disk (rocksdb storage) type: string enum: - on_disk - description: Storage in memory maps (gridstore storage) type: string enum: - mmap PeerMetadata: description: Metadata describing extra properties for each peer type: object required: - version properties: version: description: Peer Qdrant version type: string BoolIndexType: type: string enum: - bool PayloadSchemaParams: description: Payload type with parameters anyOf: - $ref: '#/components/schemas/KeywordIndexParams' - $ref: '#/components/schemas/IntegerIndexParams' - $ref: '#/components/schemas/FloatIndexParams' - $ref: '#/components/schemas/GeoIndexParams' - $ref: '#/components/schemas/TextIndexParams' - $ref: '#/components/schemas/BoolIndexParams' - $ref: '#/components/schemas/DatetimeIndexParams' - $ref: '#/components/schemas/UuidIndexParams' Language: type: string enum: - arabic - azerbaijani - basque - bengali - catalan - chinese - danish - dutch - english - finnish - french - german - greek - hebrew - hinglish - hungarian - indonesian - italian - japanese - kazakh - nepali - norwegian - portuguese - romanian - russian - slovene - spanish - swedish - tajik - turkish ConsensusConfigTelemetry: type: object required: - bootstrap_timeout_sec - max_message_queue_size - tick_period_ms properties: max_message_queue_size: type: integer format: uint minimum: 0 tick_period_ms: type: integer format: uint64 minimum: 0 bootstrap_timeout_sec: type: integer format: uint64 minimum: 0 SparseVectorParams: description: Params of single sparse vector data storage type: object properties: index: description: Custom params for index. If none - values from collection configuration are used. anyOf: - $ref: '#/components/schemas/SparseIndexParams' - nullable: true modifier: description: 'Configures addition value modifications for sparse vectors. Default: none' anyOf: - $ref: '#/components/schemas/Modifier' - nullable: true securitySchemes: api-key: type: apiKey in: header name: api-key description: Authorization key, either read-write or read-only bearerAuth: type: http scheme: bearer externalDocs: description: Find out more about Qdrant applications and demo url: https://qdrant.tech/documentation/