TODO Group · API Governance Rules
TODO Group API Rules
Spectral linting rules defining API design standards and conventions for TODO Group.
29 Rules
error 8
warn 16
info 5
Rule Categories
todo
Rules
error
todo-group-info-title-present
API must have a title in the info object.
$.info
warn
todo-group-info-title-title-case
API title should use Title Case.
$.info.title
error
todo-group-info-description-present
API must have a description in the info object.
$.info
error
todo-group-info-version-present
API must declare a version.
$.info
warn
todo-group-info-contact-present
API info should include contact information.
$.info
error
todo-group-info-license-present
Open source APIs must declare a license.
$.info
warn
todo-group-paths-kebab-case
API paths must use kebab-case for multi-word path segments.
$.paths[*]~
warn
todo-group-paths-no-trailing-slash
API paths must not end with a trailing slash.
$.paths[*]~
info
todo-group-paths-no-versioning-in-path
API versioning should be in the path with a version prefix.
$.paths[*]~
error
todo-group-operation-summary-present
Every operation must have a summary.
$.paths[*][get,post,put,patch,delete,options,head]
warn
todo-group-operation-summary-title-case
Operation summaries should use Title Case.
$.paths[*][get,post,put,patch,delete,options,head].summary
warn
todo-group-operation-description-present
Every operation should have a description.
$.paths[*][get,post,put,patch,delete,options,head]
error
todo-group-operation-id-present
Every operation must have an operationId.
$.paths[*][get,post,put,patch,delete,options,head]
warn
todo-group-operation-id-camel-case
operationId should use camelCase.
$.paths[*][get,post,put,patch,delete,options,head].operationId
warn
todo-group-operation-tags-present
Every operation should have at least one tag.
$.paths[*][get,post,put,patch,delete,options,head]
error
todo-group-response-success-present
Every operation must define a success response.
$.paths[*][get,post,put,patch,delete].responses
warn
todo-group-response-error-present
Operations should define error responses.
$.paths[*][get,post,put,patch,delete].responses
error
todo-group-get-response-200
GET operations must return a 200 success response.
$.paths[*].get.responses
warn
todo-group-post-response-201
POST operations creating resources should return 201.
$.paths[*].post.responses
warn
todo-group-schema-title-present
Schema components should have a title.
$.components.schemas[*]
warn
todo-group-schema-description-present
Schema components should have a description.
$.components.schemas[*]
info
todo-group-schema-properties-described
Schema properties should have descriptions.
$.components.schemas[*].properties[*]
warn
todo-group-schema-type-present
Schema components should declare a type.
$.components.schemas[*]
warn
todo-group-security-schemes-present
API should define security schemes.
$.components
info
todo-group-operation-security-defined
Operations should define security requirements.
$.paths[*][get,post,put,patch,delete]
warn
todo-group-parameter-description-present
All parameters should have descriptions.
$.paths[*][get,post,put,patch,delete].parameters[*]
info
todo-group-parameter-name-camel-case
Parameter names should use camelCase.
$.paths[*][get,post,put,patch,delete].parameters[*].name
info
todo-group-external-docs-present
API should link to external documentation.
$
warn
todo-group-tags-defined
Tags used in operations should be defined at the top level.
$.tags