spectral:oas error on by default

oas2-valid-schema-example

Examples must be valid against their defined schema.

Applies to
items
Selects
$..definitions..[?(@property !== 'properties' && @ && (@.example !== void 0 || @['x-example'] !== void 0 || @.default !== void 0) && (@.enum || @.type || @.format || @.$ref || @.properties || @.items))]
$..parameters..[?(@property !== 'properties' && @ && (@.example !== void 0 || @['x-example'] !== void 0 || @.default !== void 0) && (@.enum || @.type || @.format || @.$ref || @.properties || @.items))]
$..responses..[?(@property !== 'properties' && @ && (@.example !== void 0 || @['x-example'] !== void 0 || @.default !== void 0) && (@.enum || @.type || @.format || @.$ref || @.properties || @.items))]
Function
oasExample
Specs
OpenAPI 2.0
Message
{{error}}

Use it

This rule ships with OpenLint in spectral:oas. Extending the ruleset turns it on:

extends: spectral:oas
rules:
  oas2-valid-schema-example: error   # or off, or another severity

Definition

As defined in @openlint/openlint-rulesets. Functions show by name.

oas2-valid-schema-example:
  description: Examples must be valid against their defined schema.
  message: '{{error}}'
  severity: 0
  recommended: true
  formats:
    - OpenAPI 2.0 (Swagger)
  given:
    - >-
      $..definitions..[?(@property !== 'properties' && @ && (@.example !== void
      0 || @['x-example'] !== void 0 || @.default !== void 0) && (@.enum ||
      @.type || @.format || @.$ref || @.properties || @.items))]
    - >-
      $..parameters..[?(@property !== 'properties' && @ && (@.example !== void 0
      || @['x-example'] !== void 0 || @.default !== void 0) && (@.enum || @.type
      || @.format || @.$ref || @.properties || @.items))]
    - >-
      $..responses..[?(@property !== 'properties' && @ && (@.example !== void 0
      || @['x-example'] !== void 0 || @.default !== void 0) && (@.enum || @.type
      || @.format || @.$ref || @.properties || @.items))]
  then:
    function: oasExample
    functionOptions:
      schemaField: $
      oasVersion: 2
      type: schema

About this rule

Examples must be valid against their defined schema.

Sources