Vert.x · API Governance Rules
Vert.x API Rules
Spectral linting rules defining API design standards and conventions for Vert.x.
26 Rules
error 7
warn 15
Rule Categories
get
info
no
operation
parameter
paths
response
schema
security
servers
vertx
Rules
warn
info-title-vertx-prefix
API title must start with "Vert.x" to align with Eclipse Vert.x naming conventions.
$.info.title
error
info-description-required
API info object must have a description explaining the component purpose.
$.info
warn
info-version-semver
API version should follow Semantic Versioning (MAJOR.MINOR.PATCH).
$.info.version
error
servers-https-only
All server URLs must use HTTPS for secure communication.
$.servers[*].url
warn
servers-defined
OpenAPI spec must define at least one server.
$
warn
paths-kebab-case
API paths must use kebab-case for multi-word path segments.
$.paths[*]~
warn
paths-no-trailing-slash
API paths must not have a trailing slash.
$.paths[*]~
error
operation-summary-required
All operations must have a summary.
$.paths[*][get,post,put,patch,delete,head,options]
warn
operation-summary-vertx-prefix
Operation summaries must start with "Vert.x" to indicate the provider.
$.paths[*][get,post,put,patch,delete,head,options].summary
warn
operation-description-required
All operations should have a description.
$.paths[*][get,post,put,patch,delete,head,options]
error
operation-operationid-required
All operations must have an operationId.
$.paths[*][get,post,put,patch,delete,head,options]
warn
operation-operationid-camel-case
Operation IDs should use lowerCamelCase naming convention.
$.paths[*][get,post,put,patch,delete,head,options].operationId
warn
operation-tags-required
All operations must have at least one tag for grouping in documentation.
$.paths[*][get,post,put,patch,delete,head,options]
warn
parameter-description-required
All parameters must have a description.
$..parameters[*]
hint
parameter-name-camel-case
Query and header parameter names should use camelCase.
$.paths[*][get,post,put,patch,delete].parameters[?(@.in == 'query' || @.in == 'header')].name
error
response-success-required
Operations must define at least one 2xx success response.
$.paths[*][get,post,put,patch,delete,head,options].responses
warn
response-error-defined
Operations should define error responses for client errors (4xx).
$.paths[*][get,post,put,patch,delete].responses
error
response-description-required
All response objects must have a description.
$.paths[*][get,post,put,patch,delete,head,options].responses[*]
warn
schema-type-required
All schema objects must define a type.
$.components.schemas[*]
warn
schema-description-required
All schemas in components must have a description.
$.components.schemas[*]
hint
schema-property-description
Schema properties should have descriptions for better developer experience.
$.components.schemas[*].properties[*]
warn
no-empty-descriptions
Descriptions must not be empty strings.
$..description
warn
security-schemes-defined
API must define security schemes if authentication is required.
$.components
error
get-no-request-body
GET operations must not have a request body.
$.paths[*].get
hint
vertx-health-check-status-enum
Health check status fields should use UP or DOWN values.
$.components.schemas[?(@.title =~ /.*[Hh]ealth.*/)]..properties.status
hint
vertx-async-operations-documented
Async operations should document their callback or event bus behavior.
$.paths[*][post,put,patch].responses[202]