Greenhouse · API Governance Rules
Greenhouse API Rules
Spectral linting rules defining API design standards and conventions for Greenhouse.
17 Rules
error 5
warn 11
info 1
Rule Categories
info
no
openapi
operation
parameter
path
paths
query
response
security
servers
Rules
error
info-title-required
Info object must have a title.
$.info
warn
info-description-required
Info object must have a description.
$.info
error
info-version-required
Info object must have a version.
$.info
error
openapi-version-3
OpenAPI version must be 3.x.
$.openapi
error
servers-defined
Servers must be defined.
$
warn
servers-https
Server URLs must use HTTPS.
$.servers[*].url
warn
paths-kebab-case
Path segments should be kebab-case or templated.
$.paths.*~
warn
paths-no-trailing-slash
Paths should not end with a trailing slash.
$.paths.*~
warn
operation-summary-required
Operations must have a summary.
$.paths[*][get,post,put,patch,delete]
warn
operation-tags-required
Operations should have at least one tag.
$.paths[*][get,post,put,patch,delete]
info
parameter-snake-case
Parameter names should be snake_case.
$.paths[*][*].parameters[?(@.in == 'query')].name
error
response-success-required
Operations must define at least one 2xx response.
$.paths[*][get,post,put,patch,delete].responses
warn
security-defined
Security schemes must be defined.
$.components.securitySchemes
warn
servers-expected-domain
Server URLs should be on the greenhouse.io domain.
$.servers[*].url
warn
path-params-casing
Path parameters should be snake_case (the dominant convention in this API).
$.paths[*].parameters[?(@.in=='path')].name
warn
query-params-casing
Query parameters should be snake_case (the dominant convention in this API).
$.paths[*][get,post,put,patch,delete].parameters[?(@.in=='query')]
warn
no-empty-descriptions
Descriptions must not be empty strings.
$..description