openEO · API Governance Rules

openEO API Rules

Spectral linting rules defining API design standards and conventions for openEO.

2 Rules warn 2
Published by openEO Served by the provider at https://github.com/Open-EO/openeo-api/blob/1881dae18b3c2c417f1305774cf295c81d60d400/.spectral.yml; the copy below was fetched from there.
View Rules File View on GitHub

Rule Categories

operation

Rules

warn
operation-summary-formatted
Operation `summary` should start with upper case and not end with a dot.
$.paths.*[?( @property === 'get' || @property === 'put' || @property === 'post' || @property === 'delete' || @property === 'options' || @property === 'head' || @property === 'patch' || @property === 'trace' )]
warn
operation-id-kebab-case
$..operationId

Spectral Ruleset

Raw ↑
# harvested from https://github.com/Open-EO/openeo-api/blob/1881dae18b3c2c417f1305774cf295c81d60d400/.spectral.yml on 2026-10-09 — a Spectral ruleset published in the provider's own GitHub repository (Open-EO/openeo-api); found by GitHub code search, fetched verbatim
x-method: harvested
x-stamped: 2026-10-09
x-source-url: https://github.com/Open-EO/openeo-api/blob/1881dae18b3c2c417f1305774cf295c81d60d400/.spectral.yml
extends: "spectral:oas"
# Work around broken rules: https://github.com/stoplightio/spectral/issues/1972
except:
  "openapi.yaml#/paths/~1udf_runtimes/get/responses/200/content/application~1json/example":
    - oas3-valid-schema-example
rules:
  contact-properties: true
  tag-description: true
  oas3-parameter-description: true
  oas3-unused-component: false # Broken: https://github.com/stoplightio/spectral/issues/1271
  array-items: false
  operation-summary-formatted:
    description: Operation `summary` should start with upper case and not end with a dot.
    given: '$.paths.*[?( @property === ''get'' || @property === ''put'' || @property === ''post'' || @property === ''delete'' || @property === ''options'' || @property === ''head'' || @property === ''patch'' || @property === ''trace'' )]'
    then:
      field: summary
      function: pattern
      functionOptions:
        match: '^[A-Z].*[^\.]$'
    tags:
      - operation
  operation-id-kebab-case:
    given: "$..operationId"
    then:
      function: pattern
      functionOptions:
        match: ^[a-z][a-z0-9\-]*$

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/openeo-openeo-api-spectral-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.