---
title: "Update collection cluster setup"
method: POST
path: "/collections/{collection_name}/cluster"
tags: ["Distributed"]
---

# Update collection cluster setup

`POST /collections/{collection_name}/cluster`

## Path parameters

- `collection_name` string, required

## Query parameters

- `timeout` integer

## Request body

- union
  - MoveShardOperation
    - `move_shard` MoveShard, required
      - `shard_id` integer, required
      - `to_peer_id` integer, required
      - `from_peer_id` integer, required
      - `method` union — Method for transferring the shard from one node to another
        - union — 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.
        - unknown
  - ReplicateShardOperation
    - `replicate_shard` ReplicateShard, required
      - `shard_id` integer, required
      - `to_peer_id` integer, required
      - `from_peer_id` integer, required
      - `method` union — Method for transferring the shard from one node to another
        - union — 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.
        - unknown
  - AbortTransferOperation
    - `abort_transfer` AbortShardTransfer, required
      - `shard_id` integer, required
      - `to_peer_id` integer, required
      - `from_peer_id` integer, required
  - DropReplicaOperation
    - `drop_replica` Replica, required
      - `shard_id` integer, required
      - `peer_id` integer, required
  - CreateShardingKeyOperation
    - `create_sharding_key` CreateShardingKey, required
      - `shard_key` union, required
        - string
        - integer
      - `shards_number` integer, nullable — How many shards to create for this key If not specified, will use the default value from config
      - `replication_factor` integer, nullable — How many replicas to create for each shard If not specified, will use the default value from config
      - `placement` integer[], nullable — 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
  - DropShardingKeyOperation
    - `drop_sharding_key` DropShardingKey, required
      - `shard_key` union, required
        - string
        - integer
  - RestartTransferOperation
    - `restart_transfer` RestartTransfer, required
      - `shard_id` integer, required
      - `from_peer_id` integer, required
      - `to_peer_id` integer, required
      - `method` union, required — 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.
  - StartReshardingOperation
    - `start_resharding` StartResharding, required
      - `direction` union, required — Resharding direction, scale up or down in number of shards
        - 'up' — Scale up, add a new shard
        - 'down' — Scale down, remove a shard
      - `peer_id` integer, nullable
      - `shard_key` union
        - union
          - string
          - integer
        - unknown
  - AbortReshardingOperation
    - `abort_resharding` AbortResharding, required

## Response `200`

successful operation

- object
  - `usage` 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
  - `time` number, float — Time spent to process this request
  - `status` string
  - `result` boolean

## Other responses

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

## Changes

- **2025-04-15** `5d330acca4cd` — 2 breaking, 6 info
  - removed the required property `usage/anyOf[#/components/schemas/HardwareUsage]/io_read` from the response with the `200` status
  - removed the required property `usage/anyOf[#/components/schemas/HardwareUsage]/io_write` from the response with the `200` status
  - added the required property `usage/anyOf[#/components/schemas/HardwareUsage]/payload_index_io_read` to the response with the `200` status
  - added the required property `usage/anyOf[#/components/schemas/HardwareUsage]/payload_index_io_write` to the response with the `200` status
  - …4 more
- **2025-01-17** `a7900f38a79d` — 8 info
  - api tag `Distributed` added
  - api tag `cluster` removed
  - api tag `collections` removed
  - added `#/components/schemas/StartReshardingOperation, #/components/schemas/AbortReshardingOperation` to the request body `anyOf` list
  - …4 more
- …earlier changes not shown

[Full history](https://skmtc.dev/qdrant/apis/qdrant-api/changes/collections/:collection_name/cluster/post.md)

---

[API](https://skmtc.dev/qdrant/apis/qdrant-api.md) · [All operations](https://skmtc.dev/qdrant/apis/qdrant-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/qdrant/qdrant-api/revisions/5d330acca4cd/schema)
