Quote Garden · API Governance Rules
Quote Garden API Rules
Spectral linting rules defining API design standards and conventions for Quote Garden.
9 Rules
error 3
warn 5
info 1
Rule Categories
quote
Rules
error
quote-garden-operation-id-camelcase
Operation IDs must be lowerCamelCase, mirroring Quote Garden's controller exports (e.g., getRandomQuotes, getAllQuotes, getAllAuthors).
$.paths.*[get,post,put,patch,delete].operationId
warn
quote-garden-operation-summary-title-case
Every operation summary in the Quote Garden API must use Title Case.
$.paths.*[get,post,put,patch,delete].summary
error
quote-garden-tag-known-values
Operations must be tagged with one of the three canonical Quote Garden resource tags.
$.paths.*[get,post,put,patch,delete].tags[*]
warn
quote-garden-response-envelope-required
Every 200 application/json response must reference one of the Quote Garden envelope schemas (QuotesResponse, StringListResponse, ResponseEnvelope).
$.paths.*[get].responses.200.content['application/json'].schema
warn
quote-garden-base-path-versioned
All servers must be versioned under /api/v3 — older versions are deprecated.
$.servers[*].url
error
quote-garden-no-write-methods
Quote Garden is a read-only API; only GET operations are permitted.
$.paths.*
info
quote-garden-pagination-parameters
List endpoints that support pagination should expose `page` and `limit` query parameters.
$.paths[/quotes,/authors,/genres].get.parameters
warn
quote-garden-license-mit
The OpenAPI info.license should be MIT, matching the upstream project.
$.info.license.name
warn
quote-garden-contact-required
info.contact must point back to the canonical GitHub project.
$.info.contact