Arlula · API Governance Rules

Arlula API Rules

Spectral linting rules defining API design standards and conventions for Arlula.

30 Rules error 14 warn 14 info 2
View Rules File View on GitHub

Rule Categories

arlula

Rules

error
arlula-info-title
API must have a title.
$.info
warn
arlula-info-description
API must have a description.
$.info
error
arlula-info-version
API must have a version.
$.info
warn
arlula-info-contact
API should have contact information.
$.info
error
arlula-openapi-version
Must use OpenAPI 3.0.x.
$
error
arlula-servers-present
API must have servers defined.
$
error
arlula-servers-https
All server URLs must use HTTPS.
$.servers[*]
error
arlula-paths-present
API must have paths defined.
$
warn
arlula-path-kebab-case
Path segments should use kebab-case or camelCase consistently.
$.paths[*]~
error
arlula-operation-summary
Every operation must have a summary.
$.paths[*][get,post,put,patch,delete,options,head]
warn
arlula-operation-description
Every operation should have a description.
$.paths[*][get,post,put,patch,delete,options,head]
error
arlula-operation-tags
Every operation must have tags.
$.paths[*][get,post,put,patch,delete,options,head]
error
arlula-operation-id
Every operation must have an operationId.
$.paths[*][get,post,put,patch,delete,options,head]
warn
arlula-parameter-description
Parameters should have descriptions.
$.paths[*][get,post,put,patch,delete][parameters][*]
error
arlula-parameter-schema
Parameters must have a schema.
$.paths[*][get,post,put,patch,delete][parameters][*]
error
arlula-request-body-content
Request bodies must have content defined.
$.paths[*][post,put,patch].requestBody
warn
arlula-request-body-json
POST/PUT/PATCH operations should accept application/json.
$.paths[*][post,put,patch].requestBody.content
warn
arlula-response-200
GET operations should define a 200 response.
$.paths[*].get.responses
error
arlula-response-description
Responses must have descriptions.
$.paths[*][get,post,put,patch,delete].responses[*]
warn
arlula-response-401
Operations should document 401 Unauthorized responses.
$.paths[*][get,post,put,patch,delete].responses
warn
arlula-response-500
Operations should document 500 error responses.
$.paths[*][get,post,put,patch,delete].responses
warn
arlula-schema-title
Schemas in components should have titles.
$.components.schemas[*]
warn
arlula-schema-description
Schemas should have descriptions.
$.components.schemas[*]
warn
arlula-property-description
Schema properties should have descriptions.
$.components.schemas[*].properties[*]
info
arlula-property-example
Schema properties should have examples.
$.components.schemas[*].properties[*]
error
arlula-security-defined
API must define security schemes.
$.components
error
arlula-security-basic-auth
Arlula API uses HTTP Basic authentication.
$.components.securitySchemes.BasicAuth
warn
arlula-archive-search-post
Archive search must use POST method.
$.paths['/api/archive/search']
warn
arlula-tasking-search-post
Tasking search must use POST method.
$.paths['/api/tasking/search']
info
arlula-resource-data-binary
Resource data download should support binary responses.
$.paths['/api/resource/{resource}/data'].get.responses['200'].content