Vessel · API Governance Rules
Vessel API Rules
Spectral linting rules defining API design standards and conventions for Vessel.
8 Rules
error 4
warn 4
Rule Categories
vessel
Rules
warn
vessel-operation-ids-kebab-case
Operation IDs use kebab-case across every published Vessel definition (list-contacts, batch-read-deals, get-one-session-token).
$.paths[*][get,post,put,patch,delete].operationId
error
vessel-operation-id-required
Every operation must carry an operationId so clients and agents can bind to it.
$.paths[*][get,post,put,patch,delete]
warn
vessel-operation-summary-required
Every operation must carry a human-readable summary.
$.paths[*][get,post,put,patch,delete]
error
vessel-error-responses-declared
Vessel documents 400, 401, 409 and a 5xx class in prose but declares none of them in any contract — all 375 published operations declare only a 200. A client generated from these specs has no error type at all.
$.paths[*][get,post,put,patch,delete].responses
error
vessel-security-scheme-defined
The v2 specs declare a top-level security requirement referencing VesselAPIToken but never define it under components.securitySchemes. Only the two v1 specs define the scheme.
$
warn
vessel-operations-tagged
No published Vessel definition declares tags, so nothing can group these operations by resource. overlays/ adds them without mutating the original.
$.paths[*][get,post,put,patch,delete]
warn
vessel-json-only
Vessel is JSON over HTTPS; no other media type is used.
$.paths[*][get,post,put,patch,delete].responses[*].content
error
vessel-https-servers
All requests to Vessel must be made over https.
$.servers[*].url
Spectral Ruleset
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.