--- layout: api page_title: /sys/quotas/rate-limit - HTTP API sidebar_title: /sys/quotas/rate-limit description: The `/sys/quotas/rate-limit` endpoint is used to create, edit and delete rate limit quotas. --- # `/sys/quotas/rate-limit` The `/sys/quotas/rate-limit` endpoint is used to create, edit and delete rate limit quotas. ## Create or Update a Rate Limit Quota This endpoint is used to create a rate limit quota with an identifier, `name`. A rate limit quota must include a `rate` value with an optional `path` that can either be a namespace or mount. | Method | Path | | :----- | :----------------------------- | | `POST` | `/sys/quotas/rate-limit/:name` | ### Parameters - `name` `(string: "")` - The name of the quota. - `path` `(string: "")` - Path of the mount or namespace to apply the quota. A blank path configures a global rate limit quota. For example `namespace1/` adds a quota to a full namespace, `namespace1/auth/userpass` adds a quota to `userpass` in `namespace1`. Updating this field on an existing quota can have "moving" effects. For example, updating `auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to a namespace specific mount quota. **Note, namespaces are supported in Enterprise only**. - `rate` `(float: 0.0)` - The maximum number of requests at any given second to be allowed by the quota rule. The `rate` must be positive. ### Sample Payload ```json { "path": "", "rate": 897.3 } ``` ### Sample Request ```shell-session $ curl \ --request POST \ --header "X-Vault-Token: ..." \ --data @payload.json \ http://127.0.0.1:8200/v1/sys/quotas/rate-limit/global-rate-limiter ``` ## Delete a Rate Limit Quota A rate limit quota can be deleted by `name`. | Method | Path | | :------- | :----------------------------- | | `DELETE` | `/sys/quotas/rate-limit/:name` | ### Sample Request ```shell-session $ curl \ --request DELETE \ --header "X-Vault-Token: ..." \ http://127.0.0.1:8200/v1/sys/quotas/rate-limit/global-rate-limiter ``` ## Get a Rate Limit Quota A rate limit quota can be retrieved by `name`. | Method | Path | | :----- | :----------------------------- | | `GET` | `/sys/quotas/rate-limit/:name` | ### Sample Request ```shell-session $ curl \ --request GET \ --header "X-Vault-Token: ..." \ http://127.0.0.1:8200/v1/sys/quotas/rate-limit/global-rate-limiter ``` ### Sample Response ```json { "request_id": "d0870811-455d-3dfd-459f-aee016e6fb68", "lease_id": "", "lease_duration": 0, "renewable": false, "data": { "name": "global-rate-limiter", "path": "", "rate": 897.3, "type": "rate-limit" }, "warnings": null } ```