RateLimitConfig
Configuration for an API rate limit policy defining request quotas, time windows, and enforcement behavior.
API GovernanceAPI ManagementAPI TestingPerformance TestingRate LimitingTesting
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/test-rate-limit-check/refs/heads/main/json-schema/test-rate-limit-check-rate-limit-config-schema.json",
"title": "RateLimitConfig",
"description": "Configuration for an API rate limit policy defining request quotas, time windows, and enforcement behavior.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the rate limit configuration."
},
"name": {
"type": "string",
"description": "Human-readable name for this rate limit policy."
},
"api_name": {
"type": "string",
"description": "Name of the API this rate limit applies to."
},
"scope": {
"type": "string",
"enum": ["global", "per-consumer", "per-ip", "per-api-key", "per-endpoint"],
"description": "Scope at which the rate limit is applied."
},
"limit": {
"type": "integer",
"minimum": 1,
"description": "Maximum number of requests allowed in the defined time window."
},
"window_seconds": {
"type": "integer",
"minimum": 1,
"description": "Duration of the rate limit time window in seconds."
},
"window_type": {
"type": "string",
"enum": ["fixed", "sliding", "token-bucket", "leaky-bucket"],
"description": "Algorithm used to enforce the rate limit window."
},
"burst_limit": {
"type": "integer",
"minimum": 0,
"description": "Maximum burst allowance above the baseline rate limit."
},
"enabled": {
"type": "boolean",
"description": "Whether this rate limit policy is currently active."
},
"response_status": {
"type": "integer",
"minimum": 400,
"maximum": 599,
"default": 429,
"description": "HTTP status code returned when the rate limit is exceeded."
},
"headers": {
"$ref": "#/$defs/RateLimitHeaders",
"description": "Rate limit headers returned in API responses."
}
},
"required": ["id", "name", "limit", "window_seconds"],
"$defs": {
"RateLimitHeaders": {
"type": "object",
"properties": {
"limit_header": {
"type": "string",
"default": "X-RateLimit-Limit",
"description": "Header name for the rate limit maximum."
},
"remaining_header": {
"type": "string",
"default": "X-RateLimit-Remaining",
"description": "Header name for remaining requests in the window."
},
"reset_header": {
"type": "string",
"default": "X-RateLimit-Reset",
"description": "Header name for the window reset timestamp."
},
"retry_after_header": {
"type": "string",
"default": "Retry-After",
"description": "Header name indicating when the client may retry."
}
}
}
}
}
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/test-rate-limit-check-rate-limit-config"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.