Wolfram|Alpha · API Governance Rules
Wolfram|Alpha API Rules
Spectral linting rules defining API design standards and conventions for Wolfram|Alpha.
26 Rules
error 10
warn 11
info 5
Rule Categories
delete
get
info
microcks
openapi
operation
parameter
paths
response
security
servers
tag
Rules
error
info-title-required
API title must be present and start with "Wolfram|Alpha".
$.info
error
info-description-required
API description must be present and at least 50 characters.
$.info
error
info-version-required
API version must be specified.
$.info
warn
info-contact-required
Contact information must be present.
$.info
warn
openapi-version
OpenAPI version must be 3.1.0.
$
error
servers-required
At least one server must be defined.
$
error
servers-https
All server URLs must use HTTPS.
$.servers[*]
warn
paths-no-trailing-slash
Paths must not have trailing slashes.
$.paths[*]~
error
paths-query-params-not-in-path
Query parameters must not be embedded in path strings.
$.paths[*]~
error
operation-operationid-required
Every operation must have an operationId.
$.paths[*][get,post,put,patch,delete,head,options]
warn
operation-operationid-camelcase
operationId must use camelCase.
$.paths[*][get,post,put,patch,delete,head,options].operationId
error
operation-summary-required
Every operation must have a summary.
$.paths[*][get,post,put,patch,delete,head,options]
warn
operation-summary-wolfram-prefix
Operation summaries must start with "Wolfram|Alpha ".
$.paths[*][get,post,put,patch,delete,head,options].summary
warn
operation-description-required
Every operation must have a description.
$.paths[*][get,post,put,patch,delete,head,options]
warn
operation-tags-required
Every operation must have at least one tag.
$.paths[*][get,post,put,patch,delete,head,options]
warn
parameter-description-required
All parameters must have descriptions.
$.paths[*][get,post,put,patch,delete][*].parameters[*]
info
parameter-appid-required-description
The appid parameter description must mention Wolfram|Alpha AppID.
$.paths[*][get].parameters[?(@.name == 'appid')]
error
response-success-required
Operations must define at least a 200 success response.
$.paths[*][get,post,put,patch,delete].responses
info
response-error-400-defined
Operations should define a 400 error response.
$.paths[*][get,post].responses
info
response-error-403-defined
Operations should define a 403 error response for auth-protected APIs.
$.paths[*][get,post].responses
warn
tag-description-required
Global tags must have descriptions.
$.tags[*]
warn
security-schemes-defined
Security schemes must be defined in components.
$.components.securitySchemes
error
get-no-request-body
GET operations must not have request bodies.
$.paths[*].get
warn
delete-no-request-body
DELETE operations should not have request bodies.
$.paths[*].delete
info
operation-examples-encouraged
Operations should provide examples for documentation and mocking.
$.paths[*][get,post,put,patch,delete].responses[*].content[*]
info
microcks-operation-extension
Operations should include x-microcks-operation for mock server compatibility.
$.paths[*][get,post,put,patch,delete]