Lunar.dev · Schema

Lunar.dev Policy

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.

AI GatewayAutomationConsumption GatewayControlDeploymentIntegrationsMCP GatewayPerformancePlatformVersion ControlVisibilityWorkflows

Properties

Name Type Description
name string Human-readable name for the policy.
description string Description of the policy and its purpose.
enabled boolean Whether the policy is currently active.
endpoint string The target endpoint pattern this policy applies to.
method string HTTP method this policy applies to. If omitted, applies to all methods.
type string The type of policy to enforce.
config object Policy-specific configuration parameters.
consumer_tag string Optional consumer tag to scope the policy to a specific consumer.
View JSON Schema on GitHub

JSON Schema

policy.json Raw ↑
{
  "$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."
    }
  }
}