ThingSpeak · API Governance Rules

ThingSpeak API Rules

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

5 Rules error 1 warn 3 info 1
View Rules File View on GitHub

Rule Categories

thingspeak

Rules

warn
thingspeak-operation-summary-required
Every operation MUST have a summary in Title Case.
$.paths[*][get,post,put,delete,patch]
warn
thingspeak-operation-id-required
Every operation MUST have an operationId.
$.paths[*][get,post,put,delete,patch]
info
thingspeak-info-contact
The info block SHOULD reference MathWorks documentation.
$.info
error
thingspeak-server-https
Servers MUST use HTTPS for REST endpoints.
$.servers[*].url
warn
thingspeak-channel-id-integer
channel_id path parameters MUST be typed as integer.
$.paths[?(@property.match(/{channel_id}/))][*].parameters[?(@.name == 'channel_id')].schema

Spectral Ruleset

Raw ↑
extends:
  - spectral:oas
rules:
  thingspeak-operation-summary-required:
    description: Every operation MUST have a summary in Title Case.
    severity: warn
    given: $.paths[*][get,post,put,delete,patch]
    then:
      field: summary
      function: truthy
  thingspeak-operation-id-required:
    description: Every operation MUST have an operationId.
    severity: warn
    given: $.paths[*][get,post,put,delete,patch]
    then:
      field: operationId
      function: truthy
  thingspeak-info-contact:
    description: The info block SHOULD reference MathWorks documentation.
    severity: info
    given: $.info
    then:
      field: contact
      function: truthy
  thingspeak-server-https:
    description: Servers MUST use HTTPS for REST endpoints.
    severity: error
    given: $.servers[*].url
    then:
      function: pattern
      functionOptions:
        match: '^https://'
  thingspeak-channel-id-integer:
    description: channel_id path parameters MUST be typed as integer.
    severity: warn
    given: $.paths[?(@property.match(/{channel_id}/))][*].parameters[?(@.name == 'channel_id')].schema
    then:
      field: type
      function: enumeration
      functionOptions:
        values:
          - integer