Cities Database API · API Governance Rules

Cities Database API API Rules

Spectral linting rules defining API design standards and conventions for Cities Database API.

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

Rule Categories

cities

Rules

error
cities-server-https
Cities Database API server URL MUST use HTTPS.
$.servers[*].url
warn
cities-base-url
Cities Database API server SHOULD be airlabs.co/api/v9.
$.servers[*].url
error
cities-operation-id
Operations MUST have an operationId.
$.paths[*][get,post,put,delete,patch]
warn
cities-tag-required
Operations MUST be tagged.
$.paths[*][get,post,put,delete,patch].tags
error
cities-api-key-required
Cities Database API operations MUST require an api_key parameter.
$.paths[*][get,post,put,delete,patch].parameters[?(@.name=='api_key')]

Spectral Ruleset

Raw ↑
extends:
  - spectral:oas
rules:
  cities-server-https:
    description: Cities Database API server URL MUST use HTTPS.
    severity: error
    given: $.servers[*].url
    then:
      function: pattern
      functionOptions:
        match: '^https://'
  cities-base-url:
    description: Cities Database API server SHOULD be airlabs.co/api/v9.
    severity: warn
    given: $.servers[*].url
    then:
      function: pattern
      functionOptions:
        match: '^https://airlabs\.co/api/v9'
  cities-operation-id:
    description: Operations MUST have an operationId.
    severity: error
    given: $.paths[*][get,post,put,delete,patch]
    then:
      field: operationId
      function: truthy
  cities-tag-required:
    description: Operations MUST be tagged.
    severity: warn
    given: $.paths[*][get,post,put,delete,patch].tags
    then:
      function: truthy
  cities-api-key-required:
    description: Cities Database API operations MUST require an api_key parameter.
    severity: error
    given: $.paths[*][get,post,put,delete,patch].parameters[?(@.name=='api_key')]
    then:
      function: truthy