---
layout: api
page_title: /sys/quotas/rate-limit - HTTP API
sidebar_title: <code>/sys/quotas/rate-limit</code>
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
}
```
