Rules the linter runs
The rule set is fixed. These are the checks that produce an issue, with the severity attached to each.
| Rule | Severity | Suggested fix |
|---|---|---|
| Verb-like segment in a path (get, create, update, delete, list, save...) | High | Use a noun and the HTTP method: DELETE /users/{id} |
| GET operation with a request body | High | Use POST, or move filters to query parameters |
| Duplicate method and path | High | Remove the repeated operation |
| camelCase in a path | Medium | Rename to kebab-case: /user-profile |
| Action verb in the path that conflicts with the method (create, update, delete, remove) | Medium | POST /users instead of POST /users/create |
| Path deeper than 4 segments | Medium | Flatten the resource chain |
| No 2xx response documented | Medium | Document 200 or 201 with a schema |
| No 4xx, 5xx or default response documented | Medium | Add 400, 404 and 500 or default |
| No URL path version segment anywhere | Medium | Add /v1 or document a version header |
| Singular and plural of the same word across paths | Medium | Standardize on plural nouns |
| Underscore in a path segment | Low | /user_profile to /user-profile |
| Operation without a summary or description | Low | Add a summary to each operation |
The API quality checklist explains why each check matters.