TetraScience · API Governance Rules
TetraScience API Rules
Spectral linting rules defining API design standards and conventions for TetraScience.
14 Rules
error 6
warn 6
info 2
Rule Categories
operation
tetra
Rules
error
operation-tag-defined
Every operation must declare at least one tag for navigation
$.paths[*][get,post,put,delete,patch]
error
operation-summary-required
Every operation must have a summary
$.paths[*][get,post,put,delete,patch]
warn
operation-summary-title-case
Operation summaries should start with a capital letter
$.paths[*][get,post,put,delete,patch].summary
warn
operation-description-required
Operations should include a description
$.paths[*][get,post,put,delete,patch]
warn
tetra-path-no-uppercase-segments
Path segments should not be ALL CAPS
$.paths
error
tetra-secure-v1
All /v1 operations must require authentication
$.paths[?(@property.startsWith('/v1'))][get,post,put,delete,patch]
error
tetra-auth-token-defined
The ts-auth-token apiKey security scheme must be defined
$.components.securitySchemes
error
tetra-org-slug-defined
The x-org-slug apiKey security scheme must be defined for tenant routing
$.components.securitySchemes
error
tetra-production-server
The production server URL https://api.tetrascience.com must be listed
$.servers[*].url
warn
tetra-401-response
Authenticated operations should declare a 401 response
$.paths[?(@property.startsWith('/v1'))][get,post,put,delete,patch].responses
info
tetra-429-response
Operations should declare a 429 response for rate-limit handling
$.paths[?(@property.startsWith('/v1'))][get,post,put,delete,patch].responses
warn
tetra-tag-title-case
Tag names should be Title Case (e.g. "Pipelines", not "pipelines")
$.tags[*].name
warn
tetra-path-param-camelcase
Path parameter names should be camelCase
$.paths[*][get,post,put,delete,patch].parameters[?(@.in == 'path')].name
info
tetra-schema-description
Component schemas should include a description
$.components.schemas[*]