Lint rules to validate Open API 2.0 and 3.0.x Specification using Spectral. This extends spectral:oas package and adds custom rules on top of it.
extends:
- https://unpkg.com/@freshworks/oas
rules:
...
{
"extends": [
"https://unpkg.com/@freshworks/oas"
],
"rules": {
...
}
}
Some rules are used from spectral:oas as it is and overridden the severity to ERROR. Rules that are not extended from spectral:oas will have prefix fw-
.
Severity is set to ERROR for all rules defined below. Individual
projects can override severity level to suit their needs.
OpenAPI object info description
must be present and non-empty string.
Info object should contain contact
object.
Operation should have non-empty tags
array.
Operation tags should be defined in global tags.
Operation should have an operationId
.
Info object should contain license
object
Each operation should have summary
Schema properties should have an example value defined
Schema properties should be in underscore case
Tags should not have legacy in its name
Path should be in kebab case.
Private APIs follows the convention of
/api/_/...
. One underscore (_
) followed by/api/
is allowed for private APIs as an exception.
Path parameter should be in underscore case
Query parameter should be in underscore case
Form data parameter should be in underscore case