---
title: "Set global quotas"
method: PUT
path: "/quotas"
tags: ["Quotas"]
---

# Set global quotas

`PUT /quotas`

Replace the cluster-wide resource quota configuration. The new configuration is propagated to every peer through consensus and persisted, so it survives restarts

## Query parameters

- `wait` boolean

## Request body

- QuotaConfig — Cluster-wide limits on node resources. An unset limit means the corresponding resource is not capped. Limits are only enforced while `enabled` is true.
  - `enabled` boolean — Whether the limits below are enforced.
  - `max_resident_memory_percent` integer, nullable — Reject memory-consuming updates once process resident memory reaches this percentage of total system memory (or of the cgroup limit, if one applies).
  - `max_disk_usage_percent` integer, nullable — Reject disk-consuming updates once the filesystem hosting the storage directory is filled to this percentage of its capacity.
  - `release_margin_percent` integer, nullable — How many percentage points below its limit a resource has to fall before this node starts accepting work again. Without a margin, a resource resting on its limit crosses it in both directions on the noise between two readings, putting the node in and out of service each time — and restarting a shard recovery with it. Raise it where usage is volatile; `0` disables the margin and releases as soon as usage is back under the limit. Unset leaves the built-in default in force, so a config written today does not pin a number that a later release may want to revise.

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

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