
**TL;DR:** Your API is a contract. Once clients build against it, changing field names, status codes, or pagination behavior is a migration — and migrations have costs you're not charging to your engineering budget. API-Design-Reviewer catches the design debt before it is baked in and before it has external dependents.
The most expensive API mistake isn't the one that breaks your current clients. It's the one that **looks fine now** but will require a versioned migration in six months because you used `GET /users/{id}/orders` instead of `GET /orders?user_id={id}`. One is a nested resource that makes sense. The other is a leaky abstraction that will haunt every client developer who needs orders across multiple users. API-Design-Reviewer looks for exactly those patterns.
api-design-reviewer register \
--spec ./api/openapi.yaml \
--version 2.1.0 \
--endpoint https://api.yourcompany.com
Use api-design-reviewer to run a full design review of our order management API spec at ./api/openapi.yaml. Focus on: (1) REST modeling correctness, (2) backward compatibility risks in the new v2 endpoints, (3) error contract consistency, (4) pagination design. Report blockers and warnings separately.
api-design-reviewer diff \
--spec ./api/openapi.yaml \
--baseline ./api/openapi.v2.0.0.yaml \
--output ./reviews/breaking-changes-v2.1.md
api-design-reviewer changelog \
--spec ./api/openapi.yaml \
--since 2.0.0 \
--format markdown \
--output ./CHANGELOG.md
| **Pros** | **Cons** |
|---|---|
| Catches backward compatibility breaks before deployment | Requires well-maintained OpenAPI/GraphQL spec |
| Error contract review prevents "error: something went wrong" | Breaking change detection can be noisy |
|---|---|
| Changelog generation reduces API documentation debt | GraphQL resolver analysis needs execution context |
| REST correctness audit catches method misuse | Design recommendations are subjective |
|---|---|
| Automated changelog keeps external developers informed | Does not replace API design expertise |