Skip to main content

schema-max-properties-only-for-objects

Overview

This rule belongs to the openapi-v3-standards-linting ruleset and states that:

The property maxProperties can only be used for Schema Objects when the type is either unspecified (implying any type) or set as object. This property is not applicable for any other types.

PropertyValue
EnabledYes
Maximum SeverityWarning
MessageProperty maxProperties is not applicable for the current Schema Object type.
CodeOPENAPI3STANDARDS_L174
TypeLinting
Rule SystemSemantic
Broad CategorySchemas
Products ImpactedAPI Transformer, Code Generation, Developer Experience Portal
Tagsopenapi3 openapi standards semantic linting max properties properties object schema

Suggested Fixes

  • Ensure that the value of type in the Schema Object is not set to a value other than object.
  • Type names are compared in a case-sensitive manner.
  • If you use the maxProperties keyword, ensure that the data instance you intend to validate can be an object.
  • If the type of the instance can vary i.e. it can be an object or some other type, consider removing the type keyword to allow any types. If you use the oneOf/anyOf constructs instead, consider moving the maxProperties to the oneOf/anyOf schema that has the type set as object.

For More Information