---
title: "Get optimization progress"
method: GET
path: "/collections/{collection_name}/optimizations"
tags: ["Collections"]
---

# Get optimization progress

`GET /collections/{collection_name}/optimizations`

Get progress of ongoing and completed optimizations for a collection

## Path parameters

- `collection_name` string, required

## Query parameters

- `with` string
- `completed_limit` integer

## 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` OptimizationsResponse — Optimizations progress for the collection
    - `summary` OptimizationsSummary, required
      - `queued_optimizations` integer, required — Number of pending optimizations in the queue. Each optimization will take one or more unoptimized segments and produce one optimized segment.
      - `queued_segments` integer, required — Number of unoptimized segments in the queue.
      - `queued_points` integer, required — Number of points in unoptimized segments in the queue.
      - `idle_segments` integer, required — Number of segments that don't require optimization.
    - `running` Optimization[], required — Currently running optimizations.
      - `uuid` string, uuid, required — Unique identifier of the optimization process. After the optimization is complete, a new segment will be created with this UUID.
      - `optimizer` string, required — Name of the optimizer that performed this optimization.
      - `status` union, required — Represents the current state of the optimizer being tracked
        - 'optimizing' | 'done'
        - object
          - `cancelled` string, required
        - object
          - `error` string, required
      - `segments` OptimizationSegmentInfo[], required — Segments being optimized. After the optimization is complete, these segments will be replaced by the new optimized segment.
        - `uuid` string, uuid, required — Unique identifier of the segment.
        - `points_count` integer, required — Number of non-deleted points in the segment.
      - `progress` ProgressTree, required
        - `name` string, required — Name of the operation.
        - `started_at` string, date-time, nullable — When the operation started.
        - `finished_at` string, date-time, nullable — When the operation finished.
        - `duration_sec` number, double, nullable — For finished operations, how long they took, in seconds.
        - `done` integer, nullable — Number of completed units of work, if applicable.
        - `total` integer, nullable — Total number of units of work, if applicable and known.
        - `children` ProgressTree[] — Child operations.
    - `queued` PendingOptimization[], nullable — An estimated queue of pending optimizations. Requires `?with=queued`.
      - `optimizer` string, required — Name of the optimizer that scheduled this optimization.
      - `segments` OptimizationSegmentInfo[], required — Segments that will be optimized.
        - `uuid` string, uuid, required — Unique identifier of the segment.
        - `points_count` integer, required — Number of non-deleted points in the segment.
    - `completed` Optimization[], nullable — Completed optimizations. Requires `?with=completed`. Limited by `?completed_limit=N`.
      - `uuid` string, uuid, required — Unique identifier of the optimization process. After the optimization is complete, a new segment will be created with this UUID.
      - `optimizer` string, required — Name of the optimizer that performed this optimization.
      - `status` union, required — Represents the current state of the optimizer being tracked
        - 'optimizing' | 'done'
        - object
          - `cancelled` string, required
        - object
          - `error` string, required
      - `segments` OptimizationSegmentInfo[], required — Segments being optimized. After the optimization is complete, these segments will be replaced by the new optimized segment.
        - `uuid` string, uuid, required — Unique identifier of the segment.
        - `points_count` integer, required — Number of non-deleted points in the segment.
      - `progress` ProgressTree, required
        - `name` string, required — Name of the operation.
        - `started_at` string, date-time, nullable — When the operation started.
        - `finished_at` string, date-time, nullable — When the operation finished.
        - `duration_sec` number, double, nullable — For finished operations, how long they took, in seconds.
        - `done` integer, nullable — Number of completed units of work, if applicable.
        - `total` integer, nullable — Total number of units of work, if applicable and known.
        - `children` ProgressTree[] — Child operations.
    - `idle_segments` OptimizationSegmentInfo[], nullable — Segments that don't require optimization. Requires `?with=idle_segments`.
      - `uuid` string, uuid, required — Unique identifier of the segment.
      - `points_count` integer, required — Number of non-deleted points in the segment.

## 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/revisions/d08b1f613f29/schema)
