Victoria University of Wellington · API Governance Rules
Victoria University of Wellington API Rules
Spectral linting rules defining API design standards and conventions for Victoria University of Wellington.
11 Rules
error 7
warn 4
Rule Categories
vuw
Rules
error
vuw-info-contact-required
Every contract must name a contactable owner at the institution.
$.info
warn
vuw-info-contact-email
The institution's contract must carry an institutional email, not a vendor's.
$.info.contact
error
vuw-server-institution-domain
A contract saved under this institution must be based on a host the institution owns — wgtn.ac.nz, vuw.ac.nz or victoria.ac.nz. This rule is the ruleset's whole reason for existing: the previous profile of this repository was based on api.figshare.com.
$.servers[*]
error
vuw-operator-declared
Every contract must declare who operates the thing it describes.
$
error
vuw-operator-is-institution
Only an institution-operated contract belongs in this repository.
$.x-operator
error
vuw-provenance-method-declared
An unmarked artifact is credited to the institution as if they published it. Every contract must say how it came to exist.
$.info.x-provenance
error
vuw-operation-id-required
Every operation needs a stable operationId.
$.paths[*][get,post,put,patch,delete]
warn
vuw-operation-description-required
Every operation needs a description, not just a summary.
$.paths[*][get,post,put,patch,delete]
warn
vuw-error-response-documented
Every operation must document at least one non-2xx response. The institution's own endpoints return HTML 404s and bare 400s that no published reference describes.
$.paths[*][get,post,put,patch,delete].responses
warn
vuw-json-media-type
A JSON payload should be described under a JSON media type. The global object endpoint serves JSON as text/html; the contract records both, and this rule keeps the JSON one present.
$.paths[*][get].responses['200'].content
error
vuw-tags-declared
Every contract must declare its tags at the root so the refine split is stable.
$
Spectral Ruleset
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.