Configuration keys are specific properties or settings that control how a feature behaves. These keys are defined in the configuration file of the server, for example runtime.middleware.rate_limiting, and allow administrators or developers to enable, disable, or fine-tune a functionality.

The following table lists the configuration keys under runtime.middleware.rate_limiting:
Key Data type Default Description
enabled Boolean false Enables or disables rate limiting. This is the master switch.
max_requests_per_second Float 10.0 Specifies the steady-state permitted request rate. Fractional values are allowed, for example, 2.5.
burst_capacity Integer (unset) Defines the number of extra tokens that allow short spikes above the max_requests_per_second value. If unset, a minimal burst capacity (one token) applies.
global Boolean false Determines the scope of rate limiting. If true, all clients share a single bucket. If false, each client has its own bucket.
The following example shows how to enable rate limiting and configure its properties:

{
   "runtime": {
    "middleware": {
      "rate_limiting": {
        "enabled": true,
        "max_requests_per_second": 5,
        "burst_capacity": 15,
        "global": false
      }
    }