@@ -301,7 +301,7 @@ like other incompatible changes.
301301
302302To avoid these issues, we recommend to use `enum` only if
303303
304- 1. the API has full control of the enumeration values, i.e. the list of values
304+ 1. the API owner has full control of the enumeration values, i.e. the list of values
305305 does not depend on any external tool or interface, and
3063062. the list of values is complete with respect to any thinkable and unthinkable
307307 future feature.
@@ -326,7 +326,8 @@ delivery_method:
326326 description: Extensible enum. The chosen delivery method of the invoice.
327327----
328328
329- See <<240>> about enum value naming conventions.
329+ See <<240>> about enum value naming conventions – these apply here too.
330+
330331
331332**Important**:
332333
@@ -341,12 +342,16 @@ See <<240>> about enum value naming conventions.
341342 the `examples` list, see <<107>>.
342343
343344(Note that the last 3 bullet points do not apply for uses of `examples` _without_ the
344- "Extensible enum." prefix in the description – here any value needs
345- to be expected.)
345+ "Extensible enum." prefix in the description – here any value fitting the rest
346+ of the schema needs to be expected.)
347+
348+ Note that the plural `examples` on schemas was only introduced with OpenAPI 3.1 (with an update of the JSON schema version referenced).
349+ APIs defined with older OpenAPI versions can't use this format, and instead need to use
350+ the {x-extensible-enum} described below↓.
346351
347- === Historic Note
352+ === Historic Note: `x-extensible-enum`
348353
349- Previously (until May 2025), this guideline recommended our own proprietary
354+ Previously (until October 2025), this guideline recommended our own proprietary
350355{x-extensible-enum} JSON schema extension here, with a similar semantic:
351356
352357> This is the *complete* list of values *currently* possible, but consumers must be
@@ -376,6 +381,6 @@ This rule originated in the time before JSON schema and OpenAPI schema
376381had the plural `examples` property (OpenAPI schema had singular `example`,
377382JSON schema had neither).
378383
379- We also thought we could have some validations (e.g. by our event bus Nakadi),
380- but the Nakadi team instead decided to not validate `x-extensible-enum`,
381- and even reject it in event type schema definitions.
384+ We (the API guild) also thought we could have some validations (e.g. by our
385+ event bus Nakadi), but the Nakadi team instead decided to not validate
386+ `x-extensible-enum`, and even reject it in event type schema definitions.
0 commit comments