Represents a policy configuration for the Lunar Gateway. Policies define rules for traffic management including rate limiting, quota enforcement, caching, and other controls applied to API requests passing through the gateway.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/lunar-dev/blob/main/json-schema/policy.json",
"title": "Lunar.dev Policy",
"description": "Represents a policy configuration for the Lunar Gateway. Policies define rules for traffic management including rate limiting, quota enforcement, caching, and other controls applied to API requests passing through the gateway.",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Human-readable name for the policy."
},
"description": {
"type": "string",
"description": "Description of the policy and its purpose."
},
"enabled": {
"type": "boolean",
"description": "Whether the policy is currently active.",
"default": true
},
"endpoint": {
"type": "string",
"description": "The target endpoint pattern this policy applies to.",
"examples": [
"api.example.com/v1/*"
]
},
"method": {
"type": "string",
"description": "HTTP method this policy applies to. If omitted, applies to all methods.",
"examples": [
"GET",
"POST"
]
},
"type": {
"type": "string",
"description": "The type of policy to enforce.",
"examples": [
"rate_limit",
"quota",
"caching",
"retry"
]
},
"config": {
"type": "object",
"description": "Policy-specific configuration parameters."
},
"consumer_tag": {
"type": "string",
"description": "Optional consumer tag to scope the policy to a specific consumer."
}
}
}