---
title: "Batch update points"
method: POST
path: "/collections/{collection_name}/points/batch"
tags: ["Points"]
---

# Batch update points

`POST /collections/{collection_name}/points/batch`

Apply a series of update operations for points, vectors and payloads

## 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

- UpdateOperations
  - `operations` UpdateOperation[], required
    - union
      - UpsertOperation
        - `upsert` union, required
          - PointsBatch
            - `batch` Batch, required
              - …
            - `shard_key` union
              - …
            - `update_filter` union — 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 filter.
              - …
            - `update_mode` union — Mode of the upsert operation: insert_only, upsert (default), update_only
              - …
          - PointsList
            - `points` PointStruct[], required
              - …
            - `shard_key` union
              - …
            - `update_filter` union — 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 filter.
              - …
            - `update_mode` union — Mode of the upsert operation: insert_only, upsert (default), update_only
              - …
      - DeleteOperation
        - `delete` union, required
          - PointIdsList
            - `points` ExtendedPointId[], required
              - …
            - `shard_key` union
              - …
          - FilterSelector
            - `filter` Filter, required
              - …
            - `shard_key` union
              - …
      - SetPayloadOperation
        - `set_payload` SetPayload, required — This data structure is used in API interface and applied across multiple shards
          - `payload` Payload, required
          - `points` ExtendedPointId[], nullable — Assigns payload to each point in this list
            - union — Type, used for specifying point ID in user interface
              - …
          - `filter` union — Assigns payload to each point that satisfy this filter condition
            - Filter
              - …
            - unknown
          - `shard_key` union
            - union
              - …
            - unknown
          - `key` string, nullable — Assigns payload to each point that satisfy this path of property
      - OverwritePayloadOperation
        - `overwrite_payload` SetPayload, required — This data structure is used in API interface and applied across multiple shards
          - `payload` Payload, required
          - `points` ExtendedPointId[], nullable — Assigns payload to each point in this list
            - union — Type, used for specifying point ID in user interface
              - …
          - `filter` union — Assigns payload to each point that satisfy this filter condition
            - Filter
              - …
            - unknown
          - `shard_key` union
            - union
              - …
            - unknown
          - `key` string, nullable — Assigns payload to each point that satisfy this path of property
      - DeletePayloadOperation
        - `delete_payload` DeletePayload, required — This data structure is used in API interface and applied across multiple shards
          - `keys` string[], required — List of payload keys to remove from payload
          - `points` ExtendedPointId[], nullable — Deletes values from each point in this list
            - union — Type, used for specifying point ID in user interface
              - …
          - `filter` union — Deletes values from points that satisfy this filter condition
            - Filter
              - …
            - unknown
          - `shard_key` union
            - union
              - …
            - unknown
      - ClearPayloadOperation
        - `clear_payload` union, required
          - PointIdsList
            - `points` ExtendedPointId[], required
              - …
            - `shard_key` union
              - …
          - FilterSelector
            - `filter` Filter, required
              - …
            - `shard_key` union
              - …
      - UpdateVectorsOperation
        - `update_vectors` UpdateVectors, required
          - `points` PointVectors[], required — Points with named vectors
            - `id` union, required — Type, used for specifying point ID in user interface
              - …
            - `vector` union, required — Full vector data per point separator with single and multiple vector modes
              - …
          - `shard_key` union
            - union
              - …
            - unknown
          - `update_filter` union
            - Filter
              - …
            - unknown
      - DeleteVectorsOperation
        - `delete_vectors` DeleteVectors, required
          - `points` ExtendedPointId[], nullable — Deletes values from each point in this list
            - union — Type, used for specifying point ID in user interface
              - …
          - `filter` union — Deletes values from points that satisfy this filter condition
            - Filter
              - …
            - unknown
          - `vector` string[], required — Vector names
          - `shard_key` union
            - union
              - …
            - 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)
