/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, and can optionally include a path suffix following the mount to restrict more specific API paths.
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 examplenamespace1/adds a quota to a full namespace,namespace1/auth/userpassadds a quota touserpassinnamespace1, andnamespace1/kv-v2/data/foo/baradds a quota to a specific secret on a K/V v2 mount innamespace1. A trailing glob (*) can also be added as part of the path after the mount to match paths that share the same prefix prior to the glob.namespace1/kv-v2/data/foo/*would match bothnamespace1/kv-v2/data/foo/barandnamespace1/kv-v2/data/foo/baz. Updating this field on an existing quota can have "moving" effects. For example, updatingnamespace1tonamespace1/auth/userpassmoves this quota from being a namespace quota to a namespace specific mount quota. Non-global quotas are not inherited by child namespaces. Note, namespaces are supported in Enterprise only.rate(float: 0.0)- The maximum number of requests in a given interval to be allowed by the quota rule. Theratemust be positive.interval(string: "")- The duration to enforce rate limiting for (default"1s").block_interval(string: "")- If set, when a client reaches a rate limit threshold, the client will be prohibited from any further requests until after the 'block_interval' has elapsed.role(string: "")- If set on a quota wherepathis set to an auth mount with a concept of roles (such as/auth/approle/), this will make the quota restrict login requests to that mount that are made with the specified role. The request will fail if the auth mount does not have a concept of roles, orpathis not an auth mount.inheritable(bool: false)- If set totrueon a quota wherepathis set to a namespace, the same quota will be cumulatively applied to all child namespace. Theinheritableparameter cannot be set totrueif thepathdoes not specify a namespace. Only quotas associated with the root namespace quotas are inheritable by default.
Sample payload
{
"path": "",
"rate": 897.3,
"interval": "2m",
"block_interval": "5m"
}Sample request
Delete a rate limit quota
A rate limit quota can be deleted by name.
DELETE
/sys/quotas/rate-limit/:name
Sample request
Get a rate limit quota
A rate limit quota can be retrieved by name.
GET
/sys/quotas/rate-limit/:name
Sample request
Sample response
List rate limit quotas
This endpoint returns a list of all the rate limit quotas.
LIST
/sys/quotas/rate-limit
Sample request
Sample response
Last updated