{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/mongodb/main/json-schema/mongodb-paginated-rate-limit-endpoint-sets-schema.json",
  "title": "PaginatedRateLimitEndpointSets",
  "description": "A list of rate limit endpoint sets.",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/mongodb-rate-limiting-api-openapi.yml#/components/schemas/PaginatedRateLimitEndpointSets",
  "properties": {
    "links": {
      "description": "List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships.",
      "items": {
        "$ref": "#/$defs/Link"
      },
      "readOnly": true,
      "type": "array"
    },
    "results": {
      "description": "List of returned documents that MongoDB Cloud provides when completing this request.",
      "items": {
        "$ref": "#/$defs/RateLimitEndpointSetResponse"
      },
      "readOnly": true,
      "type": "array"
    },
    "totalCount": {
      "description": "Total number of documents available. MongoDB Cloud omits this value if `includeCount` is set to `false`. The total number is an estimate and may not be exact.",
      "format": "int32",
      "minimum": 0,
      "readOnly": true,
      "type": "integer"
    }
  },
  "required": [
    "results"
  ],
  "type": "object",
  "$defs": {
    "Link": {
      "properties": {
        "href": {
          "description": "Uniform Resource Locator (URL) that points another API resource to which this response has some relationship. This URL often begins with `https://cloud.mongodb.com/api/atlas`.",
          "type": "string"
        },
        "rel": {
          "description": "Uniform Resource Locator (URL) that defines the semantic relationship between this resource and another API resource. This URL often begins with `https://cloud.mongodb.com/api/atlas`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RateLimitEndpointSetCapacity": {
      "description": "The rate limit capacity for the endpoint set.",
      "properties": {
        "defaultValue": {
          "description": "The default request capacity of the endpoint set. Returned if there is a capacity override set for the requested entity.",
          "format": "int64",
          "type": "integer"
        },
        "value": {
          "description": "The applied request capacity of the endpoint set.",
          "format": "int64",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "RateLimitEndpointSetEndpoint": {
      "properties": {
        "method": {
          "description": "The HTTP method of the endpoint.",
          "enum": [
            "GET",
            "POST",
            "PUT",
            "DELETE",
            "PATCH"
          ],
          "type": "string"
        },
        "path": {
          "description": "The URL path of the endpoint.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RateLimitEndpointSetRefillDurationSeconds": {
      "description": "The rate limit refill duration for the endpoint set.",
      "properties": {
        "defaultValue": {
          "description": "The default rate limit refill duration, in seconds, of the endpoint set. Returned if there is a rate limit refill duration override set for the requested entity.",
          "format": "int64",
          "type": "integer"
        },
        "value": {
          "description": "The applied rate limit refill duration of the endpoint set.",
          "format": "int64",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "RateLimitEndpointSetRefillRate": {
      "description": "The rate limit refill rate for the endpoint set.",
      "properties": {
        "defaultValue": {
          "description": "The default rate limit refill rate of the endpoint set. Returned if there is a rate limit refill rate override set for the requested entity.",
          "format": "int64",
          "type": "integer"
        },
        "value": {
          "description": "The applied rate limit refill rate of the endpoint set.",
          "format": "int64",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "RateLimitEndpointSetResponse": {
      "properties": {
        "capacity": {
          "$ref": "#/$defs/RateLimitEndpointSetCapacity"
        },
        "endpointSetId": {
          "description": "The ID of the endpoint set.",
          "type": "string"
        },
        "endpointSetName": {
          "description": "The endpoint set name.",
          "type": "string"
        },
        "endpoints": {
          "description": "A list of endpoints associated with the specified endpoint set.",
          "items": {
            "$ref": "#/$defs/RateLimitEndpointSetEndpoint"
          },
          "maxItems": 100,
          "type": "array",
          "uniqueItems": true
        },
        "refillDurationSeconds": {
          "$ref": "#/$defs/RateLimitEndpointSetRefillDurationSeconds"
        },
        "refillRate": {
          "$ref": "#/$defs/RateLimitEndpointSetRefillRate"
        },
        "scope": {
          "description": "The scope of the endpoint set.",
          "enum": [
            "IP",
            "GROUP",
            "ORGANIZATION",
            "USER"
          ],
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}