Waxell · API Governance Rules
Waxell API Rules
Spectral linting rules defining API design standards and conventions for Waxell.
14 Rules
error 5
warn 9
Rule Categories
waxell
Rules
warn
waxell-info-title-prefix
All Waxell OpenAPI titles SHOULD start with "Waxell ".
$.info.title
error
waxell-server-https
All Waxell API servers MUST use HTTPS.
$.servers[*].url
warn
waxell-server-tenant-host
Waxell servers SHOULD be a tenant-specific *.waxell.dev host.
$.servers[*].url
error
waxell-base-path
Waxell Observe paths MUST be served under /api/v1/observe/.
$.paths[*]~
error
waxell-operation-id-required
Operations MUST have an operationId.
$.paths[*][get,post,put,delete,patch]
warn
waxell-operation-id-camel-case
operationId SHOULD be camelCase.
$.paths[*][get,post,put,delete,patch].operationId
error
waxell-summary-required
Operations MUST have a summary.
$.paths[*][get,post,put,delete,patch]
warn
waxell-summary-title-case
Operation summaries SHOULD use Title Case.
$.paths[*][get,post,put,delete,patch].summary
warn
waxell-tags-required
Operations MUST be tagged with at least one tag.
$.paths[*][get,post,put,delete,patch].tags
warn
waxell-snake-case-properties
Schema properties SHOULD use snake_case (matches the API payloads).
$.components.schemas[*].properties[*]~
warn
waxell-trailing-slash
Waxell paths use a trailing slash; enforce consistency.
$.paths[*]~
error
waxell-security-required
API MUST declare a security scheme (X-Wax-Key or Bearer).
$.components.securitySchemes
warn
waxell-error-schema-shape
Error responses SHOULD reference an Error schema with `error` and `message` fields.
$.components.schemas.Error.properties
warn
waxell-rate-limit-response
All write operations SHOULD document a 429 response for governance throttling.
$.paths[*][post,put,delete,patch].responses