Skip to main content

schema-max-contains-only-for-arrays

Overview

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

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

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

Suggested Fixes

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

For More Information