Breaking Change Rules
oasdiff checks 300+ rules across 12 categories to detect breaking changes in OpenAPI 3.x specifications.
A "breaking change" is any modification that could cause existing API clients to fail without code changes. The full rule list is maintained in the oasdiff GitHub repo.
Endpoints
24 rules| Type | Rule ID | Description |
|---|
| endpoint-removed | An endpoint was removed |
| endpoint-deprecated | An endpoint was deprecated |
| api-path-removed | An API path was removed |
| api-operation-id-removed | An operation ID was removed |
| + 20 more rules in this category |
Request Parameters
62 rules| Type | Rule ID | Description |
|---|
| request-path-param-removed | A required path parameter was removed |
| request-query-param-added | A required query parameter was added |
| request-query-param-removed | A query parameter was removed |
| request-header-param-removed | A required header parameter was removed |
| + 58 more rules in this category |
Request Body
48 rules| Type | Rule ID | Description |
|---|
| request-body-became-required | Request body became required |
| request-property-became-required | A request property became required |
| request-property-removed | A request body property was removed |
| request-property-type-changed | A request property type changed |
| + 44 more rules in this category |
Response Body
58 rules| Type | Rule ID | Description |
|---|
| response-property-removed | A response property was removed |
| response-property-type-changed | A response property type changed |
| response-optional-property-added | A new optional property was added to a response |
| response-required-property-added | A required property was added to a response |
| + 54 more rules in this category |
Status Codes
18 rules| Type | Rule ID | Description |
|---|
| response-success-status-removed | A success (2xx) status code was removed |
| response-non-success-status-removed | A non-success status code was removed |
| response-status-code-added | A new status code was added |
| + 15 more rules in this category |
Schemas & Types
84 rules| Type | Rule ID | Description |
|---|
| request-property-enum-value-removed | An enum value was removed from a request property |
| response-property-enum-value-added | A new enum value was added to a response |
| request-property-max-length-set | A maximum length constraint was added to a request property |
| response-property-min-length-increased | Minimum length on a response property was increased |
| + 80 more rules in this category |
Security
32 rules| Type | Rule ID | Description |
|---|
| security-requirement-added | A security requirement was added to an endpoint |
| security-requirement-removed | A security requirement was removed |
| security-scope-added | A required OAuth scope was added |
| security-scope-removed | An OAuth scope was removed |
| + 28 more rules in this category |
Content Types
22 rules| Type | Rule ID | Description |
|---|
| request-body-content-type-removed | A supported request content type was removed |
| response-media-type-removed | A supported response media type was removed |
| + 20 more rules in this category |
Callbacks & Links
14 rules| Type | Rule ID | Description |
|---|
| callback-removed | A callback was removed |
| link-removed | A link was removed |
| + 12 more rules in this category |
Servers & Paths
16 rules| Type | Rule ID | Description |
|---|
| api-server-removed | A server URL was removed |
| api-server-added | A server URL was added |
| + 14 more rules in this category |
Breaking changeNon-breaking / informational
This page shows a representative sample. The complete list of all 300+ rules is available in the oasdiff breaking changes docs.