Home
Test Rate Limit Check
Test Rate Limit Check Rate Limit Config Structure
Test Rate Limit Check Rate Limit Config Structure
Configuration for an API rate limit policy defining request quotas, time windows, and enforcement behavior.
Type: object
Properties: 11
Required: 4
API Governance API Management API Testing Performance Testing Rate Limiting Testing
RateLimitConfig is a JSON Structure definition published by Test Rate Limit Check, describing 11 properties, of which 4 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
id
name
api_name
scope
limit
window_seconds
window_type
burst_limit
enabled
response_status
headers
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/test-rate-limit-check/refs/heads/main/json-structure/test-rate-limit-check-rate-limit-config-structure.json",
"name": "RateLimitConfig",
"description": "Configuration for an API rate limit policy defining request quotas, time windows, and enforcement behavior.",
"properties": {
"id": {
"description": "Unique identifier for the rate limit configuration.",
"type": "string"
},
"name": {
"description": "Human-readable name for this rate limit policy.",
"type": "string"
},
"api_name": {
"description": "Name of the API this rate limit applies to.",
"type": "string"
},
"scope": {
"enum": [
"global",
"per-consumer",
"per-ip",
"per-api-key",
"per-endpoint"
],
"description": "Scope at which the rate limit is applied.",
"type": "string"
},
"limit": {
"minimum": 1,
"description": "Maximum number of requests allowed in the defined time window.",
"type": "int32"
},
"window_seconds": {
"minimum": 1,
"description": "Duration of the rate limit time window in seconds.",
"type": "int32"
},
"window_type": {
"enum": [
"fixed",
"sliding",
"token-bucket",
"leaky-bucket"
],
"description": "Algorithm used to enforce the rate limit window.",
"type": "string"
},
"burst_limit": {
"minimum": 0,
"description": "Maximum burst allowance above the baseline rate limit.",
"type": "int32"
},
"enabled": {
"description": "Whether this rate limit policy is currently active.",
"type": "boolean"
},
"response_status": {
"minimum": 400,
"maximum": 599,
"default": 429,
"description": "HTTP status code returned when the rate limit is exceeded.",
"type": "int32"
},
"headers": {
"$ref": "#/definitions/RateLimitHeaders",
"description": "Rate limit headers returned in API responses."
}
},
"required": [
"id",
"name",
"limit",
"window_seconds"
],
"definitions": {
"RateLimitHeaders": {
"properties": {
"limit_header": {
"default": "X-RateLimit-Limit",
"description": "Header name for the rate limit maximum.",
"type": "string"
},
"remaining_header": {
"default": "X-RateLimit-Remaining",
"description": "Header name for remaining requests in the window.",
"type": "string"
},
"reset_header": {
"default": "X-RateLimit-Reset",
"description": "Header name for the window reset timestamp.",
"type": "string"
},
"retry_after_header": {
"default": "Retry-After",
"description": "Header name indicating when the client may retry.",
"type": "string"
}
},
"type": "object",
"name": "RateLimitHeaders"
}
},
"type": "object"
}