response-property-enum-value-removed

Response property enum value removed.

directionresponseareaschemakindvaluesactionremove

Not breaking (level: info)

oasdiff records this in the changelog but does not fail CI by default. Clients that worked under the old contract still work, so existing clients are not affected.

What this check detects

A response property’s `enum` lists the values the server may return. Removing one means the server will no longer return that value, which narrows its output.

oasdiff reports this as informational: a client that already handled the remaining values is unaffected by no longer seeing one of them.

Example

Before
After
1schema:1schema:
2 type: object2 type: object
3 properties:3 properties:
4 status:4 status:
5 type: string5 type: string
6 enum: [active, inactive, pending]6 enum: [active, inactive]

The server will no longer return status "pending". A client handling "active" and "inactive" is unaffected.

Change its severity

oasdiff reports response-property-enum-value-removed as informational, so it does not fail CI. To treat it as a warning or an error under your own compatibility policy, or to turn it off, set its level in a severity-levels file:

Put one rule per line; the level can be err, warn, or info, or none to disable the check entirely:

# severity.txt
response-property-enum-value-removed err

Then pass it to oasdiff:

oasdiff changelog base.yaml revision.yaml --severity-levels severity.txt

Related schema rules

Browse all 509 checks →