Lakera · API Governance Rules

Lakera API Rules

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

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

Rule Categories

lakera operation

Rules

warn
operation-summary-title-case
Operation summaries should be in Title Case.
$.paths.*[get,post,put,delete,patch]
error
operation-must-have-tags
Every operation must have at least one tag (Guard, Results, Policies, Projects).
$.paths.*[get,post,put,delete,patch]
warn
operation-must-have-description
Every operation must include a description that explains intent and detector behavior.
$.paths.*[get,post,put,delete,patch]
error
lakera-server-must-use-versioned-base
Lakera servers must use a /v2 versioned base path.
$.servers[*].url
error
lakera-security-bearer-required
Lakera APIs must use Bearer token authentication.
$.components.securitySchemes

Spectral Ruleset

Raw ↑
extends:
  - spectral:oas
rules:
  operation-summary-title-case:
    description: Operation summaries should be in Title Case.
    severity: warn
    given: "$.paths.*[get,post,put,delete,patch]"
    then:
      field: summary
      function: pattern
      functionOptions:
        match: "^([A-Z][a-zA-Z0-9]*)(\\s+[A-Z][a-zA-Z0-9]*)*$"
  operation-must-have-tags:
    description: Every operation must have at least one tag (Guard, Results, Policies, Projects).
    severity: error
    given: "$.paths.*[get,post,put,delete,patch]"
    then:
      field: tags
      function: truthy
  operation-must-have-description:
    description: Every operation must include a description that explains intent and detector behavior.
    severity: warn
    given: "$.paths.*[get,post,put,delete,patch]"
    then:
      field: description
      function: truthy
  lakera-server-must-use-versioned-base:
    description: Lakera servers must use a /v2 versioned base path.
    severity: error
    given: "$.servers[*].url"
    then:
      function: pattern
      functionOptions:
        match: "/v[0-9]+$"
  lakera-security-bearer-required:
    description: Lakera APIs must use Bearer token authentication.
    severity: error
    given: "$.components.securitySchemes"
    then:
      field: BearerAuth
      function: truthy