Elexon · API Governance Rules

Elexon API Rules

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

5 Rules warn 3 info 2
View Rules File View on GitHub

Rule Categories

no property schema

Rules

warn
schema-declares-$schema
Every JSON Schema document should declare its $schema (draft).
$
warn
schema-draft-consistency
$schema should reference the 07 draft (this API's convention).
$.$schema
info
schema-has-title
JSON Schema documents should declare a title.
$
info
property-name-casing
Schema properties should be camelCase (the dominant convention in this API).
$..properties
warn
no-empty-descriptions
Descriptions must not be empty strings.
$..description

Spectral Ruleset

Raw ↑
# authorship: generated by API Evangelist tooling. Stamped 2026-08-18
# on the file's own generator header (roadmap#64). An unmarked file is
# NOT assumed to be ours -- absence of evidence was never stamped.
x-method: generated
# elexon — JSON Schema Spectral ruleset (strengthened)
# Plain Spectral. Rules measured from this provider's own JSON Schema
# conventions by strengthen_jsonschema.py, then self-validated against them.
#
# Provenance:
#   - schema-declares-$schema: 150/150 roots
#   - schema-draft-consistency: 07 @ 100%
#   - schema-has-title: 150/150 roots
#   - property-name-casing: camel @ 73% (n=689)
rules:
  schema-declares-$schema:
    description: Every JSON Schema document should declare its $schema (draft).
    severity: warn
    given: $
    then:
      field: $schema
      function: truthy
  schema-draft-consistency:
    description: $schema should reference the 07 draft (this API's convention).
    severity: warn
    given: $.$schema
    then:
      function: pattern
      functionOptions:
        match: '07'
  schema-has-title:
    description: JSON Schema documents should declare a title.
    severity: info
    given: $
    then:
      field: title
      function: truthy
  property-name-casing:
    description: Schema properties should be camelCase (the dominant convention in this API).
    severity: info
    given: $..properties
    then:
      field: '@key'
      function: casing
      functionOptions:
        type: camel
  no-empty-descriptions:
    description: Descriptions must not be empty strings.
    severity: warn
    given: $..description
    then:
      function: truthy

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/elexon-jsonschema-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 email required.

A second provider on the same verified email joins the account you already have.