Flowise · API Governance Rules

Flowise API Rules

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

6 Rules error 1 warn 4 info 1
View Rules File View on GitHub

Rule Categories

flowise

Rules

warn
flowise-info-contact
Flowise OpenAPI must declare a contact email.
$.info
warn
flowise-info-license-apache
Flowise is Apache 2.0 — the spec should reference Apache 2.0.
$.info.license
warn
flowise-bearer-auth
Every Flowise operation (except /ping) must require bearerAuth.
$.paths[?(@property != '/ping')][*].security
error
flowise-operation-id-required
Every Flowise operation must define an operationId.
$.paths[*][*]
warn
flowise-summary-title-case
Operation summaries should start with a capitalised word.
$.paths[*][*].summary
info
flowise-tag-lowercase-kebab
Flowise tags are lowercase, hyphen-separated (matches existing convention).
$.tags[*].name

Spectral Ruleset

Raw ↑
extends:
  - spectral:oas
rules:
  flowise-info-contact:
    description: Flowise OpenAPI must declare a contact email.
    given: "$.info"
    severity: warn
    then:
      field: contact.email
      function: truthy
  flowise-info-license-apache:
    description: Flowise is Apache 2.0 — the spec should reference Apache 2.0.
    given: "$.info.license"
    severity: warn
    then:
      field: name
      function: pattern
      functionOptions:
        match: "Apache"
  flowise-bearer-auth:
    description: Every Flowise operation (except /ping) must require bearerAuth.
    given: "$.paths[?(@property != '/ping')][*].security"
    severity: warn
    then:
      function: truthy
  flowise-operation-id-required:
    description: Every Flowise operation must define an operationId.
    given: "$.paths[*][*]"
    severity: error
    then:
      field: operationId
      function: truthy
  flowise-summary-title-case:
    description: Operation summaries should start with a capitalised word.
    given: "$.paths[*][*].summary"
    severity: warn
    then:
      function: pattern
      functionOptions:
        match: "^[A-Z]"
  flowise-tag-lowercase-kebab:
    description: Flowise tags are lowercase, hyphen-separated (matches existing convention).
    given: "$.tags[*].name"
    severity: info
    then:
      function: pattern
      functionOptions:
        match: "^[a-z0-9]+(-[a-z0-9]+)*$"