QA
Senior LevelREST APIs & Web Services

How do you enforce Semantic Versioning (SemVer) rules on public REST APIs?

❓ Interview Prompt: Explain SemVer (MAJOR.MINOR.PATCH) for REST APIs, defining breaking vs non-breaking changes, and automated OpenAPI diff checking in CI/CD.

Enforcing Semantic Versioning (MAJOR.MINOR.PATCH) standards on public Web APIs:

Version Bump Rules:

•
MAJOR Version ('v1' $\rightarrow$ 'v2'): Bumped for Breaking Changes (removing an endpoint, renaming payload fields, changing field data types, adding required request parameters).
•
MINOR Version ('v1.1' $\rightarrow$ 'v1.2'): Bumped for Backwards-Compatible Additions (adding new optional fields, adding new endpoints).
•
PATCH Version ('v1.1.1' $\rightarrow$ 'v1.1.2'): Bumped for backwards-compatible internal bug fixes.
•
CI/CD Tooling: Use 'oasdiff' in pipelines to automatically detect breaking schema changes and block un-versioned releases!

Code Implementation Example

bash
# Run oasdiff in CI pipeline to detect breaking API changes between branches:
oasdiff breaking https://api.example.com/v1/openapi.json new-openapi.json
💡Detecting breaking API changes in CI/CD using oasdiff.
🎯 Interview Key Takeaway

Use oasdiff in CI/CD pipelines to detect breaking OpenAPI changes automatically and enforce Semantic Versioning rules.

#SemVer#API Versioning#oasdiff#Governance#Senior
Back to all REST APIs & Web Services Questions→

More REST APIs & Web Services Interview Questions

Beginner LevelREST APIs & Web Services

What is HTTP Method Idempotency and how do you implement Idempotency Keys for REST APIs?

Beginner LevelREST APIs & Web Services

What are standard HTTP Status Codes (200, 201, 204, 400, 401, 403, 404, 409, 429, 500, 503)?

Beginner LevelREST APIs & Web Services

What are HTTP Verbs (GET, POST, PUT, PATCH, DELETE) and when to use PUT vs PATCH?