schema-format-deprecated

schema-format-deprecated

This rule reports the formats which the OpenAPI format registry marks as deprecated, and names what replaces them.

Rule Details

From OpenAPI 3.1, schemas are JSON Schema 2020-12, which describes encoded content with contentEncoding and contentMediaType. The registry deprecates the formats that said the same thing in OpenAPI 3.0:

Format Use instead
byte contentEncoding: base64
base64url contentEncoding: base64url
binary contentMediaType, or the media type of the body or part without a schema

OpenAPI 3.0 has neither keyword, so in 3.0 documents the rule reports these formats as hints: they show where the document will need a change when it moves to OpenAPI 3.1, without counting as warnings or failing the run. See Formats for every format and what API Genie does with it.

Configuration

None.

Examples

Good.

openapi: 3.1.0
components:
  schemas:
    Avatar:
      type: string
      contentEncoding: base64
      contentMediaType: image/png

Bad.

openapi: 3.1.0
components:
  schemas:
    Avatar:
      type: string
      format: byte

When Not to Use It

When the document must stay readable by tools that only understand the OpenAPI 3.0 formats.

Compatibility

OpenAPI 3.1 and 3.2 documents get warnings; OpenAPI 3.0 documents get hints.