OpenAPI 3.1
OpenAPI 3.1 uses the latest JSON Schema, and the recommended way to annotate individual enum values in JSON Schema is to use oneOf+const instead of enum. This way you can specify both custom names (title) and descriptions for enum values.
Severity:
type: integer
oneOf:
- title: HIGH
const: 2
description: An urgent problem
- title: MEDIUM
const: 1
- title: LOW
const: 0
description: Can wait forever
Note: This schema still uses 1, 2, 3 (i.e. the const values) as the enum values in the actual request/response payload, but code generators can use the title to assign custom names to those values in client/server code, for example:
# Python
class Severity(Enum):
HIGH = 2
MEDIUM = 1
LOW = 0
OpenAPI 3.0 and 2.0
These versions do not have a way to define custom names for enum values, but some tools provide x- extensions for this purpose. For example:
Check with your tooling vendors to see if they have a similar extension.