Linting Rules - OpenAPI V3 - Schema Properties Define Number Boundaries

Number of APIs: 1

This is a Spectral governance rule to enforce that the numeric properties within an OpenAPI all have boundaries defined. Here is a JSON version of the rule that can be applied using this API-driven collection API, or at CLI or CI/CD pipeline.

{
  "openapi-v3-schema-properties-define-number-boundaries": {
    "description": "Ensures that all number properties have boundaries defined.",
    "message": "Numeric types need to have a minimum and maximum property defined.",
    "formats": [
      "oas3"
    ],
    "severity": "warn",
    "recommended": true,
    "given": [
      "$..properties.[?(@.type==\"number\")]",
      "$..properties.[?(@.type==\"integer\")]"
    ],
    "then": [
      {
        "field": "maximum",
        "function": "defined"
      },
      {
        "field": "minimum",
        "function": "defined"
      }
    ]
  }
}

This request can be run as part of this collection, or dragged and dropped to another collection of governance requests organized by folder, demonstrating how API governance linting works, but also providing a rule that can be used as part of your wider API governance strategy.

  1. OpenAPI V3 - Schema Properties Define Number Boundaries POST {{baseUrl}}/linter?rulesUrl=https://rules.linting.org/rules/openapi-v3-schema-properties-define-number-boundaries/