Agave · API Governance Rules
Agave API Rules
Spectral linting rules defining API design standards and conventions for Agave.
24 Rules
error 14
warn 10
Rule Categories
get
info
no
openapi
operation
parameter
paths
response
schema
security
servers
Rules
error
info-title-required
API title must be present
$.info
warn
info-title-company-prefix
API title must start with "Agave"
$.info.title
error
info-description-required
API info must have a description
$.info
error
info-version-required
API version must be present
$.info
error
openapi-version-3
OpenAPI version must be 3.x
$
error
servers-defined
Servers must be defined
$
error
servers-https
All server URLs must use HTTPS
$.servers[*].url
warn
servers-description
Server entries should have descriptions
$.servers[*]
warn
paths-kebab-case
Path segments should use kebab-case
$.paths[*]~
error
paths-no-trailing-slash
Paths must not have trailing slashes
$.paths[*]~
error
operation-summary-required
Every operation must have a summary
$.paths[*][get,post,put,patch,delete]
warn
operation-summary-company-prefix
Operation summaries must start with "Agave"
$.paths[*][get,post,put,patch,delete].summary
warn
operation-description-required
Every operation must have a description
$.paths[*][get,post,put,patch,delete]
error
operation-operationid-required
Every operation must have an operationId
$.paths[*][get,post,put,patch,delete]
warn
operation-operationid-camel-case
OperationIds should use camelCase
$.paths[*][get,post,put,patch,delete].operationId
error
operation-tags-required
Every operation must have at least one tag
$.paths[*][get,post,put,patch,delete]
warn
parameter-description-required
All parameters must have descriptions
$.paths[*][get,post,put,patch,delete].parameters[*]
error
response-description-required
All responses must have descriptions
$.paths[*][get,post,put,patch,delete].responses[*]
warn
response-401-defined
Operations using auth should document 401 responses
$.paths[*][get,post,put,patch,delete].responses
warn
schema-description
Top-level schemas should have descriptions
$.components.schemas[*]
warn
schema-type-defined
Schemas should have a type
$.components.schemas[*]
error
security-schemes-defined
Security schemes must be defined
$.components
error
get-no-request-body
GET operations must not have request bodies
$.paths[*].get
error
no-empty-descriptions
Descriptions must not be empty
$..description