Linting Rules - OpenAPI V3 - Schema Properties Allowed Number Format

Number of APIs: 1

This is a Spectral governance rule to enforce that OpenAPI properties that use number type have a format of decimal32, decimal64, float, double, or decimal128. 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-allowed-number-format": {
    "description": "Ensure only allowed number formats.",
    "message": "You must have format property of decimal32, decimal64, float, double, decimal128",
    "formats": [
      "oas3"
    ],
    "severity": "hint",
    "recommended": true,
    "given": "$..properties.[?(@.type==\"number\")]",
    "then": {
      "field": "format",
      "function": "enumeration",
      "functionOptions": {
        "values": [
          "decimal32",
          "decimal64",
          "float",
          "double",
          "decimal128"
        ]
      }
    }
  }
}

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 Allowed Number Format POST {{baseUrl}}/linter?rulesUrl=https://rules.linting.org/rules/openapi-v3-schema-properties-allowed-number-format/