---
title: "Update vectors"
method: PUT
path: "/collections/{collection_name}/points/vectors"
tags: ["Points"]
---

# Update vectors

`PUT /collections/{collection_name}/points/vectors`

Update specified named vectors on points, keep unspecified vectors intact.

## Path parameters

- `collection_name` string, required

## Query parameters

- `wait` boolean
- `ordering` 'weak' | 'medium' | 'strong' — Defines write ordering guarantees for collection operations * `weak` - write operations may be reordered, works faster, default * `medium` - write operations go through dynamically selected leader, may be inconsistent for a short period of time in case of leader change * `strong` - Write operations go through the permanent leader, consistent, but may be unavailable if leader is down
- `timeout` integer

## Request body

- UpdateVectors
  - `points` PointVectors[], required — Points with named vectors
    - `id` union, required — Type, used for specifying point ID in user interface
      - integer
      - string, uuid
    - `vector` union, required — Full vector data per point separator with single and multiple vector modes
      - number[]
      - array[]
        - number[]
      - object
      - Document — WARN: Work-in-progress, unimplemented Text document for embedding. Requires inference infrastructure, unimplemented.
        - `text` string, required — Text of the document. This field will be used as input for the embedding model.
        - `model` string, required — Name of the model used to generate the vector. List of available models depends on a provider.
        - `options` union — Additional options for the model, will be passed to the inference service as-is. See model cards for available options.
          - union — Option variants for text documents. Ether general-purpose options or BM25-specific options. BM25-specific will only take effect if the `qdrant/bm25` is specified as a model.
            - object
            - Bm25Config — Configuration of the local bm25 models.
              - …
          - unknown
      - Image — WARN: Work-in-progress, unimplemented Image object for embedding. Requires inference infrastructure, unimplemented.
        - `image` string, required — Image data: base64 encoded image or an URL
        - `model` string, required — Name of the model used to generate the vector. List of available models depends on a provider.
        - `options` object, nullable — Parameters for the model Values of the parameters are model-specific
      - InferenceObject — WARN: Work-in-progress, unimplemented Custom object for embedding. Requires inference infrastructure, unimplemented.
        - `object` unknown, required
        - `model` string, required — Name of the model used to generate the vector. List of available models depends on a provider.
        - `options` object, nullable — Parameters for the model Values of the parameters are model-specific
  - `shard_key` union
    - union
      - union
        - string
        - integer
      - ShardKey[]
        - union
          - string
          - integer
      - ShardKeyWithFallback
        - `target` union, required
          - string
          - integer
        - `fallback` union, required
          - string
          - integer
    - unknown
  - `update_filter` union
    - Filter
      - `should` union — At least one of those conditions should match
        - union
          - FieldCondition — All possible payload filtering conditions
            - `key` string, required — Payload key
            - `match` union — Check if point has field with a given value
              - …
            - `range` union — Check if points value lies in a given range
              - …
            - `geo_bounding_box` union — Check if points geolocation lies in a given area
              - …
            - `geo_radius` union — Check if geo point is within a given radius
              - …
            - `geo_polygon` union — Check if geo point is within a given polygon
              - …
            - `values_count` union — Check number of values of the field
              - …
            - `is_empty` boolean, nullable — Check that the field is empty, alternative syntax for `is_empty: "field_name"`
            - `is_null` boolean, nullable — Check that the field is null, alternative syntax for `is_null: "field_name"`
          - IsEmptyCondition — Select points with empty payload for a specified field
            - `is_empty` PayloadField, required — Payload field
              - …
          - IsNullCondition — Select points with null payload for a specified field
            - `is_null` PayloadField, required — Payload field
              - …
          - HasIdCondition — ID-based filtering condition
            - `has_id` ExtendedPointId[], required
              - …
          - HasVectorCondition — Filter points which have specific vector assigned
            - `has_vector` string, required
          - SliceCondition — Select points that fall into one of `total` disjoint deterministic slices of the id space, for parallel scans and reproducible sampling.
            - `slice` Slice, required — One of `total` disjoint deterministic slices of the id space. A point belongs to the slice iff `hash(id) % total == index`, where `hash` is SipHash-2-4 with a zero key over the canonical id bytes: 8 little-endian bytes for numeric ids, the 16 RFC 4122 bytes for UUIDs. For a fixed `total`, slices `0..total` are disjoint and together cover all points; membership is uniform regardless of the id scheme and stable across queries, segments, platforms and Qdrant versions. Slices with different `total` values are correlated (same hash, no salt): e.g. slice `0` of `total: 4` is a strict subset of slice `0` of `total: 2`. This keeps a smaller sample contained in a larger one.
              - …
          - NestedCondition
            - `nested` Nested, required — Select points with payload for a specified nested field
              - …
          - Filter — recursive
        - Condition[]
          - union
            - FieldCondition — All possible payload filtering conditions
              - …
            - IsEmptyCondition — Select points with empty payload for a specified field
              - …
            - IsNullCondition — Select points with null payload for a specified field
              - …
            - HasIdCondition — ID-based filtering condition
              - …
            - HasVectorCondition — Filter points which have specific vector assigned
              - …
            - SliceCondition — Select points that fall into one of `total` disjoint deterministic slices of the id space, for parallel scans and reproducible sampling.
              - …
            - NestedCondition
              - …
            - Filter — recursive
        - unknown
      - `min_should` union — At least minimum amount of given conditions should match
        - MinShould
          - `conditions` Condition[], required
            - union
              - …
          - `min_count` integer, required
        - unknown
      - `must` union — All conditions must match
        - union
          - FieldCondition — All possible payload filtering conditions
            - `key` string, required — Payload key
            - `match` union — Check if point has field with a given value
              - …
            - `range` union — Check if points value lies in a given range
              - …
            - `geo_bounding_box` union — Check if points geolocation lies in a given area
              - …
            - `geo_radius` union — Check if geo point is within a given radius
              - …
            - `geo_polygon` union — Check if geo point is within a given polygon
              - …
            - `values_count` union — Check number of values of the field
              - …
            - `is_empty` boolean, nullable — Check that the field is empty, alternative syntax for `is_empty: "field_name"`
            - `is_null` boolean, nullable — Check that the field is null, alternative syntax for `is_null: "field_name"`
          - IsEmptyCondition — Select points with empty payload for a specified field
            - `is_empty` PayloadField, required — Payload field
              - …
          - IsNullCondition — Select points with null payload for a specified field
            - `is_null` PayloadField, required — Payload field
              - …
          - HasIdCondition — ID-based filtering condition
            - `has_id` ExtendedPointId[], required
              - …
          - HasVectorCondition — Filter points which have specific vector assigned
            - `has_vector` string, required
          - SliceCondition — Select points that fall into one of `total` disjoint deterministic slices of the id space, for parallel scans and reproducible sampling.
            - `slice` Slice, required — One of `total` disjoint deterministic slices of the id space. A point belongs to the slice iff `hash(id) % total == index`, where `hash` is SipHash-2-4 with a zero key over the canonical id bytes: 8 little-endian bytes for numeric ids, the 16 RFC 4122 bytes for UUIDs. For a fixed `total`, slices `0..total` are disjoint and together cover all points; membership is uniform regardless of the id scheme and stable across queries, segments, platforms and Qdrant versions. Slices with different `total` values are correlated (same hash, no salt): e.g. slice `0` of `total: 4` is a strict subset of slice `0` of `total: 2`. This keeps a smaller sample contained in a larger one.
              - …
          - NestedCondition
            - `nested` Nested, required — Select points with payload for a specified nested field
              - …
          - Filter — recursive
        - Condition[]
          - union
            - FieldCondition — All possible payload filtering conditions
              - …
            - IsEmptyCondition — Select points with empty payload for a specified field
              - …
            - IsNullCondition — Select points with null payload for a specified field
              - …
            - HasIdCondition — ID-based filtering condition
              - …
            - HasVectorCondition — Filter points which have specific vector assigned
              - …
            - SliceCondition — Select points that fall into one of `total` disjoint deterministic slices of the id space, for parallel scans and reproducible sampling.
              - …
            - NestedCondition
              - …
            - Filter — recursive
        - unknown
      - `must_not` union — All conditions must NOT match
        - union
          - FieldCondition — All possible payload filtering conditions
            - `key` string, required — Payload key
            - `match` union — Check if point has field with a given value
              - …
            - `range` union — Check if points value lies in a given range
              - …
            - `geo_bounding_box` union — Check if points geolocation lies in a given area
              - …
            - `geo_radius` union — Check if geo point is within a given radius
              - …
            - `geo_polygon` union — Check if geo point is within a given polygon
              - …
            - `values_count` union — Check number of values of the field
              - …
            - `is_empty` boolean, nullable — Check that the field is empty, alternative syntax for `is_empty: "field_name"`
            - `is_null` boolean, nullable — Check that the field is null, alternative syntax for `is_null: "field_name"`
          - IsEmptyCondition — Select points with empty payload for a specified field
            - `is_empty` PayloadField, required — Payload field
              - …
          - IsNullCondition — Select points with null payload for a specified field
            - `is_null` PayloadField, required — Payload field
              - …
          - HasIdCondition — ID-based filtering condition
            - `has_id` ExtendedPointId[], required
              - …
          - HasVectorCondition — Filter points which have specific vector assigned
            - `has_vector` string, required
          - SliceCondition — Select points that fall into one of `total` disjoint deterministic slices of the id space, for parallel scans and reproducible sampling.
            - `slice` Slice, required — One of `total` disjoint deterministic slices of the id space. A point belongs to the slice iff `hash(id) % total == index`, where `hash` is SipHash-2-4 with a zero key over the canonical id bytes: 8 little-endian bytes for numeric ids, the 16 RFC 4122 bytes for UUIDs. For a fixed `total`, slices `0..total` are disjoint and together cover all points; membership is uniform regardless of the id scheme and stable across queries, segments, platforms and Qdrant versions. Slices with different `total` values are correlated (same hash, no salt): e.g. slice `0` of `total: 4` is a strict subset of slice `0` of `total: 2`. This keeps a smaller sample contained in a larger one.
              - …
          - NestedCondition
            - `nested` Nested, required — Select points with payload for a specified nested field
              - …
          - Filter — recursive
        - Condition[]
          - union
            - FieldCondition — All possible payload filtering conditions
              - …
            - IsEmptyCondition — Select points with empty payload for a specified field
              - …
            - IsNullCondition — Select points with null payload for a specified field
              - …
            - HasIdCondition — ID-based filtering condition
              - …
            - HasVectorCondition — Filter points which have specific vector assigned
              - …
            - SliceCondition — Select points that fall into one of `total` disjoint deterministic slices of the id space, for parallel scans and reproducible sampling.
              - …
            - NestedCondition
              - …
            - Filter — recursive
        - unknown
    - unknown

## Response `200`

successful operation

- object
  - `usage` union
    - Usage — Usage of the hardware resources, spent to process the request
      - `hardware` union
        - HardwareUsage — Usage of the hardware resources, spent to process the request
          - `cpu` integer, required
          - `payload_io_read` integer, required
          - `payload_io_write` integer, required
          - `payload_index_io_read` integer, required
          - `payload_index_io_write` integer, required
          - `vector_io_read` integer, required
          - `vector_io_write` integer, required
        - unknown
      - `inference` union
        - InferenceUsage
          - `models` object, required
        - unknown
    - unknown
  - `time` number, float — Time spent to process this request
  - `status` string
  - `result` UpdateResult
    - `operation_id` integer, nullable — Sequential number of the operation
    - `status` 'acknowledged' | 'completed' | 'wait_timeout', required — `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.

## Other responses

- `default` — error
- `4XX` — error

---

[API](https://skmtc.net/qdrant/apis/qdrant-api.md) · [All operations](https://skmtc.net/qdrant/apis/qdrant-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qdrant/qdrant-api/versions/d08b1f613f29/schema)
