University of Leeds · API Governance Rules
University of Leeds API Rules
Spectral linting rules defining API design standards and conventions for University of Leeds.
0 Rules
Spectral Ruleset
rules: '0.1'
provider: university-of-leeds
generated: '2026-08-30'
method: derived
x-operator: institution
source: >-
Consumption rules derived by API Evangelist from behaviour actually observed on 2026-08-30. These
are guidance for a client integrating with these surfaces; they are not published by the
University of Leeds.
rules:
- id: oai-errors-arrive-at-200
applies_to: [ 'archive.researchdata.leeds.ac.uk/cgi/oai2', 'digital.library.leeds.ac.uk/cgi/oai2' ]
severity: high
rule: >-
Never treat HTTP 200 as success on the OAI-PMH endpoints. Parse the response and check for an
<error code="..."> element before consuming the payload. Verified: ?verb=Bogus returns 200
with badVerb.
- id: spacefinder-location-is-a-string
applies_to: [ 'spacefinder.leeds.ac.uk/spaces.json' ]
severity: medium
rule: >-
The `location` field holds a GeoJSON Point encoded as a JSON string, not a nested object.
Deserialise it a second time, or use the separate `lat`/`lng` numeric fields instead.
- id: spacefinder-has-no-version
applies_to: [ 'spacefinder.leeds.ac.uk/spaces.json' ]
severity: medium
rule: >-
There is no version field, no ETag-based contract and no changelog. Pin nothing; validate every
fetch against json-schema/university-of-leeds-spacefinder-space.json and fail loudly on drift.
- id: iiif-is-level-0
applies_to: [ 'floorplans.library.leeds.ac.uk/assets/iiif' ]
severity: medium
rule: >-
Do not construct arbitrary IIIF region/size requests. Only combinations enumerated in the
image's info.json resolve; everything else is a 404.
- id: do-not-use-the-digital-library-iiif-manifest
applies_to: [ 'digital.library.leeds.ac.uk/cgi/iiif/manifest' ]
severity: high
rule: >-
This endpoint returns HTTP 200 with a zero-byte body for every identifier tested. It is a
soft-200 and must not be integrated against.
- id: primo-is-not-a-leeds-contract
applies_to: [ 'leeds.primo.exlibrisgroup.com' ]
severity: high
rule: >-
Library discovery is an Ex Libris tenancy (vid=44LEE_INST). Alma/Primo API keys are issued by
Ex Libris, the contract is Ex Libris', and the terms are Ex Libris'. Do not attribute that
interface to the University of Leeds.
- id: hex-encoded-oai-setspecs
applies_to: [ 'archive.researchdata.leeds.ac.uk/cgi/oai2' ]
severity: low
rule: >-
setSpec values are hex-encoded EPrints field expressions (e.g. 7374617475733D707562 decodes to
status=pub). Discover them with verb=ListSets rather than constructing them.
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for spectral rules
4 MCP tools reach this
find_rulesBrowse and filter every ruleset in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This ruleset
curl "https://apis.io/api/v1/rules/university-of-leeds-rules"
All spectral rules
curl "https://apis.io/api/v1/rules?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.