The Philadelphia Inquirer · API Governance Rules

The Philadelphia Inquirer API Rules

Spectral linting rules defining API design standards and conventions for The Philadelphia Inquirer.

The Philadelphia Inquirer API Rules is a Spectral governance ruleset published by The Philadelphia Inquirer on the APIs.io network, containing 4 lint rules.

The ruleset includes 1 error-severity rule and 3 warning-severity rules.

Tagged areas include News, News Media, Newspaper, Journalism, and Philadelphia.

Rulesets can be applied to your own OpenAPI specs via Spectral to enforce the same governance standards.

4 Rules error 1 warn 3
View Rules File View on GitHub

Rule Categories

inquirer

Rules

warn
inquirer-rss-title-case-summaries
Operation summaries should be Title Case.
$.paths[*][get,post,put,patch,delete].summary
error
inquirer-rss-operation-id-camel
operationId should be lowerCamelCase.
$.paths[*][get,post,put,patch,delete].operationId
warn
inquirer-rss-output-type-xml
RSS endpoints must accept outputType=xml.
$.paths[*][get].parameters[?(@.name=='outputType')]
warn
inquirer-rss-tag-required
Operations must carry at least one tag.
$.paths[*][get,post,put,patch,delete].tags

Spectral Ruleset

Raw ↑
extends:
- spectral:oas
rules:
  inquirer-rss-title-case-summaries:
    description: Operation summaries should be Title Case.
    given: $.paths[*][get,post,put,patch,delete].summary
    severity: warn
    then:
      function: pattern
      functionOptions:
        match: "^([A-Z][\\w'-]*)( [A-Z][\\w'-]*)*$"
  inquirer-rss-operation-id-camel:
    description: operationId should be lowerCamelCase.
    given: $.paths[*][get,post,put,patch,delete].operationId
    severity: error
    then:
      function: pattern
      functionOptions:
        match: "^[a-z][a-zA-Z0-9]+$"
  inquirer-rss-output-type-xml:
    description: RSS endpoints must accept outputType=xml.
    given: $.paths[*][get].parameters[?(@.name=='outputType')]
    severity: warn
    then:
      function: truthy
  inquirer-rss-tag-required:
    description: Operations must carry at least one tag.
    given: $.paths[*][get,post,put,patch,delete].tags
    severity: warn
    then:
      function: length
      functionOptions:
        min: 1