Politecnico di Milano · API Governance Rules
Politecnico di Milano API Rules
Spectral linting rules defining API design standards and conventions for Politecnico di Milano.
11 Rules
error 8
warn 3
Rule Categories
polimi
Rules
error
polimi-operator-declared
Every contract in this repository must declare who operates the thing it describes. A university is a federation of buyers; without info.x-operator a vendor's contract reads as the institution's.
$.info
error
polimi-operator-institution-only
Only institution-operated contracts belong in this repository's openapi/ directory.
$.info.x-operator
error
polimi-operator-evidence
The operator verdict must name the evidence that produced it.
$.info
error
polimi-provenance-block
An unmarked artifact is credited to the institution as if they published it. Every contract must carry x-provenance with generated, method and source.
$.info.x-provenance
error
polimi-provenance-method-vocabulary
method must come from the controlled vocabulary.
$.info.x-provenance.method
error
polimi-server-on-own-domain
A saved contract's server must sit under polimi.it. A server on a vendor host is the misattribution this repository exists to prevent.
$.servers[*].url
error
polimi-no-relative-servers
A relative or absent server makes the host-based operator check blind — the "hostless" class that let 36 Elsevier Pure contracts pass as one university's own.
$
warn
polimi-operation-described
Every operation needs a summary and a description a reader can act on.
$.paths[*][get,put,post,delete,patch]
error
polimi-operation-id
Every operation needs an operationId.
$.paths[*][get,put,post,delete,patch]
warn
polimi-response-examples
Responses on these surfaces should carry a real captured example — every example in this repository is a live payload in examples/, not an invented one.
$.paths[*][get].responses[*].content[*]
warn
polimi-license-declared
The open data is CC BY 4.0 per the DCAT catalogue; where a licence is known it must be stated.
$.info
Spectral Ruleset
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.