EPA — U.S. Environmental Protection Agency · API Governance Rules
EPA — U.S. Environmental Protection Agency API Rules
Spectral linting rules defining API design standards and conventions for EPA — U.S. Environmental Protection Agency.
30 Rules
error 10
warn 17
info 3
Rule Categories
epa
Rules
error
epa-info-title-required
API title must be defined.
$.info
warn
epa-info-title-mentions-epa
Title should reference EPA or the underlying program (AQS, ECHO, CAM, etc.).
$.info.title
warn
epa-info-description-required
API description must be defined and >= 50 chars.
$.info
error
epa-info-version-required
API version must be defined.
$.info
warn
epa-info-contact-required
Contact (name and url or email) should be defined.
$.info
warn
epa-openapi-version-3
Specs should be OpenAPI 3.x.
$
warn
epa-servers-defined
At least one server entry should be defined.
$
error
epa-servers-https
Server URLs must use HTTPS.
$.servers[*].url
warn
epa-paths-no-trailing-slash
Paths should not end with a trailing slash.
$.paths
error
epa-paths-no-query-string
Paths must not embed query strings.
$.paths
error
epa-operation-summary-required
Every operation must have a summary.
$.paths[*][get,post,put,delete,patch]
warn
epa-operation-summary-title-case
Operation summaries should be in Title Case.
$.paths[*][get,post,put,delete,patch].summary
error
epa-operation-operationid-required
Every operation must have an operationId.
$.paths[*][get,post,put,delete,patch]
warn
epa-operation-operationid-camel
operationId should be camelCase (start lowercase, no spaces).
$.paths[*][get,post,put,delete,patch].operationId
warn
epa-operation-tags-required
Operations should be tagged.
$.paths[*][get,post,put,delete,patch]
warn
epa-global-tags-defined
Spec should declare a global tags array with descriptions.
$
warn
epa-tag-description-required
Tags should have descriptions.
$.tags[*]
warn
epa-tag-title-case
Tag names should be Title Case.
$.tags[*].name
warn
epa-parameter-description-required
Parameters should be described.
$.paths[*][get,post,put,delete,patch].parameters[*]
error
epa-parameter-no-secrets-in-path
Secrets (key, token, password) should not be in path parameters.
$.paths[*][get,post,put,delete,patch].parameters[?(@.in=='path')].name
error
epa-response-2xx-required
Every operation must define at least one 2xx response.
$.paths[*][get,post,put,delete,patch].responses
error
epa-response-description-required
Every response must have a description.
$.paths[*][get,post,put,delete,patch].responses[*]
info
epa-response-json-content
2xx responses should expose application/json content for parseable APIs.
$.paths[*][get,post,put,delete,patch].responses[?(@property.match(/^2/))].content
warn
epa-schema-type-required
Top-level schemas should declare a type.
$.components.schemas[*]
info
epa-schema-description-required
Top-level schemas should have a description.
$.components.schemas[*]
warn
epa-security-schemes-defined
Specs requiring authentication should define securitySchemes.
$.components
warn
epa-security-scheme-description
Each security scheme should be described.
$.components.securitySchemes[*]
error
epa-get-no-request-body
GET operations must not define a requestBody.
$.paths[*].get
warn
epa-delete-no-request-body
DELETE operations must not define a requestBody.
$.paths[*].delete
info
epa-deprecated-flagged
Deprecated operations must use the deprecated field, not text in description only.
$.paths[*][get,post,put,delete,patch].description