Toolhouse · API Governance Rules
Toolhouse API Rules
Spectral linting rules defining API design standards and conventions for Toolhouse.
10 Rules
error 3
warn 6
Rule Categories
toolhouse
Rules
warn
toolhouse-operation-summary-title-case
Operation summaries must use Title Case and start with "Toolhouse"
$.paths[*][get,post,put,patch,delete].summary
warn
toolhouse-operation-id-snake-case
OperationIds should be lowercase snake_case
$.paths[*][get,post,put,patch,delete].operationId
error
toolhouse-operation-id-required
All operations must have an operationId
$.paths[*][get,post,put,patch,delete]
error
toolhouse-operation-summary-required
All operations must have a summary
$.paths[*][get,post,put,patch,delete]
error
toolhouse-security-bearer-auth
API uses HTTPBearer authentication - security scheme should be defined
$.components.securitySchemes
hint
toolhouse-me-path-structure
User-scoped paths should follow /me/{resource} pattern
$.paths
warn
toolhouse-uuid-path-param-format
Path parameters ending in _id that use UUID values should have format uuid
$.paths[*][*].parameters[?(@.in=='path')][?(@.name=~/_id$/)]
warn
toolhouse-validation-error-documented
POST/PUT/PATCH operations should document 422 Validation Error response
$.paths[*][post,put,patch].responses
warn
toolhouse-tags-defined
Tags used on operations should be defined at the top level
$
warn
toolhouse-request-body-required
Request bodies should be marked as required for POST/PUT/PATCH
$.paths[*][post,put,patch].requestBody