Brown University · API Governance Rules

Brown University API Rules

Spectral linting rules defining API design standards and conventions for Brown University.

0 Rules
View Rules File View on GitHub

Spectral Ruleset

Raw ↑
specification: API Evangelist Lint Report
specificationVersion: '0.1'
provider: Brown University
providerId: brown
generated: '2026-08-30'
method: generated
source: >-
  spectral lint openapi/brown-bdr-api-openapi.yml openapi/brown-bdr-iiif-openapi.yml
  --ruleset rules/brown-bdr-spectral-ruleset.yml, run with @stoplight/spectral-cli 6.16.3 on
  2026-08-30.
x-operator: institution
description: >-
  The ruleset was actually run against both contracts, and this is the result. Recorded because a
  ruleset that has never been executed is a claim, not a control.
result:
  tool: '@stoplight/spectral-cli 6.16.3'
  documents_linted: 2
  errors: 0
  warnings: 5
  infos: 0
  hints: 0
findings:
- code: path-keys-no-trailing-slash
  severity: warning
  count: 5
  paths:
  - /api/
  - /api/search/
  - /api/items/{pid}/
  - /api/collections/
  - /api/collections/{collection_id}/
  disposition: accepted
  rationale: >-
    Spectral's built-in style rule, and the contract is right and the rule is wrong here. Brown's
    endpoints genuinely require the trailing slash — it is a Django URL convention and the paths are
    documented that way in Brown's own wiki. Stripping the slash to satisfy a style rule would make
    the contract describe endpoints that do not exist. Recorded as an accepted deviation rather than
    silenced in the ruleset, so the next reviewer sees the decision instead of a clean report.
custom_rules_passing:
- bdr-operator-declared
- bdr-operator-basis-stated
- bdr-provenance-stamped
- bdr-server-is-brown-owned
- bdr-no-vendor-identity
- bdr-pagination-cap-documented
- bdr-error-responses-declared
- bdr-operation-has-description
- bdr-parameter-has-description
- bdr-observed-divergence-flagged
note: >-
  bdr-no-vendor-identity and bdr-server-is-brown-owned are the two that matter for this cohort. Both
  pass, which is the mechanical statement of the operator finding: nothing in either contract names
  Figshare, Elsevier Pure, Ex Libris, Symplectic, Dataverse, CourseLeaf or Primo, and every server
  URL is under brown.edu.

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.
All 92 tools →

Call it yourself

curl for this page
This ruleset
curl "https://apis.io/api/v1/rules/brown-bdr-lint-report"
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.